Pwnable/Lob

Lob darkelf(7)

xxvd 2017. 12. 20. 20:08

 

                                 이번 문제는 argv[0]의 길이가 77이어야 한다는 조건이 붙었습니다.


                        

                               


                                임시파일은 tmp에서 orge를 "A"*75(A가 75개) 으로 이름을 바꿔주고 실행하여 코어파일을 만들어줍니다.

    *코어파일은 예기치 못한 일이 발생하여 프로그램이 비 정상적으로 종료되었을 때 운영체제가 디스크에 남기는 파일입니다.


          코어파일을 gdb로 디버깅 해봅니다.



메모리를 보니 argv[2]의 시작주소는 0xbffffaf8 입니다.



원본 파일의 이름을 "A"*75로 바꾸어 줍니다.



익스플로잇 하였습니다.

      ret에 넣어주는 argv[2]의 주소를 0xbffffb10, 0xbffffb20등으로 했는데 계속 되지 않아서 삽질을 조금 했습니다.