ThinkPHP3.2.3 where注入

简介: ThinkPHP3.2.3 where注入

ThinkPHP3.2.3 where注入


image.png

在 D:\phpstudy_pro\WWW\thinkphp3\Application\Home\Controller下的IndexController.class.php添加代码

image.png

先用正常id去走一遍流程,然后再使用payload

http://127.0.0.1/thinkphp3/index.php/home/index/getuserid?id=1)%20and%20database()=%27thinkphp3%27%20--

断点调试

image.png

首先进入M方法,I方法。官方文档很详细。不再累述。我们看重要部分

I方法的默认过滤filter是html实体编码,还有一个think_filter

image.png

看条件 is_array( d a t a ) 就 这 一 条 , data)就这一条, data)就这一条,data不满足要求,进入不了think_filter()函数里面


也可以看看里面到底过滤了什么

image.png

报错注入没有过滤。。

接着来到where方法

image.png

大体意思是把where的值放到options[‘where’]里面

image.png

接着来到find方法

image.png

跟进_parseOptions函数()

获取表名别名。跟进到重要部分

image.png


这儿的判断条件不满足(如果第三个参数设置为 true,函数只有在元素存在于数组中且数据类型与给定值相同时才返回 true。)

也看看里面到底是什么

image.png

强转类型

跟进到_options_filter函数

image.png

一个空函数

紧接着跟进select

image.png

进入select跟到parsesql()函数

image.png

进入parseSql函数后来到parsewhere函数

image.png

进入parseWhere函数

image.png

一直跟进到parsethinkwhere

image.png

进入函数

image.png

满足$key为_string

进入字符串查询条件,把val的值直接赋给wherestr

后面就很清楚明了。

image.png

image.png


相关文章
|
API
.net core工具组件系列之Autofac—— 第二篇:Autofac的3种依赖注入方式(构造函数注入、属性注入和方法注入),以及在过滤器里面实现依赖注入
本篇文章接前一篇,建议可以先看前篇文章,再看本文,会有更好的效果。前一篇跳转链接:https://www.cnblogs.com/weskynet/p/15046999.html
410 0
.net core工具组件系列之Autofac—— 第二篇:Autofac的3种依赖注入方式(构造函数注入、属性注入和方法注入),以及在过滤器里面实现依赖注入
|
6月前
|
SQL 安全 PHP
理解php对象注入
php对象注入是一个非常常见的漏洞,这个类型的漏洞虽然有些难以利用,但仍旧非常危险,为了理解这个漏洞,请读者具备基础的php知识。
|
JSON Java 应用服务中间件
【SpringBoot 2】(九)异常处理 web原生组件的注入
【SpringBoot 2】(九)异常处理 web原生组件的注入
638 0
【SpringBoot 2】(九)异常处理 web原生组件的注入
|
设计模式 运维 安全
ThinkPHP你必须要掌握的配置加载(6)
ThinkPHP你必须要掌握的配置加载
179 0
ThinkPHP你必须要掌握的配置加载(6)
|
运维 关系型数据库 MySQL
ThinkPHP你必须要掌握的配置加载(2)
ThinkPHP你必须要掌握的配置加载
162 0
ThinkPHP你必须要掌握的配置加载(2)
|
PHP
ThinkPHP你必须要掌握的配置加载(1)
ThinkPHP你必须要掌握的配置加载
116 0
ThinkPHP你必须要掌握的配置加载(1)
|
PHP 容器
ThinkPHP你必须要掌握的配置加载(3)
ThinkPHP你必须要掌握的配置加载
116 0
ThinkPHP你必须要掌握的配置加载(3)
|
PHP
ThinkPHP你必须要掌握的配置加载(5)
ThinkPHP你必须要掌握的配置加载
136 0
ThinkPHP你必须要掌握的配置加载(5)
|
XML JSON 数据处理
ThinkPHP你必须要掌握的配置加载(4)
ThinkPHP你必须要掌握的配置加载
111 0
ThinkPHP你必须要掌握的配置加载(4)
|
Shell 数据安全/隐私保护 iOS开发
代码注入(11)
代码注入(11)
123 0

热门文章

最新文章