首先配置好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可控注入(?)相关推荐

  1. php 注入是什么意思,如何理解ThinkPHP框架里的依赖注入?

    依赖注入,你可以分开理解.拆成,依赖和注入 依赖:就是你现在要用 request 对象的get 方法,所有你必须要先能得到request对象,然后才能使用这个方法.这个就是依赖. 注入:怎么得到req ...

  2. 总结下ThinkPHP的代码审计方法

    简介 ThinkPHP 是国内著名的 php开发框架,基于MVC模式,最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP. 本文主要分析 ThinkPHP v3 的程序代码, ...

  3. thinkphp 微信服务器验证代码_【表哥有话说 第27期】ThinkPHP框架漏洞梳理

    0x00. 前言 ThinkPHP被认为是PHP入门级框架.作为菜鸡的我,据破神经验,寒假打算系统学习一下ThinkPHP框架开发及梳理其安全问题.恰逢契机,写篇文章梳理一下ThinkPHP. 因为是 ...

  4. thinkphp漏洞浅析随笔

    thinkphp ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的.ThinkPHP从诞生以来一直秉承简洁实用的设计原则 ...

  5. Thinkphp漏洞

    ➢ Thinkphp介绍 ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,支持 windows/Unix/Linux等服务器环境. ➢ Thinkphp应用 很多cms就是基于th ...

  6. 学习笔记-B/S - Exploits

    B/S - Exploits 免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关. 大纲 各类论坛/CMS框架 AEM 74CMS dedeC ...

  7. 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅

    事先声明:本次测试过程完全处于本地或授权环境,仅供学习与参考,不存在未授权测试过程.本文提到的漏洞<Cachet SQL注入漏洞(CVE-2021-39165)>已经修复,也请读者勿使用该 ...

  8. 渗透测试培训必会工具xray扫描器的使用(一)

    下载地址:链接:https://pan.baidu.com/s/1ExE0pgv9rz9NJBPNjIuMqg?pwd=k7m7 提取码:k7m7 本节使用linux版本的 xray1.9给大家做演示 ...

  9. 机械工程英语第二版叶邦彦-汉语翻译最多单元版

    UNIT 1 Advanced Engineering Materials 第一单元 先进的工程材料 Types of Materials 材料的类型 Materials may be grouped ...

最新文章

  1. TessorFlow学习 之 序言
  2. linux 服务器 iptables 防止arp病毒,Linux下防御ARP病毒攻击
  3. 世上的人大都只会“飞鸽传书下载”,没人开发
  4. Java虚拟机(四)——类加载机制
  5. python利用字典实现大侠_python实现字符串和字典的转换
  6. 用 theano 求解 Logistic Regression (SGD 优化算法)
  7. R用户的福音︱TensorFlow:TensorFlow的R接口
  8. resultset java 类型_java 中的resultset的类型
  9. python的pyaudio教程入门_Python音频操作工具PyAudio上手教程详解
  10. 多传感器融合方法综述
  11. python语言绘制词云图
  12. svn和git 常用的命令
  13. 计算机领域 专利挖掘,浅谈如何进行软件专利的挖掘
  14. 微信小程序公农历转换的实现
  15. BIOS的全局变量gST gBS gDS
  16. 【Python爬虫实战】【天天基金网】想要低风险+心动收益?5分钟学会筛选优质债券基金
  17. 苏宁、长虹、格力,为何“玩不好”旧家电?
  18. 腾讯X5 浏览器内核加载
  19. 1053 Path of Equal Weight (30分)
  20. 王道论坛机试指南学习笔记(三)数学问题

热门文章

  1. 二叉树——求先序排列(洛谷 P1030)
  2. hadoop使用mapreduce统计词频_hadoop利用mapreduce运行词频统计(非例程)
  3. thinkphp3.2.3 调用自定义模型提示找不到类_面试BAT必问的JVM,今天我们来说一说它类加载器的底层原理...
  4. html js 回调函数,js中回调函数的学习笔记
  5. 《数据安全警示录》一书修订版出版
  6. 编程谜题:提升你解决问题的训练场
  7. 从相识到相惜:Redis与计算存储分离四部曲
  8. 线上一个数组查询遇到的坑
  9. python和pycharm怎么安装_Python3和PyCharm安装与环境配置【图文教程】
  10. 字体感觉小了 引入的vant_动态字体海报如何设计与制作?