LOB - 1. gate ->gremlin

2018. 7. 5. 18:05WarGame/LOB

첫 LOB문제이다.

처음이라그런지 오랜시간이 걸리기는 했지만, 하면 할수록 더 늘거라 믿는다 ㅎㅎ


먼저 gate/gate로그인을 하고 보면 이렇다.


gremlin.c 파일의 코드를 보면 버퍼가 256개 라고 되어있다.

buffer(256) + sfp(4) 를 덮어주고 + ret(4) 를 변조해주면 된다.


ret(4)를 변조해주는 이유는, 미리 shellcode를 만들어놓고 ret주소를 shell로 향하게끔 해주면 shell을 딸 수 있을 것이다.


shellcode는 구글에 검색해서 굴러다니는거 아무거나 가져와서 했다. 나중에는 직접 만들어보면 더 좋을것이다



이렇게 쉘코드를 등록해준다.(앗..너무작다.ㅠ)



그다음에 할 일은 쉘코드의 메모리 위치를 가져오는 것이다.


vi로 쉘코드 위치를 불러오는 코드를 작성해준다.

gcc -o 실행파일 코드파일 로 컴파일을 해주고




실행!!


이젠 다했네요. 실행파일에 260개 만큼의 값을 덮어주고, 그 뒤에 리턴값을 위의 주소로 주면 될거에요.

주소는 각자 다 다를거에요

그리고 tip! 파일길이에따라서 메모리위치가 조금씩 바뀔 수 있어요



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

LOB - 6.wolfman -> darkelf  (1062) 2018.07.05
LOB - 5.orc -> wolfman  (1069) 2018.07.05
LOB - 4. goblin -> orc  (0) 2018.07.05
LOB - 3. cobolt -> goblin  (0) 2018.07.05
LOB - 2. gremlin -> cobolt  (0) 2018.07.05