摘要:
前言 最近看了《代码审计-企业级Web代码安全构架》第一遍,颇有心动,找了个织梦来练练手 环境 win10 mysql5.7+php5.4.45 工具 vs+seay 后台代码任意文件写入 首先我们先还是必须得熟悉一下dede目录结构 1、程序核心程序目录及简介 /include目录 程序核心目录 阅读全文
摘要:
0X01首先我们来了解下这个漏洞的关键函数 preg_replaceCTF的老函数了 preg_replace() 的第一个参数如果存在 /e 模式修饰符,则允许代码执行。 如果没有 /e 修饰符,可以尝试 %00 截断。 正则表达式修正符: 因为$pattern中指定的是要搜索的模式字符串,一般使 阅读全文
摘要:
申明: 本文非原创 学习自: https://payloads.online/archivers/2019-11-10/1 0X01定义恶意代码 这里我们以cs载荷为例子 0X02 shellcode的定义 Shellcode是一段机器指令的集合,通常会被压缩至很小的长度,达到为后续恶意代码铺垫的作 阅读全文
摘要:
代码审计入门 A .{php中xdebug} 配置 配置工具 A xdebug+visual studio code B xdebug + phpstrom 二者都选择用phpstudy与其搭配 xdebug 什么叫断点 就是在某一处设置断点 当函数执行到断点处就会停止 断点可以在任意地方设置 比如 阅读全文
摘要:
注入一 我们看到很明显的一个地方 这里get传参的ad_id给了sql语句执行 这个cms虽然不是mvc模型但是采用的和discuz差不多都是采用模型推入,模板渲染两步把模板功能很清晰的分开 所以我们不难在全局方法中找打getone 我们进一步跟进一下getone方法 function getone 阅读全文
摘要:
先贴源码 index.php <?php error_reporting(0); include 'class.php'; include 'waf.php'; if(@$_GET['file']){ $file = $_GET['file']; waf($file); }else{ $file = 阅读全文
摘要:
首先还是函数介绍 https://www.php.net/manual/zh/language.oop5.magic.php __toString() 方法用于一个类被当成字符串时应怎样回应。例如 echo $obj; 应该显示些什么。此方法必须返回一个字符串,否则将发出一条 E_RECOVERAB 阅读全文
摘要:
漏洞分析 漏洞成因 参数传入eval时候未进行让任何除害操作 首先debug返回True很简单 我们来看debug函数 两个条件 url传参数等于函数传参 后面file_get_contents对传入url进行处理 这里我们可以构造恶意文件让从来导致option参数受我们的控制 option必须不为 阅读全文
摘要:
首先还是函数介绍 函数介绍 $_REQUEST['target'] 和$_get $_POST的不必多说 我们主要看这个函数 mb_substr() $string = "0123456789你好"; /** start > 0 length > 0*/ $mystring = mb_substr( 阅读全文
摘要:
0X0A 首先我们大致审计一下 三个源码文件 upload.php 上传页面 inlculde了helper extend了里面的helper 类型 大致是一个上传文件的函数 判断文件是否上传成功 如果失败则重新上传 再来看看helper里面的函数 看到了经典的反序列化magic _destruct 阅读全文