【攻防世界pwn-cgpwn2】

本文介绍了CTF挑战攻防世界中的pwn-cgpwn2问题,通过ida分析源码,揭示了一个栈溢出漏洞。利用fgets和gets函数的组合,找到了溢出点,并设计了栈结构来覆盖ebp,进一步通过system函数执行/bin/sh,实现漏洞利用。攻击过程包括填充特定长度的数据和手动构造输入来触发系统命令执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载文件后,首先检查保护:

随后将文件拖入ida,查看源码,在hello函数中,发现了如下代码

首先用安全的fgets输入了一个变量,接着用不安全的gets接收了一个变量,在此处可以确认是栈溢出,且溢出点就在此处。

开始寻找利用方式,s到ebp的距离是0x26,所以需要填充0x26的垃圾数据到ebp,接着再填充0x4的垃圾数据(覆盖ebp)。

 

发现了system函数

还缺一个"/bin/sh"字符串,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值