公司生产环境【给其他企业做的会员卡礼物卡系统】出现SQL注射
8月19号临下班前发现的洞,发现后10分钟之内补洞 + 测试🙃
直接访问,显示登录页
用户名输入 '
(西文单引号),密码随便输,确认后出现如下画面
[ 顺路一提,这里有个反射型XSS ]
经验就是,一般输入单引号双引号提交后不报错不代表没注射,通用的办法是引入逻辑运算,使得查询条件永远为真
这里用户名输入 ' or (1) -- -
,密码随意,确认后进入功能界面,逻辑上讲这是数据表里面排第一的用户
用户推测不止一个,那就一个一个来
用户名输入' or (1) limit *递增的整数*,1 -- -
, 密码随意,确认后发现登陆到一个权限比较高的用户
测试到此为止,但是对公网开放的系统有着这么大一个洞也是没谁了,话不多说,先修补了。。。
题外话:后来问同事,看了代码,然后需要我添加新的功能,我打算是重构的了,原来的是一个功能一个页面,加新功能就复制粘贴一个文件,修改成含有新功能的文件,然后前面的一堆文件也要一起改。。。。。。这样子看了都觉得难受😖😖