코드를 보면 버퍼의 크기가 작아졌다. 따라서 25바이트 쉘코드를 그대로 때려넣는 방법은 사용하지 못한다.

그래서 이런 문제들은 환경변수를 사용해 쉘코드의 주소를 가지고 풀이를 할 것이다.

gdb로 까보아도, 16바이트를 주고 있다. 따라서 dummy는 없다는 것을 알 수있다.

| buffer(16) | sfp(4) | ret(4) |

이러한 스택 구조를 띄고 있다.

총 20바이트와 4바이트의 주소값을 넣어주면 bof가 일어난다.

먼저 환경변수부터 만들어 준다.

그 후 SHELLCODE의 주소 알아낸다

SHELLCODE의 주소는 0xbffff32b 이므로

리틀엔디언 방식으로 바꾸어 \x2b\xf3\xff\xbf 로 만들 수 있다.

그냥 buffer부터 ret까지 24바이트를 전부 주소를 넣기로 했다. 다른 것을 넣어 20바이트를 채워주고 ret에 쉘코드의 주소값만 들어가면 무엇이 들어가도 무방하다.

Flag : hacking exposed

'IT > LOB' 카테고리의 다른 글

[LOB] wolfman  (0) 2016.07.17
[LOB] orc  (0) 2016.07.17
[LOB] goblin  (0) 2016.07.17
[LOB] cobolt  (0) 2016.07.12
[LOB] gate  (0) 2016.07.11

+ Recent posts