bof 문제이다!
bof 원정대의 실력을 꺼낼때가 됬다!

귀여운 너구리 클릭


(bof 문제)


문제화면이다.


(문제 화면)



remote bof? 
nc 로 접속하여 풀게 되어있다.
일단 취약한 프로그램을 한번 확인해보자.

소스 확인!


(소스코드)



소스코드를 보니 func 함수의 인자를 덮어 쓰면 될것 같다.

메모리에서 한번더 확인해보기 위하여 gdb에서 확인!



(메모리 상태)



입력으로 A를 여러개 주었을 때이다.
보면 위에 414141~~ 이 보이고 아래에 func 인자로 넘겨진 deadbeef가 보인다.
여기까지 덮어쓰면 되므로 일단 A 52개를 넣어보자!



(A 52개)


A 52개를 넣으니 딱 deadbeef 전까지 A가 채워졌다. 마지막은 Null 때문에 00이 덮여저있다.
여기에 이제 원하는 코드 를 넣으면 되니 이제 연결을 해보자!



(nc 연결)


전 문제 풀던 쉘에서 localhost로 바로 연결했다.

음! 이걸로 되겠군!

이제 표준입력으로 넘겨서 nc 로컬 연결할 것이다.



(공격!)


계획한대로 A 52개와 0xcafebabe 를 넣어준다. (엔디안 고려해서 뒤집어서 넣어준다.)



(성공!)



bof의 uid를 얻은 쉘을 획득했다.!




(문제 해결!)

'WarGame > 500 Project' 카테고리의 다른 글

(47/500) - pwnable.kr - passcode  (0) 2017.07.06
(46/500) - pwnable.kr - flag  (0) 2017.07.05
(44/500) - pwnable.kr - collision  (0) 2017.07.05
(43/500) - pwnable.kr - fd  (0) 2017.07.05
(42/500) - Lena's Tutorial 01  (0) 2017.07.05

+ Recent posts