一、背景介绍
ThinkPHP是一款高效便捷的PHP框架,采用MVC和面向对象架构,遵循Apache2开源协议。该框架自推出以来,始终坚持简洁务实的理念,在确保卓越性能和精简代码的基础上,也高度关注开发者的使用感受和操作的便捷性,为网络应用和接口开发提供了坚实保障。
1.1漏洞描述
根据安全通报,ThinkPHP 5.1.23以下版本存在SQL注入风险,该风险源于系统在解析order by后面的参数时,未能适当过滤数组key值。只要该参数可被用户控制,并且传入数据为数组格式,就会引发安全问题。
1.2漏洞编号
CVE-2018-16385
1.3漏洞等级
高危
二、漏洞复现
目前我们在5.1.21和5.1.22版本已经成功复现。
稍后我们会针对该漏洞写一个详细的分析文章并发布。
漏洞点
官方在原始程序中,添设了对$key的检验和约束,借此修正了缺陷。
三、修复建议3.1受影响版本
ThinkPHP < 5.1.23
3.2漏洞检测

检查ThinkPhP框架的版本号。
3.3解决方案
TOP-WAF产品防护措施编号1040511,针对的是一种利用数据库查询的恶意行为,具体表现为非法插入或操纵SQL指令,意图破坏系统安全或窃取数据。
TOP-IDP产品的防御规范编号25774,针对ThinkPHP5.1的SQL安全风险CVE-2018-16385,计划在ips-v2018.09.12版本里部署该规范。
3.升级到ThinkPHP 5.1.24版本。
4.手动修复
根据官方给出的方案进行代码修改。
该链接指向一个代码仓库的特定版本记录,版本号为f0f9fc71b8b3716bd2abdf9518bcdf1897bb776c,这是一个公开的代码托管平台上的提交信息,包含了某个项目的历史变更数据,用户可以通过这个链接查看该版本的具体修改内容和技术细节,有助于了解项目的演进过程和代码迭代情况。
四、天融信技术支撑热线
天融信企业将持续致力于服务客户的技术支持工作,不断关注事态发展,并且会及时将相关信息告知相关方。
获取支持联系方式如下:
请致电4006105119,与所在地的技术支持部门取得联系,以便获得帮助。
2.座机拨打800-810-5119电话获取总部技术支撑。