越权漏洞挖掘新思路

admin 2026-06-10 04:19:32 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了一种通过整数溢出挖掘越权漏洞的新方法。作者在渗透测试商城站点时发现,当常规越权测试无效后,利用int32有符号整数最大值4294967295进行溢出测试,成功获取全站用户数据。文章详细解释了32位有符号整数的溢出原理,并展示了如何将这一技术应用于实际漏洞挖掘。 综合评分: 82 文章分类: WEB安全,渗透测试,漏洞分析,红队,实战经验


cover_image

越权漏洞挖掘新思路

web安全小白 web安全小白

web安全小白

2026年5月12日 12:19 日本

在小说阅读器读本章

去阅读

梦里的一次渗透测试过程中发现,目标是一个商城站点(如有雷同纯属巧合)

登录后可以看见一些自己的个人信息

翻找数据包,发现存在id值传参,此时此时进行越权测试,id=6修改为7 ,null,0 ,-1,置空均无果,sql注入也不存在

就在一筹莫展时,突然想到了溢出相关的知识的

在主流编程语言(如 Java、C、C++、C#)中,**int** 通常为 32 位有符号整数,取值范围是:

-2,147,483,648 到 2,147,483,647

正数最大:2³¹ − 1 = 2,147,483,647 负数最小:−2³¹ = −2,147,483,648

2,147,483,647 × 2 = 4,294,967,294

转换为十六进制:0xFFFFFFFF 0xFFFFFFFE(实际结果是 0xFFFFFFFE,因为只保留低 32 位)

作为有符号 int:0xFFFFFFFE = -2


解释

  1. 数学真值2,147,483,647 × 2 = 4,294,967,294
  2. 超出 int 范围(最大值 2,147,483,647)
  3. 硬件处理:保留低 32 位,即 4,294,967,294 mod 2³² = 4,294,967,294
  4. 但 int 是有符号的4,294,967,294 的二进制是 11111111 11111111 11111111 11111110
  5. 有符号解释:最高位是 1 → 负数,按补码转十进制 = -2

4,294,967,294+1 = 4,294,967,295 ——————- -1


尝试通过溢出,进行测试,没想到

将id值修改为4294967295,最终居然通过溢出的方式实现获取全站用户数据

视频讲解:https://www.bilibili.com/video/BV1MN5K6NE9g


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:web安全小白 web安全小白 web安全小白《越权漏洞挖掘新思路》

越权漏洞挖掘新思路 网络安全文章

越权漏洞挖掘新思路

文章总结: 本文介绍了一种通过整数溢出挖掘越权漏洞的新方法。作者在渗透测试商城站点时发现,当常规越权测试无效后,利用int32有符号整数最大值429496729
评论:0   参与:  0