攻防世界PWN新手练习区——cgpwn2

本文介绍了32位程序中通过分析ida发现gets函数无限制输入,计算出偏移值42。接着寻找并利用system函数,由于未找到'/bin/sh'字符串,故构造payload通过fgets将name变量设为'/bin/sh',利用栈溢出和00截断启动shell。最后编写payload成功获取目标权限并读取flag。
摘要由CSDN通过智能技术生成

攻防世界PWN新手练习区——cgpwn2


首先检查文件的有哪些保护

checksec cgpwn2

在这里插入图片描述
32位程序
用IDA反编译文件
在这里插入图片描述
main函数中只有hello函数,点击查看
在这里插入图片描述
整个函数看起来是在进行某种算法,但关键点在于return gets(&s)这里
gets函数是没有任何输入限制的,显然可以利用。
运行程序来计算偏移值
在这里插入图片描述
偏移值为42
接下来就需要寻找可利用函数
在这里插入图片描述plt表中有system函数可以直接调用,system=0x08048420
在字符串界面(shift+F12)寻找有没有类似/bin/sh,$0的字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值