随笔分类 - php代理审计
摘要:介绍:这是一篇tp的漏洞总结,以及一些自己遇到过或思考过的tricks, 查找漏洞建议直接页面搜索版本号,例如这些关键字:5.1、5.0、3.2 问题:如何判断TP版本? 黑盒 构造请求错误,如果目标错误管理不规范就可能显示tp版本信息 请求App/Runtime/Logs/Home/22_05_1
阅读全文
摘要:Request(5.0.18版本) 前置PHP知识:PHP中self :: 和 this-> 的用法 前置PHP知识:new static 和 new self的区别 -主要就是有继承的时候的区别 下面只列举部分重要方法 初始化和构造函数:instance和__construct public st
阅读全文
摘要:很烂,不建议看。建议略过 ## Controller 大多是一些模板渲染的方法。从构造函数中就可以看出来, public function __construct(Request $request = null) { $this->view = View::instance(Config::get(
阅读全文
摘要:TP5框架简单理解 (PS:只做粗略、关键知识的记录,TP程序的开始。详情请阅读官方手册) 1. 架构总览 TP程序的开始 PHP >=5.3.0, PHP7 ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织。 MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
阅读全文
摘要:2.请求相关 2.1 如何获取请求参数的? 首先要use一下TP写好的Request类,然后调用的话可以用很多种写法,下面是一种 <?phpnamespace app\index\controller;use think\Request;class Index // class Index exte
阅读全文
摘要:3. 数据库 相信跟完那几个SQLi漏洞的代码分析,就已经对TP种数据库操作有些了解了,故略。 4. 模板 4.1 变量输出 // index.php 控制器use think\Controller;use think\View;class Index extends Controller{ pub
阅读全文
摘要:TP5反序列化利用链 本文以第二人称视角重点谈谈给你了反序列化的利用链你该怎么写exp。 文章很长,当故事看即可。 漏洞版本为 ThinkPHP 5.1.X 下图是Mochazz 大佬画的非常优雅的一张调用链图 10 如果说之前了解过PHP反序列(重点知识)的基础知识(入门知识),那么一眼就能明白这
阅读全文
摘要:涉及到0day,暂不说明细节,只记录思路。 0x00 前言: 最近在审一套系统的时候,找到个sqli点 该系统搭建安装的时候默认mysql账号为root 对于into outfile写文件的条件也全部满足,遂想到用SQL注入写文件的方式来GetShell 0x01 问题 因为是用sqli写websh
阅读全文
摘要:PDO主要是这个选项 PDO::ATTR_EMULATE_PREPARES => false image-20220622131618003 这个选项涉及到PDO的”预处理”机制:因为不是所有数据库驱动都支持SQL预编译,所以PDO存在”模拟预处理机制”。如果说开启了模拟预处理,那么PDO内部会模拟
阅读全文
摘要:参考链接:Mochazz/ThinkPHP-Vuln/ 影响版本:5.0.7<=ThinkPHP5<=5.0.22 、5.1.0<=ThinkPHP<=5.1.30 测试环境:PHP7.3.4、Mysql5.7.26、TP5.0.18 5.1.x : ?s=index/\think\Request/
阅读全文
摘要:书接上文 利用method的任意方法调用,调用构造函数__construct,且调用时会传入$_POST数据,那么组合起来就是执行method方法可以控制类的成员变量的值。 filterValue中存在 call_user_func函数可以恶意利用,关注其参数$filters是否可控。 getFil
阅读全文
摘要:ThinkPHP5之文件包含审计分析(五) 参考链接:Mochazz/ThinkPHP-Vuln/ 影响版本:5.0.0<=ThinkPHP5<=5.0.18 、5.1.0<=ThinkPHP<=5.1.10 测试环境:PHP7.3.4、Mysql5.7.26、TP5.0.18 0x00 环境准备
阅读全文
摘要:ThinkPHP5漏洞分析之SQL注入(四) 本次漏洞存在于所有 Mysql 聚合函数相关方法。由于程序没有对数据进行很好的过滤,直接将数据拼接进 SQL 语句,最终导致 SQL注入漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP<=5.0.21 、 5.1.3<=ThinkPHP5<=
阅读全文
摘要:ThinkPHP 之 SQLI审计分析(三) Time:9-23 影响版本:ThinkPHP=5.1.22 Payload: /public/index.php/index/index?orderby[id`|updatexml(1,concat(0x7,user(),0x7e),1)%23]=1
阅读全文
摘要:ThinkPHP 之 SQLI审计分析(二) Time:9-3 影响版本:ThinkPHP=5.0.10 Payload: /public/index.php/index/index?username[0]=not like&username[1][0]=&username[1][1]=&usern
阅读全文
摘要:ThinkPHP5之SQLI审计分析(一) Time:8-31 影响版本:5.0.13<=ThinkPHP<=5.0.15、 5.1.0<=ThinkPHP<=5.1.5 Payload: /public/index.php/index/index?username[0]=inc&username[
阅读全文
摘要:魔术方法 |方法名|调用条件| | | | |__call|调用不可访问或不存在的方法时被调用| |__callStatic |调用不可访问或不存在的静态方法时被调用 |__clone |进行对象clone时被调用,用来调整对象的克隆行为 |__constuct |构建对象的时被调用; |__deb
阅读全文
摘要:PHP中有一些内置类 SimpleXMLElement 其中当$data 为XML数据, $options=2时易造成XXE注入。这里 final public SimpleXMLElement::__construct ( string $data [, int $options = 0 [, b
阅读全文
摘要:in_array() 功能: 检查数组中是否存在某个值。 定义: in_array ( mixed $needle , array $haystack , bool $strict = false ) : bool 解释:大海捞针,在大海(haystack)中搜索针( needle),如果没有设置
阅读全文