R4mbb
LOB - level2 [gremlin -> cobolt] 본문
이 친구도 strcmp에서 취약점이 발생하는 것 같다.
gdb로 까보자.
main+53에 bp를 걸고 "A"를 16개 넣고 스택을 확인해보자.
25byte 쉘코드를 사용하려는데 buffer의 크기는 16byte밖에 되지 않는다.
오버플로우를 한 뒤 ebp~esp 밖에 shellcode를 저장하고, ret에 shellcode가 위치해 있는 주소값을 넣으면 될 것 같다.
해보쟝
먼저, 구해야 하는 것들을 구해보자.
1) buffer 주소
2) ret 주소
3) buffer에서 ret 사이의 거리
4) shellcode를 저장한 위치의 주소
---------------------------------------
1) 0xbffffae8
2) 0xbffffaf8+0x4 = 0xbffffafc
3) 0xbffffafc - 0xbffffae8 = 20
4) shellcode를 ret주소 바로 8byte위에 넣고 ret에 ret+0x8의 주소를 넣을 것이다.
익스를 해보자.
'LOB > WriteUp' 카테고리의 다른 글
LOB - level6 [wolfman -> darkelf] (0) | 2021.05.20 |
---|---|
LOB - level5 [orc -> wolfman] (0) | 2021.05.20 |
LOB - level4 [goblin -> orc] (0) | 2021.05.20 |
LOB - level3 [cobolt -> goblin] (0) | 2021.05.20 |
LOB - level1 [gate -> gremlin] (0) | 2021.05.14 |