LOB - 1. gate ->gremlin
2018. 7. 5. 18:05ㆍWarGame/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 |