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


相关文章
|
JavaScript 前端开发
事件绑定(onclick,onfocus,onblur)
事件绑定(onclick,onfocus,onblur)
504 0
|
容器
layui下拉多选框xm-select.js插件的使用
layui下拉多选框xm-select.js插件的使用
1622 0
|
数据安全/隐私保护 Windows
OKCC系统搭建部署后如何使用?
【客户名称】:运营商登录的客户名称默认为dipcc 【用户名】:登录的用户名为admin 【密码】:初次登录系统
2210 0
OKCC系统搭建部署后如何使用?
|
6月前
|
人工智能 Linux API
踩坑3天总结·OpenClaw从安装到运行流程:Windows11/MacOS/Linux+云端部署与大模型配置教程
OpenClaw作为一款可以本地运行、数据完全不出设备的AI控制中心,能够实现自动化内容发布、定时消息推送、浏览器控制、多AI协同、第三方平台对接等能力,一次配置即可长期免费使用,可替代多款付费AI工具。但在实际安装过程中,因为环境依赖、网络、权限、端口、API配置等问题,很多用户会遇到大量阻碍。本文基于完整踩坑经验,整理2026年最新、最全面的OpenClaw安装、配置、运行、避坑方案,同时补充Windows11/MacOS/Linux本地部署、阿里云云端部署流程,以及阿里云千问大模型API、免费Coding Plan API的配置方法,覆盖所有常见故障与解决方案,让新手也能在1小时内完成全
3685 1
|
11月前
|
JSON BI API
全网最全面介绍闲鱼API接口指南
闲鱼是阿里巴巴旗下的二手交易平台,提供RESTful API支持商品管理、订单处理、用户操作与数据统计。开发者可通过OAuth 2.0认证,使用App Key和access_token调用接口,实现自动化运营与第三方集成。本指南详解API核心功能、接入步骤、代码示例及最佳实践,助您高效开发。
10959 1
|
6月前
|
前端开发 小程序 PHP
搞定 PHP 时间修改:从时区、格式化到时间戳,新手也能直接抄代码
在 PHP 开发中,时间处理是最常用、也最容易踩坑的功能 —— 时区不对、时间错乱、数据库时间不匹配、前端展示格式不对,几乎每个项目都会遇到。
404 2
|
前端开发
input输入框只能输入数字且保留两位小数场景演练(金额)
input输入框只能输入数字且保留两位小数场景演练(金额)
|
前端开发 JavaScript Java
【Layui】选项卡Tab:完美实现网页内容分类与导航
Layui选项卡是一种基于Layui框架的前端组件,用于创建多个选项卡并在其之间进行切换。Layui是一个轻量级、易用、灵活的前端UI框架,旨在简化前端开发过程。使用Layui选项卡,你可以在页面中创建多个选项卡标签,每个标签对应一个内容区域。用户可以点击选项卡标签来切换显示相应的内容区域。这种方式常用于页面的分组显示或切换不同的功能模块。Layui选项卡提供了丰富的配置选项,包括标签样式、选项卡切换的触发事件、内容区域的布局方式等。它还支持动态添加和删除选项卡,以及自定义选项卡的样式和功能。
|
JSON 前端开发 数据可视化
前端开发者狂喜!30K star开源组件库,界面美观度/开发速度双碾压!
嗨,大家好,我是小华同学。Layui 是一款开源前端 UI 组件库,具有极简设计、强大功能和卓越性能,支持布局、表单、表格、弹层等六大模块,组件高度可定制。它无需复杂构建工具,直接面向浏览器开发,极大提升开发效率与界面美观度。适合新手和老手,快来试试吧!
952 0
|
前端开发 程序员 API
前端|基于 Layui 实现动态搜索选择框
网页端实现动态搜索选择框,要求下拉选项列表能根据用户输入内容动态刷新,最终提交的值必须是由选项列表中点选的。
786 3