记录一次因“大意书写”而导致的“[高危]SQL注入漏洞(盲注)”

一天,客户联系我说某扫描组织对齐网站进行安全评估扫描后报告高危漏洞了,请求帮助!截图如下:

1.jpg

要来客户网站信息,进行排查。发现是我以前给写过的一个插件。代码结构不复杂。打开插件PHP截图如下:

1.jpg

注意红色箭头,发现啥了?这个变量传递,我竟然没转换类型,没过滤?当时一定是大意或者脑残了。。。

好吧修复如下:

1.jpg

也就是强制把ID转换为数字型,这样就可以仿制SQL注入语句的执行提交了!

其实程序老手会说我这种错误很低级,是的,确实很低级。这次确实也是大意了,发布这个文章目的,只是记录反省这个事件,给新手一些参考,毕竟这些小细节很容易被忽略。也希望程序猿们规范书写各个变量传递前的过滤。这个注入漏洞真的很吓人!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注