티스토리 뷰

Pwnable/Lob

Lob troll(9)

xxvd 2017. 12. 22. 20:19

    

                              

                            이번엔 조금 특이한 조건이 붙었다. argv[1][46]의 값이 ff이면 안된다는 조건입니다.

                            즉, 우리가 지금까지 변조한 argv[2]의 주소가 0xbfff???? 이었다면 이번엔 0xbf?????? 이어야 한다는 것 입니다.


                             

                             

여기서 스택은 이렇게 구성 될 것 입니다. 

     


여기서 argv[2]에 nop+shellcode를 넣어서 실행 할 것이기 때문에 argv[2]의 주소가 0xbffe????으로 시작하게 만들어 줄 것입니다. 






gdb로 vampire를 디버깅 해 보았습니다.








strcpy 함수 실행 직후인 main+137에 breakpoint를 걸어주었습니다.








argv[2]에 A를 65536개를 넣어주고 프로그램을 실행했습니다.






메모리를 확인해 보니 이렇게 구성되어있다. 그러면 이제 0xbffe로 시작하는 주소중 하나에 nop과 쉘코드를 넣어주면 될 것입니다.





익스플로잇 했습니다.


'Pwnable > Lob' 카테고리의 다른 글

Lob skeleton(11)  (0) 2018.01.22
Lob vampire(10)  (0) 2017.12.22
Lob orge(8)  (0) 2017.12.22
Lob darkelf(7)  (0) 2017.12.20
Lob wolfman(6)  (0) 2017.12.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함