代码审计
文章平均质量分 88
D.MIND
安全领域的小学生
展开
-
百家CMS v4.1.4代码审计
中午在先知上看到篇百家cms的代码审计,不是很难,适合我这种菜????参考:https://xz.aliyun.com/t/9955#toc-0源码下载:https://gitee.com/openbaijia/baijiacms.git文章目录任意目录删除利用远程文件上传利用命令执行利用总结任意目录删除漏洞点位于:includes/baijiacms/common.inc.php首先关注的是unlink函数,他会删除文件,只要$path不是目录就会进入改分支。但如果你是目录呢,会对目录中非.原创 2021-08-19 18:41:56 · 1041 阅读 · 0 评论 -
Code-Breaking Puzzles 2018
翻翻P神2018年整的代码题来做做…文章目录function——`create_funciton()`的代码执行pcrewaf——PCRE正则匹配回溯phpmagicphplimit——无参数文件读取nodechrfunction——create_funciton()的代码执行<?php$action = $_GET['action'] ?? '';$arg = $_GET['arg'] ?? '';if(preg_match('/^[a-z0-9_]*$/isD', $action))原创 2021-08-04 18:53:32 · 465 阅读 · 1 评论 -
KKCMS——新手级代码审计
前言:做个简单的审计练练手,真的好久没审计了…KKCMS真的很适合新手入门审计,所以我就来审了,233文章目录前言:kindeditor编辑器 <= 4.1.5文件上传漏洞利用一:构造恶意代码利用二:信息泄露前台SQL注入——stripslashes函数的不当使用前台SQL注入——未过滤后台SQL注入——未过滤后台反射型XSS——未过滤前台反射型XSS后台存储型XSS前台存储型XSS后记kindeditor编辑器 <= 4.1.5文件上传漏洞目录中能注意到kindeditor.js,在k原创 2021-07-30 18:35:31 · 1045 阅读 · 1 评论 -
CTFshow——thinkphp专题
570——闭包路由关注这段代码:这是闭包路由的用法,官方:手册闭包支持我们用phpinfo()函数测试一下:是可以的/index.php/ctfshow/phpinfo/1注意因为eval是一个语言结构而不是函数,所以这里是不能被call_user_func调用的,而assert是一个函数。因此我想到了assert(system("ls"));,但在尝试ls /时却不行了,很迷。然后我想着参数转移一下。然后下意识构造出这样:/index.php/ctfshow/assert/$_POST[1原创 2021-06-12 17:15:15 · 1775 阅读 · 2 评论 -
ThinkPHP3.2.3 反序列化漏洞复现
ThinkPHP/Library/Think/Image/Driver/Imagick.class.php:__destruct()public function __destruct() { empty($this->img) || $this->img->destroy();}ThinkPHP/Library/Think/Session/Driver/Memcache.class.phpdestroy()public function destroy($sessI原创 2021-06-08 19:43:01 · 1348 阅读 · 2 评论 -
ThinkPHP3.2.3代码审计【find方法引起的SQL注入】
前言复习好无聊,就去刷刷CTFshow的题目,刷到一个TP3.2.3的SQL注入,之前没分析过,就简要分析一下,也有利于我这菜鸡学习一下文章目录前言简介环境搭建分析payload修复简介不只是find方法,由于select(),find(),delete()方法可能会传入数组类型数据,导致可能的SQL注入隐患。环境搭建上官网下载3.2.3完整版http://www.thinkphp.cn/donate/download/id/610.html\Application\Home\Controll原创 2021-05-31 23:07:06 · 852 阅读 · 2 评论 -
ThinkPHP5代码审计【RCE】
composer create-project --prefer-dist topthink/think=5.0.23 thinkphp_5.0.23原创 2021-05-14 19:44:36 · 1245 阅读 · 10 评论 -
ThinkPHP5代码审计【未开启强制路由导致RCE】
文章目录简介环境搭建分析payload修复简介本次漏洞存在于 ThinkPHP 底层没有对控制器名进行很好的合法性校验,导致在未开启强制路由的情况下,用户可以调用任意类的任意方法,最终导致 远程代码执行漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP5<=5.0.23 、5.1.0<=ThinkPHP<=5.1.30环境搭建以5.1.29作为演示:composer create-project --prefer-dist topthink/think=5.1原创 2021-05-13 09:45:07 · 1863 阅读 · 3 评论 -
ThinkPHP5代码审计【缓存文件引起的命令执行】
文章目录简介环境搭建payload分析修复简介本次漏洞存在于 ThinkPHP 的缓存类中。该类会将缓存数据通过序列化的方式,直接存储在 .php 文件中,攻击者通过精心构造的 payload ,即可将 webshell 写入缓存文件。缓存文件的名字和目录均可预测出来,一旦缓存目录可访问或结合任意文件包含漏洞,即可触发 远程代码执行漏洞 。漏洞影响版本: 5.0.0<=ThinkPHP5<=5.0.10 。环境搭建composer create-project --prefer-di原创 2021-05-11 17:14:17 · 392 阅读 · 2 评论 -
ThinkPHP5代码审计【变量覆盖引起的文件包含】
文章目录简介环境搭建分析修复简介本次漏洞存在于 ThinkPHP 模板引擎中,在加载模版解析变量时存在变量覆盖问题,而且程序没有对数据进行很好的过滤,最终导致 文件包含漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP5<=5.0.18 、5.1.0<=ThinkPHP<=5.1.10。环境搭建composer create-project --prefer-dist topthink/think=5.0.18 thinkphp_5.0.18修改json文件原创 2021-05-10 13:07:18 · 270 阅读 · 1 评论 -
ThinkPHP5代码审计【聚合函数引起的SQL注入】
文章目录简介环境搭建分析payload修复简介Mysql 聚合函数相关方法均存在注入本次漏洞存在于所有 Mysql 聚合函数相关方法。由于程序没有对数据进行很好的过滤,直接将数据拼接进 SQL 语句,最终导致 SQL注入漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP<=5.0.21 、 5.1.3<=ThinkPHP5<=5.1.25 。Payload IN :5.0.0~5.0.21 、 5.1.3~5.1.10id)%2bupdatexml(1,co原创 2021-05-09 18:55:58 · 339 阅读 · 2 评论 -
ThinkPHP5.1.22代码审计【SQL注入】
文章目录简介环境搭建分析1分析2payload修复简介由于Builder类中的parseOrder方法没有对$key值做严格过滤导致在Mysql类中的parseKey方法处实现恶意拼接,最终导致 SQL注入漏洞 的产生(orderby方法注入)漏洞影响版本: 5.1.16<=ThinkPHP5<=5.1.22 。环境搭建composer create-project --prefer-dist topthink/think=5.1.22 thinkphp_5.1.22依旧是下载好后原创 2021-05-08 21:13:08 · 295 阅读 · 1 评论 -
ThinkPHP5.0.10代码审计【SQL注入】
composer create-project --prefer-dist topthink/think=5.0.10 thinkphp_5.0.10下载好的thinkphp目录有问题,我们要去官网上下一个目录,链接:https://github.com/top-think/framework/archive/refs/tags/v5.0.10.zip下载好打开成这样:把这些文件都拷贝到原先composer下载好的thinkphp目录中即可:把application/index/controll原创 2021-05-07 20:06:38 · 693 阅读 · 0 评论 -
ThinkPHP5.1.17代码审计【SQL注入】
文章目录简介:环境搭建正常流程走一次不正常流程走一次payload:修复简介:在parseArrayData() 中出现可控制的拼接情况,从而导致 SQL注入 漏洞( update 方法注入)漏洞影响版本: 5.1.6<=ThinkPHP<=5.1.7 (非最新的 5.1.8 版本也可利用)。环境搭建利用composer下载5.1.17版本的源码composer create-project topthink/think=5.1.17 thinkphp5.1.17到compos原创 2021-05-05 23:37:02 · 642 阅读 · 7 评论 -
ThinkPHP5.0.15代码审计【SQL注入】
文章目录环境搭建分析payload:修复环境搭建到composer.json填写版本到application/index/controller/Index.php中配置:public function index()//控制方法{ $username = request()->get('username/a'); db('users')->insert(['username'=>$username]); return 'Update success';}原创 2021-05-04 20:23:43 · 578 阅读 · 1 评论 -
[GYCTF2020]EasyThinking【TP6 + disable_functions】
文章目录TP6 任意文件操作的利用方式:disable_functions的绕过总结:参考:题目名为:[GYCTF2020]EasyThinking猜到是考ThinkPHP了,上来可以直接试试www.zip,发现果然有源码泄露先随便访问一下使页面错误从而查看版本号是TP6的版本,没审过,继续看看网站上有啥功能,发现可以注册并登录,且有一个搜索功能,搜索的结果可以查看出来,猜测这是一个被利用的功能点上网搜一下有关TP6的漏洞,看到一篇:ThinkPHP6 任意文件操作漏洞分析这是有关SESSI原创 2021-04-30 16:23:26 · 575 阅读 · 1 评论 -
ThinkPHP5.0中的MVC学习
文章目录ThinkPHP5.0框架目录:URL访问规则:更改访问入口文件的URL:新建模块:新建控制器(Controller):新建模型(Model)新建视图(View)MVCmvc的运行流程:ThinkPHP5.0框架目录:project 应用部署目录├─application 应用目录(可设置)│ ├─common 公共模块目录(可更改)│ ├─index 模块目录(可更改)│ │ ├─config.php原创 2021-04-15 22:44:58 · 1126 阅读 · 1 评论 -
熊海审计
熊海审计一、文件包含漏洞0x01:%00截断截断大概可以在以下情况适用:include(require)file_get_contentsfile_exists截断条件:php版本小于5.3.4 详情关注CVE-2006-7243php的magic_quotes_gpc为OFF状态error_reporting(1); //关闭错误显示$file=addslashes($_GET['r']); //接收文件名$action=$file==''?'index':$file; //判原创 2021-04-15 00:10:04 · 193 阅读 · 0 评论 -
Think PHP3.2.3 update(blind)注入
前言:第一次尝试TP框架的代码审计,搭环境的过程有点坎坷…但勉勉强强还是完成了。原本以为审计起来不会太吃力,审计完才发现自己对工业化的代码框架认知程度远远不够,所以整个过程都比较艰辛,整理出来的东西还是不够清晰明了,下次再接再厉。坚持下去,死磕吧。┭┮﹏┭┮Think PHP3.2.3 update(blind)注入漏洞简述尽管ThinkPHP 3.2.x使用了 I 方法来过滤参数,但是还是过滤不严谨,导致SQL注入发生。ThinkPHP 3.2.3 目录结构下载框架后,解压缩到web目录下面原创 2021-04-14 13:32:59 · 385 阅读 · 1 评论 -
CTFshow——代码审计
文章目录web301——SQL注入web301——SQL注入web303——报错注入web304——报错注入web305——web306——web307——web301——SQL注入将源码下载下来。主要看checklogin.php:$sql="select sds_password from sds_user where sds_username='".$username."' order by id limit 1;";$result=$mysqli->query($sql);$row=原创 2021-04-07 17:46:39 · 1507 阅读 · 1 评论