
ThinkPHP
文章平均质量分 60
Y4tacker
关于我:Web安全、Java安全研究弟中弟
学校:四川大学(2019级)
写给自己:宁静致远,淡泊明志
展开
-
[代码审计]Weiphp5.0 前台文件任意读取分析
文章目录前言分析前言最近一直在刷CNVD吧,大概两周刷了四页多,感觉自己水平也在见着长高,今天来分析一下Weiphp,毕竟也很久没写过博客了分析漏洞所在的函数为application/material/controller/Material.php下的_download_imgage函数,正好这是一个public方法,根据thinkphp的路由规则我们不难得到传参方式,这里直接先给出exp然后继续分析好吧http://ddcms.top//public/index.php/material/Ma原创 2021-05-09 17:57:03 · 1398 阅读 · 6 评论 -
[代码审计]ThinkPHP5.0.0-5.0.18RCE另类利用姿势
前言网上看到的POC,我详细分析了路由和poc,是对一个姿势的利用,比较骚的是::可以调用非静态方法以及set_error_handler的使用Trick比较骚的是我们一直以为php当中::只能调用静态方法,但是非静态一定条件下也能成功调用成功输出123虽然有报错<?phpclass A{ public $a; public function y4tacker(){ echo 123; }}A::y4tacker();失败<?php原创 2021-04-20 09:49:35 · 1961 阅读 · 2 评论 -
[代码审计][ThinkPHP]Thinkphp3.2.3反序列化利用链分析
文章目录Thinkphp3.2.3反序列化利用链分析分析利用链菜鸡在做CTF的时候想深入分析一下,也就产生了这篇文章Thinkphp3.2.3反序列化利用链分析分析首先我们从__destruct方法入手其他的都是啥如ftp_close之类的没法有效利用,但是在ThinkPHP/Library/Think/Image/Driver/Imagick.class.php找到public function __destruct() { empty($this->img) || $t原创 2021-04-19 10:46:37 · 1103 阅读 · 1 评论 -
[PHP]ThinkPHP5.0.9SQL注入分析
ThinkPHP5.0.9SQL注入分析虽然有点鸡肋但是思路还是值得学习,首先写个控制器,这个Id一定要大写I<?phpnamespace app\index\controller;class Index{ public function index() { $id = input("id/a"); $data = db("users")->where("Id","in",$id)->select(); dump(原创 2021-02-26 21:56:35 · 481 阅读 · 0 评论 -
[PHP] ThinkPHP3.2 order by注入分析
本篇是ThinkPHP3.2系列的最后一篇了,终于告一段落了我首先还是放payload吧?username=admin&order[updatexml(1,concat(0x3a,user()),1)],当然为了复现简单写个控制器吧,这个漏洞利用点就是最后拼接sql语句的时候的parseOrder方法没有进行过滤造成的<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends C原创 2021-02-26 10:11:40 · 1044 阅读 · 0 评论 -
[PHP] ThinkPHP3.2find(),select(),delete()注入分析
ThinkPHP3.2find(),select(),delete()注入分析find()注入分析第一步,exp列出之无敌开心快乐,个人认为漏洞出现在_parseOptions中没有对参数进行过滤exp:id[table]=users where 1 and updatexml(1,concat(0x7e,user(),0x7e),1)--id[alias]=where%201%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)--id[where]=原创 2021-02-26 10:07:36 · 712 阅读 · 0 评论 -
ThinkPHP3.2不规范接收参数导致的SQL注入分析之exp
本篇文章首先是讲解利用,之后会讲解I函数为什么能绕过过滤前提是tp没有用I函数去接收参数,具体原因会在分析之后给出先给出测试的payload,u[0]=exp&u[1]==%27admin%27接下来我们去分析首先看看我们index页面,看看我们的语句M就不必多说上一篇已经讲过了,返回一个users模型的对象,我们直接跟进where函数,看看接收的参数username为数组因为是数组原因所以只执行这一句赋值返回$this接下来进入find()也就是我们的关键,继续跟进首先mer原创 2021-02-24 18:04:18 · 682 阅读 · 0 评论 -
ThinkPHP<=5.0.13 <= 5.0.23、5.1.0 <= 5.1.16 5.0.0 <= version <= 5.1.32 RCE漏洞分析
文章目录tp<=5.0.13 POC分析<= 5.0.23、5.1.0 <= 5.1.165.0.0 <= v <= 5.1.32tp<=5.0.13 POC分析首先看看payloadhttp://yyy444t.top/public/?s=index/index 我发现这个get传参可以省略post传入s=calc&_method=__construct&method=&filter[]=system首先来看看调用链我们一个一个原创 2021-02-12 22:52:04 · 836 阅读 · 0 评论 -
[框架漏洞]ThinkPHP 5.0.0~5.0.23 RCE 漏洞分析
ThinkPHP 5.0.0~5.0.23 RCE 漏洞分析首先借用师傅的一张图来梳理一下流程call_user_func调用system造成rce梳理思路:$this->method可控导致可以调用__contruct()覆盖Request类的filter字段,然后App::run()执行判断debug来决定是否执行$request->param(),并且还有$dispatch['type'] 等于controller或者 method 时会执行$request->param(原创 2021-02-12 19:40:00 · 2007 阅读 · 1 评论