帝国CMS插件变量传递竟然没转换类型导致的帝国CMS安全注入漏洞
858 人阅读 | 时间:2020年01月29日 10:18
阿里云服务器 | 腾讯云服务器 | VPS2EZ:老牌低调VPS | ZJI:香港日本美国独服 |
LOCVPS服务周到 | HostKvm低调KVM VPS | 傲游主机:优质VPS | 80VPS:老牌VPS主机 |
搬瓦工:CN2 GIA线路 | CloudCone:性价比高 | JustMySocks科学上网 | RackNerd:超级便宜 |
JustMySocks科学上网 | 好用的宝塔面板 | 购买搬瓦工VPS | 恒创:香港CN2服务器 |
一天,客户联系我说某扫描组织对网站进行安全评估扫描后报告高危漏洞了,请求帮助!截图如下:
要来客户网站信息,进行排查。发现是我以前给写过的一个插件。代码结构不复杂。打开插件PHP截图如下:
注意红色箭头,发现啥了?这个变量传递,我竟然没转换类型,没过滤?当时一定是大意或者脑残了。。。
好吧修复如下:
也就是强制把ID转换为数字型,这样就可以仿制SQL注入语句的执行提交了!
其实程序老手会说我这种错误很低级,是的,确实很低级。这次确实也是大意了,发布这个文章目的,只是记录反省这个事件,给新手一些参考,毕竟这些小细节很容易被忽略。也希望程序猿们规范书写各个变量传递前的过滤。这个注入漏洞真的很吓人!
评论专区