thinkphp历史漏洞

路由控制類RCE
/think/App.php

if (!preg_match(‘/^[A-Za-z](\w|\.)*$/‘, $controller)) {
throw new HttpException(404, ‘controller not exists:‘ . $controller);
}

變量覆蓋RCE
/think/Request.php

if (in_array($method, [‘GET‘, ‘POST‘, ‘DELETE‘, ‘PUT‘, ‘PATCH‘])) {
$this->method = $method;
$this->{$this->method}($_POST);

SQL:
1.
漏洞影响版本: 5.0.13<=ThinkPHP<=5.0.15 、 5.1.0<=ThinkPHP<=5.1.5 。

$username = request()->get(‘username/a‘);
db(‘users‘)->insert([‘username‘ => $username]);

2.
5.1.6<=ThinkPHP<=5.1.7 (非最新的 5.1.8 版本也可利用)。

$username = request()->get(‘username/a‘);
db(‘users‘)->where([‘id‘ => 1])->update([‘username‘ => $username]);
return ‘Update success‘;

3.
ThinkPHP 中存在的 SQL注入 漏洞( select 方法注入)。ThinkPHP5全版本 。

$username = request()->get(‘username‘);
$result = db(‘users‘)->where(‘username‘,‘exp‘,$username)->select();
return ‘select success

‘;

4.。漏洞影响版本: ThinkPHP=5.0.10 。

漏洞环境

$username = request()->get(‘username/a‘);
$result = db(‘users‘)->where([‘username‘ => $username])->select();
var_dump($result);

5.

漏洞影响版本: 5.1.16<=ThinkPHP5<=5.1.22 。

$orderby = request()->get(‘orderby‘);
$result = db(‘users‘)->where([‘username‘ => ‘mochazz‘])->order($orderby)->find();

6.
漏洞影响版本: 5.0.0<=ThinkPHP<=5.0.21 、 5.1.3<=ThinkPHP5<=5.1.25 。

$options = request()->get(‘options‘);
$result = db(‘users‘)->max($options);
var_dump($result);

文件包含
5.0.0<=ThinkPHP5<=5.0.18 、5.1.0<=ThinkPHP<=5.1.10。

public function index()
{
  $this->assign(request()->get());
  return $this->fetch();

原文地址:https://www.cnblogs.com/0xdd/p/11102426.html

时间: 2024-11-09 09:25:18

thinkphp历史漏洞的相关文章

Weblogic 历史漏洞回顾

时间线 从 2015-2018 <?xml version="1.0" encoding="GB2312"?> <rule> <readme><!-- 项目自述 --> <name>漏洞感知项目</name> <Initiator>Greekn fplythoner</Initiator> <emailone>[email protected] [email 

ThinkPHP 3.1、3.2一个通用的漏洞分析

Author:m3d1t10n 前两天看到phithon大大在乌云发的关于ThinkPHP的漏洞,想看看是什么原因造成的.可惜还没有公开,于是就自己回来分析了一下. 0x00官方补丁(DB.class.php parseWhereItem($key,$val))注意红色框框起来的部分 0x01分析 PHP preg_match('/IN/i',$val[0]) //该正则没有起始符和终止符,xxxxinxxxxx等任意包含in的字符串都可以匹配成功,因而构成了注入 preg_match('/BE

thinkphp漏洞如何修复

THINKPHP漏洞修复,官方于近日,对现有的thinkphp5.0到5.1所有版本进行了升级,以及补丁更新,这次更新主要是进行了一些漏洞修复,最严重的就是之前存在的SQL注入漏洞,以及远程代码执行查询系统的漏洞都进行了修复,官方本以为没有问题了,但是在实际的安全检测当中发现,还是存在问题,还是可以远程代码进行注入,插入非法字符,提交到服务器后端中去. 关于这次发现的oday漏洞,我们来看下是怎么样的,更新的程序文件路径是library文件夹下的think目录里的app.php,如下图: 漏洞产

SSRF漏洞的挖掘经验

本文转自:https://sobug.com/article/detail/11 SSRF概述 SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问的内部系统.(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统) SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制.比如从指定URL地址获取

漏洞挖掘的思路----摘自农夫安全的分享

摘抄自[29期]帮你打开挖洞大门之情报收集--十八分享 漏洞银行大咖分享 挖洞的三个迷茫 1. 为啥我挖不到漏洞? 乌云镜像 子域,端口 2. 为啥我找不到后台? 其他端口(inurl:8080 intitle:管理) 子域 IIS短文件名 3. 为啥我拿不下权限? 端口(8080) 弱口令(admin admin) 爆破 社工 我们需要做什么? 1. whois信息-手机号,QQ号,邮箱,社工(国内外) 2. ip信息-端口,旁站,真实IP,服务,中间件,C段 3. 子域名信息--容易忽视子域

一条短信控制你的手机! Android平台的SQL注入漏洞浅析

14年11月笔者在百度xteam博客中看到其公开了此前报告给Google的CVE-2014-8507漏洞细节——系统代码在处理经由短信承载的WAP推送内容时产生的经典SQL注入漏洞,影响Android 5.0以下的系统.于是对这个漏洞产生了兴趣,想深入分析看看该漏洞的危害,以及是否能够通过一条短信来制作攻击PoC. 在断断续续的研究过程中,笔者发现了SQLite的一些安全特性演变和短信漏洞利用细节,本着技术探讨和共同进步的原则,结合以前掌握的SQLite安全知识一同整理分享出来,同各位安全专家一

[WEB安全]Weblogic漏洞总结

0x01 Weblogic简介 1.1 叙述 Weblogic是美国Oracle公司出品的一个应用服务器(application server),确切的说是一个基于Java EE架构的中间件,是用于开发.集成.部署和管理大型分布式Web应用.网络应用和?数据库应用的Java应用服务器. Weblogic将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发.集成.部署和管理之中,是商业市场上主要的Java(Java EE)应用服务器软件之一,也是世界上第一个成功商

Ladon插件ThinkPHP 5.0.22 5.1.29 GetShell Exploit

前言 使用Exp生成器生成Ladon插件实战,ThinkPHP GetShell 漏洞环境 使用docker ThinkPHP 5.0.20 复现测试 Payload: http://192.168.1.37:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1 执行命令 http://192.168.1.37:8080

SSRF

SSRF是什么: SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞.一般情况下,SSRF攻击的目标是从外网无法访问的内部系统(大厂商的内网). SSRF产生原因: SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制. 比如从指定URL地址获取网页文本内容.加载指定地址的图片.下载等 常见产生点: 1.weblogic中间件 2.php代码 file_get_co