pwnable.tw unexploitable 分析
生活随笔
收集整理的這篇文章主要介紹了
pwnable.tw unexploitable 分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這題是和pwnable.kr差不多的一道題,主要區別在于沒有給syscall。所以需要自己去找。
只有read和sleep兩個函數。
思路一是首先劫持堆棧到bss段,然后調用read函數將sleep的got表中地址改成syscall(直接找到\x0f\x05),將/bin/sh放入bss中,然后設置rax為59調用syscall可以調用execve了,結果這個方法本地打通了遠程打不通,不知道是什么原因。應該是地址不一樣,所以決定先用write泄露一下地址然后再定位syscall。
未完待續
沒有續了,問題出在服務器程序把我的兩次read當成一次了,間隔時間太短,sleep(0.1)掛了,sleep(3)ok
另一種方法是看別人的blog中有提到的,在劫持堆棧到bss段之后,可以先用syscall調用write泄露sleep地址,然后計算出/bin/sh\x00的地址,pop rdi,ret;地址和system地址,rax的值可以通過read函數的返回值來控制,也是一個很可行的思路。
轉載于:https://www.cnblogs.com/61355ing/p/10471488.html
總結
以上是生活随笔為你收集整理的pwnable.tw unexploitable 分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]Google的C++代码规范
- 下一篇: version control(版本控制