记录一次由于传入 “null“ 字符串被攻击

背景:
APP首次登录赠送会员,我们是通过设备号来区分的,如果设备号不为空且数据库不存在这个设备号就认为首次登录,然后延期会员时间。

被攻击分析:
分析日志发现,打印出很多设备号为 null 的用户被延期了,因为攻击者传入的设备号为 null 被我们认为了首次登录,我们是通过apache的工具类来判断字符串是否为空的,难道这个工具类有bug,怎么会跳过非空判断呢,百思不得其解,想着想着,是不是攻击者传入了 “null” 字符串导致跳过这个判断的,然后也不对啊,如果 “null” 被存入到数据库了,我们会通过数据库查询是否存在这个设备号的,有的话,也不属于首次登录的啊。然后我们实验了下,存入"null" 字符串后,看看能不能从数据库查询。果然无法查询。

你可能感兴趣的:(其他)