首页
社区
课程
招聘
[原创]经典整数溢出漏洞示例 XCTF int_overflow
发表于: 2019-9-4 10:06 7931

[原创]经典整数溢出漏洞示例 XCTF int_overflow

2019-9-4 10:06
7931

整数溢出原理

整数分为有符号和无符号两种类型,有符号数以最高位作为其符号位,即正整数最高位为1,负数为0,无符号数取值范围为非负数,常见各类型占用字节数如下:


也就是说,对于一个2字节的Unsigned short int型变量,它的有效数据长度为两个字节,当它的数据长度超过两个字节时,就溢出,溢出的部分则直接忽略,使用相关变量时,使用的数据仅为最后2个字节,因此就会出现65537等于1的情况,其他类型变量和数值与之类似,


接下来看XCTF攻防世界里面的一道题:int_overflow


32位,No canary found

首先在main函数中,没有任何可疑的


进入login函数:

接受了一个最大长度为0x199的password


进入check_passwd函数:

用一个一字节,8bit的变量存储password的长度,之后存在一个字符串拷贝,拷贝目的地在栈中,长度为14h,及0x14,十进制20,


结合前面溢出原理分析,0x199(十进制409)的长度远大于1字节,即


也就是说,这里存在证书溢出,password字符串的长度可以是3-8个字符,也可以是259-264个字符,接下来查看如何利用此漏洞。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 2
支持
分享
最新回复 (2)
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
感谢分享哦~
2019-9-4 10:18
0
雪    币: 8447
活跃值: (5041)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
3
讲的很清楚
2019-9-14 18:30
0
游客
登录 | 注册 方可回帖
返回
//