jarvisoj pwn的level4乍一看是一道常规的ROP,可以ret2libc
但是遇到一个问题
自己写的脚本本地能跑通,远程跑不通
可以看到本地是能拿到shell的
在网上搜了其他人的wp,全都是用DynELF做的,对比发现是LibcSearcher和DynELF搜到的libc版本不同导致远程跑不通。
远程用DynELF找到的libc版本
远程LibcSearcher的结果
本地DynELF
本地LibcSearcher
可以看到在本地两种方法搜到的版本都是2.23,但是在远程搜到的版本是不同的。
至于解决方法暂时没有,可能还是我exp写得有问题,但我现在有点看不出来)
最后附上自己写的exp和网上找到的DynELF版本的exp
自己写的exp
from pwn import *
from LibcSearcher import *
#context