반응형 pwnable.kr18 pwnable.kr [Toddler's Bottle]->[codemap] [codemap] 하....망할 엣지... 엣지의 용량 (buffer 오류)로 몇시간동안이나 삽질했네요...... 힌트로 준 0x403E65에 BP를 걸고 local win 32 debuger로 돌린후 일시정지하고 코드맵을 킨 후, 프로그램을 모두 동작시켜 주면 DB에 BP를 기준으로 자원들이 저장됩니다. 그리고 쿼리를 날려서 읽어오면 되요!! 2번째로 큰 chunk를 보면 roKB~~~가 있고 3번째로 큰 chunk를 보면 2ckbn~~~이 들어있습니다. 순서대로 입력해주면 클리어!!!! 2021. 8. 11. pwnable.kr [Toddler's Bottle]->[coin] [coin] 랜덤으로 N과 C가 주어지면 N의 수안에서 counerfeit coin을 찾는 거네요. 30초 안에 찾아야하는데 찾아야하는데 스크립트를 짜는게 나을 듯합니다. (nc 0 9007로 내부에서 연결해도 된다네요!) 입력값에 대한 retun을 체크하여 (9인것만) 추가시켜주면 됩니다. 소켓 하나 짜줍니다. 코드 참고 - http://pastie.org/pastes/10861294/text 2021. 8. 11. pwnable.kr [Toddler's Bottle]->[cmd2] [cmd2] /만 쓸수 있으면 푸는데 /를 못쓴답니다. 삽질을 한 결과, echo는 내부적으로 \57이 “/“로 변환된다는걸 알게 되었습니다. $(echo “\57”)bin$(echo “\57”)cat flag 를 하면 되겠네요 flag는 그냥 환경변수로 등록해주면 되겠습니다. 2021. 8. 11. pwnable.kr [Toddler's Bottle]->[uaf] [uaf] 첫번째 분기분에 break를 걸고 쭉보면 0x0401570에 0x040117a가 있고 0x040117a는 give_shell() 함수입니다. 그리고 rdx=rax+8하고 함수를 호출하네요 그렇다면 rax = 0x041578을 호출하는 것입니다.!! 소스 코드에 2번 분기문을 활용하여 값을 넣으면됩니다. gdb로 분석하면 값이 제가 할당한 만큼 메모리에 할당됩니다. 2021. 8. 11. pwnable.kr [Toddler's Bottle]->[cmd1] [cmd1] 우선 putenv로 외부에서 환경변수 값을 변경할 수 없게 되어있다. 하지만 절대경로를 사용하면 될듯하다. 또한 필터링을 통해 argv[1]을 체크한다. 그렇다면 cat flag 를 절대경로로 환경변수에 올려서 환경변수자체를 인자로 주면 될듯하다. 2021. 8. 11. pwnable.kr [Toddler's Bottle]->[lotto] [lotto] coin에서 확인해야할 부분은 char형 으로 입력값을 받고 submit도 char형 배열입니다. 또한 lotto[i]==submit[j] 입니다. submit[i]가 아닙니다. 입력한 값이 동일한 값으로 6개가 들어간다면 하나만 동일한 값이 있어도 매칭이 됩니다. 하지만 여기서 char형 이므로 10진수를 바꾼 값을 넣어야한다 33~45일 것입니다. 몇번 반복하니 플래그가 나타납니다. 2021. 8. 11. 이전 1 2 3 다음 반응형