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值的安全过滤。。。。。


8827太阳集团(Macau)股份有限公司-Official website



8827太阳集团(Macau)股份有限公司-Official website


1.首先成立好复现所必要的数据库场景:


8827太阳集团(Macau)股份有限公司-Official website


数据库表名test,,,, ,其中有2个字段id、username。。。。。数据库环境设计好之后必要成立对应�??? ??榈氖荼淼牟槲仕祷啊�。。。。如下图:


8827太阳集团(Macau)股份有限公司-Official website


2.启动ThinkPHP服务器打开欢迎页面:


8827太阳集团(Macau)股份有限公司-Official website


3.而后通过机关的PoC来接见http://siteserver/thinkphp/?order[updatexml(1,concat(0x3a,user()),1)]=1,,,, ,出现如下页面即注入成功。。。。。


8827太阳集团(Macau)股份有限公司-Official website



影响领域


国内露出再公网的ThinkPHP数据巨大,,,, ,必要高度器沉。。。。。

8827太阳集团(Macau)股份有限公司-Official website


建复建议


ThinkPHP v3下载补丁�。。。。�

下载地址:https://github.com/top-think/


ThinkPHP v5.1.x下载补丁�。。。。�

下载地址:https://github.com/top-think/framework


参考链接


http://www.thinkphp.cn/
http://galaxylab.org/thinkphp-3-x-5-x-order-by%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E/