因ID字段可控、ID字段自增长导致的安全问题

2019-10-15 约 35 字 预计阅读 1 分钟

声明:本文 【因ID字段可控、ID字段自增长导致的安全问题】 由作者 Alive 于 2019-10-15 09:18:52 首发 先知社区 曾经 浏览数 593 次

感谢 Alive 的辛苦付出!

今天做测试的时候遇到一个添加收获地址的时候发现收货地址的ID参数是可控的。一般叫ID参数的都为自增长的主键。
然后我就把ID参数值设置的特别大。返回结果也提示新增地址成功。(原图丢失了,下图以自己的数据库模仿一下。)


查看插入的数据,id并不是插入的多个99999,而是16777215 ,也就是2的24次方-1,可能是id字段的长度是24,当我们设置的ID参数值超过了16777215,数据库会自动将ID值设置为16777215。也就是能支持的最大的ID值。

然后不指定id参数插入数据的时候,会因为自增长、和超过id最大值时会自动设置为16777215的问题导致id值不唯一,导致插入数据失败。


这样就导致了普通用户再添加收货地址就再也添加不上了。

另外将插入的ID值为16777215的数据删掉之后,还是不能正常添加收获地址的,需要修改一下自增长的起始值才能正常添加。

将值删掉之后,再次添加数据,


添加成功了,但添加的ID参数值是最大的,所以下一次添加时,又会失败

先将最大的ID值数据删除,然后修改一下id的起始值。


alter TABLE qqadmin auto_increment =1;


然后再执行插入语句就正常了,

不知道各位大佬怎么看。

关键词:[‘安全技术’, ‘WEB安全’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now