• 本文作者: 天融信安全应急响应中心
  • |
  • 2018年9月14日
  • |
  • 漏洞应急响应
  • |

天融信关于ThinkPHP 5.1.x SQL注入漏洞预警

一、背景介绍

ThinkPHP 是一个快速、简单的基于 MVC 和面向对象的轻量级 PHP 开发框架,遵循 Apache2 开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重开发体验和易用性,为 WEB 应用和 API 开发提供了强有力的支持。

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解决方案

1.TOP-WAF产品防御规则ID:1040511 SQL注入攻击。

2.TOP-IDP产品的防御规则 ID:25774  ThinkPHP5.1 SQL漏洞攻击 CVE-2018-16385,将在 ips-v2018.09.12版本中发布此规则。

3.升级到ThinkPHP 5.1.24版本。

4.手动修复

根据官方给出的方案进行代码修改。

https://github.com/top-think/framework/commit/f0f9fc71b8b3716bd2abdf9518bcdf1897bb776c

四、天融信技术支持热线

天融信公司后续将积极为用户提供技术支持,进行持续跟踪并及时通报进展。

获取支持联系方式如下:

1.直接拨打400-610-5119电话联系当地技术支持团队获得支持。

2.座机拨打800-810-5119电话获取总部技术支持。

 

Written by 天融信安全应急响应中心