首页
社区
课程
招聘
[分享]Exploit利器-welpwn
发表于: 2020-5-1 21:48 10736

[分享]Exploit利器-welpwn

2020-5-1 21:48
10736

welpwn是国防科技大学弄的一个项目,对pwntools进行了一些封装,可以节省很多的时间.包括加载指定版本的libc,自动获取魔数,调试增强等功能,这里简单记录一下用法,帮助更多和我一样的新手学习,更详细的内容请参见项目地址.

项目地址:https://github.com/matrix1001/welpwn

welpwn使用ctx来管理二进制文件,libc文件,gdb等.

对于一次攻击而言前提就是与目标服务器或者程序进行交互,这里就可以使用ctx.start()产生一个远程的socket然后就可以读写了

同样的,我们也可以打开一个本地程序并进行交互

ctx同样可以用于gdb,类似于pwntools的gdb.debug,可以很轻松的断在程序入口

ctx.remote_libc用来指定题目需要加载的libc文件,这样就可以在本地调用其他版本的libc.so文件了.指定了libc文件之后还需要将ctx.debug_remote_libc设置为True:

哦对,这有一个很重要的点,题目和libc.so文件所处的路径绝对不能有中文,不然的话会报错,提示ld.so版本有问题.

ctx.custom_lib_dir也是用来指定库文件的,不过经常用来加载其他的库文件,只需要指出路径就可以了

one_gadget也被封装了

还支持libc-database的查找,但是我感觉不如LibcSearcher好用,这里推荐用LibcSearcher替代.

项目地址:https://github.com/lieanu/LibcSearcher

使用下面的命令可以生成一个exp模板:

模板如下:

这个见仁见智吧,毕竟每个人的编码习惯不一样,因为我一直在用pwntools自带的模板,所以这个我也用不习惯233

blog:https://0x2l.github.io/

 
 
git clone https://github.com/matrix1001/welpwn
cd welpwn
sudo python setup.py install
In [1]: from PwnContext import *

In [2]: ctx.remote = ('chall.pwnable.tw', 10205)

In [3]: ctx.start('remote')
[x] Opening connection to chall.pwnable.tw on port 10205
[x] Opening connection to chall.pwnable.tw on port 10205: Trying 139.162.123.119
[+] Opening connection to chall.pwnable.tw on port 10205: Done
Out[3]: <pwnlib.tubes.remote.remote at 0x7f97b158da10>

In [4]: print (ctx.recv())
>>

In [5]: ctx.sendline('test')

In [6]: print (ctx.recv())
Invalid choice
>>

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-5-1 21:49 被0x2l编辑 ,原因: 修改
收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//