ThinkPHP order by SQL注入漏洞安全通告
发布时间 2018-08-30漏洞编号和级别
CVE编号:无,危险级别:高危,CVSS分值:官方未评定
影响版本
ThinkPHP 3.2.3、5.1.22及以下版本
漏洞概述
该注入漏洞由于ThinkPHP在处理order by排序时,其处理机制有一定缺陷,针对关联数组的Key值未进行安全过滤,攻击者可利用这一缺陷,对用户系统实施SQL注入攻击。
漏洞验证
ThinkPHP 3.2.3的代码来看,处理数组当$field参数为关联数组(key-value)时,key值拼接到返回值中,SQL语句最终绕过了框架安全过滤得以执行。而补丁中增加了在order解析时对key值的安全过滤。
2.启动ThinkPHP服务器打开欢迎页面:
3.然后通过构造的PoC来访问http://siteserver/thinkphp/?order[updatexml(1,concat(0x3a,user()),1)]=1,出现如下页面即注入成功。
影响范围
修复建议
下载地址:https://github.com/top-think/
下载地址:https://github.com/top-think/framework
参考链接
http://galaxylab.org/thinkphp-3-x-5-x-order-by%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E/


京公网安备11010802024551号