PHPYUN很有意思的刷积分和金币漏洞(整形边界和mysql字段混合利用)

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: PHPYUN很有意思的刷积分和金币漏洞(整形边界/mysql字段混合利用),这么辛苦的到了快三点了还在码字,各位审核老大,不来个首页过不去吧 ### 详细说明: 首先普及一个知识: 当然intval()返回的值在一个4字节所能表示的范围之内(-2147483648~2147483647),对于超过这个范围的值将用边界值代替。 下来看看phpyun积分的数据表结构: [<img src="https://images.seebug.org/upload/201507/2416042815c3529d86fc3baa0d1118709da94aea.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/2416042815c3529d86fc3baa0d1118709da94aea.png) double(10,2) 这个的意思是有十位有效数字,保留小数点后两位有效数字,也就是实际上最大也就99999999.99 varchar(10) 就是十位字符串 分析一下: 1. inval正常情况下无法产生一个10位的整数,所以只能靠溢出边界 2. 2147483648 这个东西进入到字段pay里面后,这个值就会变成99999999.99,比原先的整整少了10倍左右 3. -2147483648 这个东西进入到字段integral,这个值由于数据库设计的是字符形式,那么减号正好占据一个位,那么也少了10倍左右,最终变成了-214748364 基础知识就是这些,看代码: 例如: [<img src="https://images.seebug.org/upload/201507/2402392060d25c626cc1125b8c68ce562db2179e.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201507/2402392060d25c626cc1125b8c68ce562db2179e.png) 下来看代码:...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息