음..문제를 보니 buffer을 지우고, 스택부분도 사용할 수 없게했다. 거기에 ret에 바로 system주소를 걸 수 없어서 코드부분을 이용해야겠다.

일단 코드를 disas 하면

\x80으로 시작하는 것을 알 수 있다. ret를 이용해 ret위치에서 한번더 ret를 하고 그 뒤에 system함수를 놓아 쉘을 따면 될 것 같다.

성공...ㅎ

'war game > LOB' 카테고리의 다른 글

LOB-level17(function calls)  (0) 2019.07.03
LOB-level16(fake ebp)  (0) 2019.07.03
LOB-level14(RTL2, only execve)  (0) 2019.07.02
LOB-level13(RTL1)  (0) 2019.07.02
LOB-level12(sfp)  (0) 2019.07.02

이번 문제는 환경변수도 안되고, 버퍼도 못쓰고, \xbf도 맞춰주면서, 길이까지 맞춰줘야 되는 문제같다.

다행히 ASLR은 안걸려있는거 같고... argv[1]의 주소를 이용해 봐야겠다.

주소 확인해주고

음....실패... nop이 짧아서 그런걸까... argv[2]를 이용해보자

argv인자의 각 주소가 들어있는 주소이다,.

앞부터 argv[0], argv[1], argv[2]

이제 공격 구문을 짜서 넣으면

성공!

'war game > LOB' 카테고리의 다른 글

LOB-level8(check argc)  (0) 2019.06.28
LOB-level7(check argv[0])  (0) 2019.06.28
LOB-level5(egghunter + bufferhunter)  (0) 2019.06.24
LOB-level4(egghunter)  (0) 2019.06.13
LOB-level3(small buffer + stdin)  (0) 2019.06.09

+ Recent posts