이 친구도 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

+ Recent posts