linux bash缓冲大小,任务13:Linux缓冲区溢出-查找坏字符,准备shellcode

注:学习笔记来自安全牛课堂。感谢倪群主,感谢苑老师!

查找坏字符,就是在EAX里面尝试。就是怕shellcode不能正常运行。找坏字符还是那个办法,就是将200多个唯一字符全都写入EAX,看哪个不能显示,被过滤了,那就是坏字符

75a369968416

75a369968416

上面这幅图,在\x97那里的内存地址,可能是之前说的要倒过来的地址,我有点晕了。回头去前面看一下,到底是存入的地址需要倒着写,还是存入的数据要倒着写入。

先看下面的脚本,下面的脚本还没有执行

75a369968416

在脚本运行之前,先进入调试界面

75a369968416

进入调试界面之后,设置一个断点,这样可以看的更加清晰

75a369968416

75a369968416

得记住这个JMP ESP指令的内存地址,就是08134597

75a369968416

75a369968416

75a369968416

而且上面那幅图的左上角也看到了,下面要执行的指令是JMP ESP。

这时候,再按下F8,调试程序就再执行一步,执行了一步之后就会发现下图中已经执行了JMP ESP了

75a369968416

75a369968416

回到kali中,去生成shellcode

75a369968416

75a369968416

这里截图截少了。上面还显示了这是78个字符。为什么要关注这个?因为当时这个寄存器里面是4000多个A,为了不影响效果,不出现意外,还得继续除去这个78个shellcode后,继续填充A,直到满足4000多个A(4000多个是一个准确的字符数量。这个crossfire程序很奇怪,必须要满足一个准确的数值才会溢出,多了不行,少了也不行)

75a369968416

下面就开始进行测试了。先开启服务

75a369968416

然后,再去执行溢出脚本

75a369968416

结果,失败了。。。。

换了一个脚本:

75a369968416

75a369968416

执行上面的脚本之后,发现4444端口打开了,说明成功了。

用nc连接一下,发现成功了。

75a369968416

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值