news 2026/5/1 5:04:43

BUUCTF-easy_web

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BUUCTF-easy_web

将初始url中img参数的内容进行两次base64解码以及一次16进制解码后,可以得到555.png。


可以将参数改为index.php进行一次16进制编码、两次base64编码后传参,获取到index.php的源码。

<?phperror_reporting(E_ALL||~E_NOTICE);header('content-type:text/html;charset=utf-8');$cmd=$_GET['cmd'];if(!isset($_GET['img'])||!isset($_GET['cmd']))header('Refresh:0;url=./index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=');$file=hex2bin(base64_decode(base64_decode($_GET['img'])));$file=preg_replace("/[^a-zA-Z0-9.]+/","",$file);if(preg_match("/flag/i",$file)){echo'<img src ="./ctf3.jpeg">';die("xixi~ no flag");}else{$txt=base64_encode(file_get_contents($file));echo"<img src='data:image/gif;base64,".$txt."'></img>";echo"<br>";}echo$cmd;echo"<br>";if(preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i",$cmd)){echo("forbid ~");echo"<br>";}else{if((string)$_POST['a']!==(string)$_POST['b']&&md5($_POST['a'])===md5($_POST['b'])){echo`$cmd`;}else{echo("md5 is funny ~");}}?>

前面较为容易绕过,较为难绕过的是下述代码:

echo$cmd;echo"<br>";if(preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|paste|diff|file|echo|sh|\'|\"|\`|;|,|\*|\?|\\|\\\\|\n|\t|\r|\xA0|\{|\}|\(|\)|\&[^\d]|@|\||\\$|\[|\]|{|}|\(|\)|-|<|>/i",$cmd)){echo("forbid ~");echo"<br>";}else{if((string)$_POST['a']!==(string)$_POST['b']&&md5($_POST['a'])===md5($_POST['b'])){echo`$cmd`;}else{echo("md5 is funny ~");}}

可以看到$cmd参数设置了较为严格的过滤,常见的查看文件内容的命令都被过滤,

more less head tail cat

但是还有其他方法可以查看文件内容:

base64 /flag strings /flag

接下来还需要以post方式传参ab两个参数,且ab不能相等但是他们的md5值严格相等。

if((string)$_POST['a']!==(string)$_POST['b']&&md5($_POST['a'])===md5($_POST['b'])){echo`$cmd`;}

可用下面两个字符串,虽然他们的值不同但是他们的md5值相同

TEXTCOLLBYfGiJUETHQ4hAcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnak TEXTCOLLBYfGiJUETHQ4hEcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnak


最终payload如下:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 14:48:47

3、云、虚拟化与数据存储网络基础全解析

云、虚拟化与数据存储网络基础全解析 1. 数据存储的重要性与挑战 在当今数字化时代,数据存储的重要性不言而喻。很多人常常认为数据存储理所当然,但实际上却并不真正理解它。当存储空间不足,无法保存文件或照片时,存储问题就会变得令人沮丧,而当急需的文件或文档找不到时…

作者头像 李华
网站建设 2026/5/1 3:45:01

代码不会骗人,但AI会!大模型幻觉的真相与解决方案,小白也能懂

在大模型时代&#xff0c;“幻觉”已经成为所有 AI 产品经理绕不开的话题。它影响模型可靠性、用户信任度&#xff0c;也直接决定产品能否落地。本文将让你在一次阅读中彻底理解幻觉的本质、成因及可落地的解决方案。Transformer 架构工作流程图 &#x1f4cc; 一、什么是 AI 的…

作者头像 李华
网站建设 2026/5/1 3:45:28

Docker Offload的云端协同机制深度解析(资源调度黑科技曝光)

第一章&#xff1a;Docker Offload的云端协同机制深度解析&#xff08;资源调度黑科技曝光&#xff09;在现代边缘计算与云原生融合的背景下&#xff0c;Docker Offload 技术成为实现边缘设备与云端动态资源协同的关键路径。该机制通过智能调度策略&#xff0c;将边缘端高负载任…

作者头像 李华
网站建设 2026/5/1 3:45:22

现在2025年开始学网络安全的真实情况是什么?还好就业吗?

安全现在是大趋势&#xff0c;说是铁饭碗也不为过&#xff0c;就业前景好&#xff0c;方向多比传统计算机行业就业舒服点。但是大厂依然是985&#xff0c;211的天下&#xff0c;是双非能进大厂的&#xff0c;只是凤毛麟角。前提是你的能力可以让公司忽略你的学历。 IT行业一直都…

作者头像 李华
网站建设 2026/5/1 4:46:15

QuickBI报表开发流程详解

一、QuickBI报表开发全流程 核心开发流程 数据准备 → 数据源连接 → 数据集构建 → 数据建模 → 可视化设计 → 仪表板制作 → 发布共享二、详细步骤及示例说明 示例背景 假设我们需要分析某电商公司的销售数据&#xff0c;制作一个销售监控仪表板。 步骤1&#xff1a;数据…

作者头像 李华