ThinkPHP代码审计
文章平均质量分 84
Thinkphp代码审计
H3rmesk1t
记录一下平时遇到的问题和学习的东西
展开
-
ThinkPHP5.1.x 反序列化
ThinkPHP5.1.x 反序列化补充知识PHP反序列化原理在PHP反序列化的过程中会自动执行一些魔术方法反序列化的常见起点反序列化的常见中间跳板反序列化的常见终点Phar反序列化原理以及特征漏洞环境漏洞分析寻找反序列化的起始点寻找反序列化的中间跳板寻找反序列化代码执行点构造反序列化利用链漏洞利用条件补充知识PHP反序列化原理PHP反序列化就是在读取一段字符串然后将字符串反序列化成php对象在PHP反序列化的过程中会自动执行一些魔术方法方法名调用条件__call调用原创 2021-08-23 00:38:59 · 908 阅读 · 0 评论 -
ThinkPHP5.0.x 反序列化
ThinkPHP5.0.x 反序列化漏洞环境漏洞分析EXP漏洞复现漏洞环境漏洞测试环境:PHP5.6+ThinkPHP5.0.24漏洞测试代码 application/index/controller/Index.php<?phpnamespace app\index\controller;class Index{ public function index() { $Gyan = unserialize($_GET['d1no']); va原创 2021-08-19 04:04:04 · 1295 阅读 · 0 评论 -
ThinkPHP5 远程代码执行(POST)
ThinkPHP5 远程代码执行(POST)漏洞概要初始配置漏洞利用漏洞概要本次漏洞存在于 ThinkPHP 底层没有对控制器名进行很好的合法性校验,导致在未开启强制路由的情况下,用户可以调用任意类的任意方法,最终导致远程代码执行漏洞的产生漏洞影响版本:5.0.0<=ThinkPHP5<=5.0.23 、5.1.0<=ThinkPHP<=5.1.30初始配置获取测试环境代码composer create-project --prefer-dist topth原创 2021-08-16 23:06:19 · 1789 阅读 · 3 评论 -
ThinkPHP5 远程代码执行
这里写目录标题漏洞概要初始配置漏洞利用漏洞分析漏洞修复攻击总结漏洞概要本次漏洞存在于 ThinkPHP 底层没有对控制器名进行很好的合法性校验,导致在未开启强制路由的情况下,用户可以调用任意类的任意方法,最终导致远程代码执行漏洞的产生漏洞影响版本:5.0.7<=ThinkPHP5<=5.0.22 、5.1.0<=ThinkPHP<=5.1.30初始配置获取测试环境代码composer create-project --prefer-dist topthink原创 2021-08-16 13:29:13 · 2454 阅读 · 0 评论 -
ThinkPHP5.0.x 远程代码执行
ThinkPHP5.0.x 远程代码执行漏洞概要初始配置漏洞利用漏洞分析漏洞修复攻击总结漏洞概要本次漏洞存在于 ThinkPHP 的缓存类中。该类会将缓存数据通过序列化的方式,直接存储在 .php 文件中,攻击者通过精心构造的 payload ,即可将 webshell 写入缓存文件。缓存文件的名字和目录均可预测出来,一旦缓存目录可访问或结合任意文件包含漏洞,即可触发 远程代码执行漏洞漏洞影响版本:5.0.0<=ThinkPHP5<=5.0.10初始配置获取测试环境代码原创 2021-08-16 03:18:18 · 1163 阅读 · 0 评论 -
ThinkPHP5 文件包含
漏洞概要本次漏洞存在于 ThinkPHP 模板引擎中,在加载模版解析变量时存在变量覆盖问题,而且程序没有对数据进行很好的过滤,最终导致文件包含漏洞的产生漏洞影响版本: 5.0.0<=ThinkPHP<=5.0.21 、 5.1.3<=ThinkPHP5<=5.1.25初始配置获取测试环境代码composer create-project --prefer-dist topthink/think=5.0.18 tpH3rmesk1t将 compos原创 2021-08-16 00:57:10 · 1228 阅读 · 0 评论 -
ThinkPH5 SQL注入(Mysql 聚合函数)
ThinkPH5 SQL注入(Mysql 聚合函数)漏洞概要初始配置漏洞利用漏洞分析漏洞修复攻击总结漏洞概要本次漏洞存在于所有 Mysql 聚合函数相关方法,由于程序没有对数据进行很好的过滤,直接将数据拼接进 SQL 语句,最终导致 SQL注入漏洞 的产生漏洞影响版本: 5.0.0<=ThinkPHP<=5.0.21 、 5.1.3<=ThinkPHP5<=5.1.25初始配置获取测试环境代码composer create-project --prefer-d原创 2021-08-14 01:05:52 · 442 阅读 · 0 评论 -
ThinkPHP5.1.x SQL注入(orderby注入)
ThinkPHP5.1.x SQL注入(orderby注入)漏洞概要初始配置漏洞利用漏洞分析漏洞修复攻击总结漏洞概要本次漏洞存在于 Builder 类的 parseOrder 方法中,由于程序没有对数据进行很好的过滤,直接将数据拼接进 SQL 语句,最终导致 SQL 注入漏洞的产生漏洞影响版本: 5.1.16<=ThinkPHP5<=5.1.22初始配置获取测试环境代码composer create-project --prefer-dist topthink/think原创 2021-08-14 00:50:45 · 917 阅读 · 0 评论 -
ThinkPHP5.0.10 SQL注入
ThinkPHP5.0.10 SQL注入漏洞概要初始配置漏洞利用漏洞分析漏洞修复攻击总结漏洞概要本次漏洞存在于 Mysql 类的 parseWhereItem 方法中,由于程序没有对数据进行很好的过滤,直接将数据拼接进 SQL 语句;再一个, Request 类的 filterValue 方法漏过滤 NOT LIKE 关键字,最终导致 SQL注入漏洞的产生漏洞影响版本: ThinkPHP=5.0.10初始配置获取测试环境代码composer create-project --pref原创 2021-08-13 23:32:56 · 918 阅读 · 0 评论 -
ThinkPHP5.1.x SQL注入(update方法)
ThinkPHP5 SQL注入(update方法)漏洞概要初始配置漏洞概要本次漏洞存在于 Mysql 类的 parseArrayData 方法中,由于程序没有对数据进行很好的过滤,将数据拼接进 SQL 语句,导致 SQL注入漏洞 的产生漏洞影响版本: 5.1.6<=ThinkPHP<=5.1.7 (非最新的 5.1.8 版本也可利用)初始配置获取测试环境代码composer create-project --prefer-dist topthink/think tpd原创 2021-08-13 01:33:34 · 1363 阅读 · 0 评论 -
ThinkPHP3.2.x (SQL注入&文件读取)反序列化POP链
ThinkPHP3.2.x(SQL注入&文件读取)反序列化POP链初始配置漏洞利用漏洞分析POP链分析POP链构造漏洞利用参考文章初始配置这里利用ThinkPHP3.2.3做示例,戳此进行下载php的版本采用PHP5 (PHP7下起的ThinkPHP框架在调用有参函数时不传参数会触发框架里的错误处理)下载后的源码中,需要对Application/Home/Controller/IndexController.class.php内容进行修改<?phpnamespace Hom原创 2021-08-10 04:01:03 · 800 阅读 · 0 评论 -
ThinkPHP5.x-远程命令执行漏洞
ThinkPHP 5.x远程命令执行漏洞漏洞原因漏洞影响版本漏洞复现搭建漏洞环境POC1POC2&POC3POC4&POC5漏洞原因由于框架对控制器名没有进行足够的检测,导致在没有开启强制路由(默认未开启)的情况下可能导致远程代码执行漏洞影响版本Thinkphp 5.x-Thinkphp 5.1.31Thinkphp 5.0.x<=5.0.23漏洞复现搭建漏洞环境官网下载Thinkphp 5.0.22,下载地址使用phpstudy搭建环境,解压下载的Thin原创 2021-06-06 18:01:04 · 744 阅读 · 2 评论 -
ThinkPHP5.0.x SQL注⼊
ThinkPHP5.0.x SQL注⼊初始配置漏洞利用漏洞分析漏洞描述ThinkPHP5.0.x目录结构Payload说明Application\index\controller\Index.php补充代码说明本地代码审计漏洞修复初始配置这里利用ThinkPHP5.0.14做示例,戳此进行下载下载后的源码中,需要对Application\index\controller\Index.php内容进行修改<?phpnamespace app\index\controller;use t原创 2021-08-09 19:33:20 · 1175 阅读 · 1 评论 -
ThinkPHP3.2.x SQL注入
ThinkPHP3.x SQL注入初始配置数据库配置where注入控制器配置exp注入控制器配置bind注入控制器配置漏洞利用where注入exp注入bind注入漏洞分析where注入exp注入bind注入参考文章初始配置这里利用ThinkPHP3.2.3做示例,戳此进行下载ThinkPHP中的常用方法汇总总结:M方法,D方法,U方法,I方法数据库配置数据库相关内容配置,文件位置Application/Home/Conf/config.php<?phpreturn arr原创 2021-08-03 22:40:50 · 1481 阅读 · 3 评论 -
ThinkPHP3.2.x RCE
ThinkPHP3.2.x RCE下载地址漏洞利用代码分析下载地址戳此进行下载漏洞利用debug模式开启代码分析程序执行流程5原创 2021-08-03 13:25:59 · 1110 阅读 · 0 评论