티스토리 뷰
이번 문제는 argv를 모두 초기화 해버립니다.
일단 무작정 gdb로 skeleton을 디버깅 해 보았습니다.
leave를 하기 전인 main+368에 breakpoint를 걸어줍니다.
메모리 주소를 보기위해 다음의 payload를 실행합니다.
.
esp부터 100만큼 메모리 주소를 보았다. argv를 다 0으로 초기화 하는데, 여기 0으로 초기화 되지 않은 부분이 아직 남아있습니다.
x/100s 0xbfffffd8로 0xbfffffd8에서 100만큼 문자열로 보았더니 이런 경로가 뜨네요. 그럼 여기에 심볼릭 링크를 걸고, ret을 이곳의 주소로
변조하면 될 것 같습니다.
주소가 0xbffffc3인 이유는 /home/vampire/tmp/skeleton 이 문자의 크기가 26byte이고 심볼릭 링크의 앞에 nop이 조금 있기 때문에 원래의 주소보 다 조금 높은 주소로 공략했습니다.
'Pwnable > Lob' 카테고리의 다른 글
Lob golem(12) (0) | 2018.01.22 |
---|---|
Lob skeleton(11) (0) | 2018.01.22 |
Lob troll(9) (0) | 2017.12.22 |
Lob orge(8) (0) | 2017.12.22 |
Lob darkelf(7) (0) | 2017.12.20 |
댓글