葡京游戏平台

安全事件
当前位置: 葡京游戏 >> 信息安全 >> 安全事件 >> 正文
ThinkPHP漏洞
发布时间:2018年10月09日 10:03  点击:[]

首先,事件背景

ThinkPHP是一个免费的,开源的,快速简单的面向对象的轻量级PHP开发框架,用于敏捷Web应用程序开发和简化的企业应用程序开发。自成立以来,ThinkPHP一直秉承简约和实用的原则,同时保持卓越的性能和简单的代码,同时也注重易用性。 ThinkPHP可以支持服务器环境,例如windows/Unix/Linux。官方版本需要PHP5.0及以上版本支持,并支持MySql,PgSQL,Sqlite数据库和PDO扩展。

最近,ThinkPHP执行了一个安全更新,修复了由于select(),find()和delete()方法而导致ThinkPHP可能生成的多个SQL注入陷阱。

二,漏洞复发

设置具有漏洞的ThinkPHP版本。

A981C8FD789C001FE0C0DD8A3E7_AE558CE3_2333.jpg

提出恶意请求并访问:

193B05F9F24CBBC5ED037A6F2ED_27CA355C_717B.jpg

成功执行恶意SQL语句。

三,漏洞分析和危害

1)  漏洞分析

该漏洞出现在ThinkPHP/Library/Think/Model.class.html文件中。处理传入的$ options参数时,文件中的delete,find和select函数无法正确过滤参数,$ options参数是可控的。从而导致$ options参数通过_parseOptions函数执行恶意SQL查询。

A412E4018901116C48911135428_B0F88996_6380.jpg

046C8BF540462B54A0487A7CBF0_AE3A7B8B_5EAE.jpg

4D0BEA86272042B5088E491FF5F_C9BFA0AE_6A1E.jpg

上述函数接受$ options函数后,将作出相关判断。如果$ options是数字或字符串,则当前表的主键将直接用作查询字段。该函数还提供复合主键的查询。如果$ options和$ pk都是数组,也就是说,当有多个主键时,可以绕过判断并由_parseOptions函数直接解析。

96BEBBB481DD580E13E015BF57C_1613DF98_6D2B.jpg

在_parseOptions函数中,您可以看到$ options的解析未被过滤:

FD8B1677BA70AAB24DE17E5D8C9_45D7A4C5_8B63.jpg

解析$ options后,将其传递给select方法。在方法结束时,调用parseSql方法来替换和解析$ options的值。在使用parseTable解析$ options ['table']的情况下,您可以看到如果输入不是数组,它将被解析而不进行任何过滤并返回以引入查询:

A4CEFE9A82D1DB452DD8C54B699_BDA6454A_4021.jpg

因此,只要构造满足上述条件的请求,就可以执行恶意sql语句。

2)  漏洞危害

1.数据库信息泄露:披露存储在数据库中的用户的隐私信息。

2.网页篡改:通过操纵数据库篡改特定页面。

3.网站被挂起并传播恶意软件:修改数据库中某些字段的值,嵌入网络马的链接,并攻击马。

4.数据库被恶意操纵:数据库服务器受到攻击,数据库的系统管理员帐户被篡改。

5.远程控制服务器并安装后门。数据库服务器提供的操作系统支持允许黑客修改或控制操作系统。

6.销毁硬盘数据并粉碎整个系统。

四,数据分析

国内分布

在中国使用ThinkPHP的主机数量约为51,000台。其中,前五个省或地区是:浙江,广东,北京,香港特别行政区,山东省。

下图显示了使用ThinkPHP在中国的主机分布:

55AC3732161BCA4D8D452764F4A_E2EA8934_29240.png

图1,国内分布图

下图显示了使用ThinkPHP主机数量的中国十大省份或地区:

B5B3A782332C0C047309F042CDB_5189B82A_5331.png

图2,全国前十名

下图显示了使用ThinkPHP的主机的国内运营商排名:

8C6F178F7B7E6C1380CF93C3AB4_31BB6589_461A.png

图3.国内十大运营商

五,预防建议

1)  漏洞影响版本

ThinkPHP版本在3.2之前

2)  修复建议

从外部传入的$ options不再被解析,因此无法控制$ options ['xxx']。

上一条:thinkphp远程代码执行漏洞 下一条:TP-LINK认证绕过漏洞

关闭

办公地点:图书馆204、207;办公时间:周一至周五 8:00-11:30 14:30-17:30;
*办理个人业务请携带本人身份证件
0535-6903622(内线63622)网络故障
0535-6903644(内线63644)信息服务
0535-6885632(内线65632)一卡通
办公电话:
版权所有 山东葡京游戏平台工商学院 葡京游戏平台