我们虚拟注入了30万的数据库用户。在灌入程序中,我用随机数来实现用户ID,用户名,密码的生成。
原来读到伪随机数,总是评价它产生的分布区域并不平均。但是我在使用灌入数据库的时候却意外的发现了一个不明显的数据规律,请看下表(是倒序,下面的是先注入的):
检索 编号: 57
*************************************** 编号: 57 姓名: 2649 电话: 9121 *************************************** *************************************** 编号: 57 姓名: 25398 电话: 25962 *************************************** *************************************** 编号: 57 姓名: 10404 电话: 9647 *************************************** *************************************** 编号: 57 姓名: 10404 电话: 9647 ***************************************
检索 编号: 556
*************************************** 编号: 565 姓名: 30746 电话: 2891 *************************************** *************************************** 编号: 565 姓名: 26027 电话: 13056 *************************************** *************************************** 编号: 565 姓名: 1052 电话: 15377 *************************************** *************************************** 编号: 565 姓名: 1052 电话: 15377 *************************************** *************************************** 编号: 565 姓名: 1052 电话: 15377 *************************************** *************************************** 编号: 565 姓名: 1052 电话: 15377 *************************************** *************************************** 编号: 565 姓名: 1052 电话: 15377 ***************************************
是不是发现了有点不对劲,怎么会有很多ID 姓名,还有电话完全一样的人。开始我也不相信。因为采用的完全是随机数,但是这个问题是很显然的,就是随机数并不随机,而是有一定规律排布的。
当然以上规律并不是每一个数据都会这样,大部分的数据都很正常,只是偶尔会发现有这样的现象 |