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

[分享]Exploit利器-welpwn

2020-5-1 21:48
11029

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

项目地址:e39K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0j5i4c8J5K9i4R3I4x3o6l9I4i4K6u0r3N6$3g2D9M7s2N6F1

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替代.

项目地址:179K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9K9h3g2S2L8Y4g2Q4x3V1k6x3K9h3u0U0f1$3g2S2M7X3y4Z5k6i4t1`.

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

模板如下:

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

blog:95cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1j5H3P5o6u0D9i4K6u0W2k6$3W2@1K9s2g2T1i4K6u0W2K9h3!0Q4x3V1j5`.

 
 
git clone 4f9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6E0j5i4c8J5K9i4R3I4x3o6l9I4i4K6u0r3N6$3g2D9M7s2N6F1
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
>>

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

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