news 2026/5/25 22:41:39

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/5/25 12:11:42

SPFA算法

在图论的世界里&#xff0c;“最短路径” 是个高频需求 —— 比如从家到公司的最优路线、网络中数据传输的最短延迟。我们知道 Dijkstra 算法很经典&#xff0c;但它怕负权边&#xff1b;Bellman-Ford 算法能处理负权边&#xff0c;却慢得让人着急。今天要讲的 SPFA 算法&#…

作者头像 李华
网站建设 2026/5/24 13:43:19

高频Jmeter软件测试面试题

近期&#xff0c;有很多粉丝在催更关于Jmeter的面试题&#xff0c;索性抽空整理了一波&#xff0c;以下是一些高频Jmeter面试题&#xff0c;拿走不谢~ 一、JMeter的工作原理 JMeter就像一群将请求发送到目标服务器的用户一样&#xff0c;它收集来自目标服务器的响应以及其他统…

作者头像 李华
网站建设 2026/5/25 5:51:30

aliexpress 逆向分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;部分python代码n231 cp.call(get231, …

作者头像 李华
网站建设 2026/5/25 23:23:17

腾讯滑块 collect分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;部分python代码pow_cfg data["dat…

作者头像 李华
网站建设 2026/5/24 22:06:59

4、基础设施资源管理:提升云、虚拟和存储网络效率的关键

基础设施资源管理:提升云、虚拟和存储网络效率的关键 1. 数据基础设施管理 在当今数字化时代,信息服务的高效、灵活、可靠且经济的交付至关重要。支持信息服务交付的资源涵盖多个方面: - 硬件 :包括服务器、存储设备、输入/输出与网络连接设备以及桌面设备。 - 软件 …

作者头像 李华
网站建设 2026/5/25 21:44:12

从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战

升级背景 在私有化部署过程中&#xff0c;客户使用安全扫描工具检测到大量安全漏洞&#xff0c;主要集中在&#xff1a; 框架版本过低&#xff1a;Spring Boot 2.1.6.RELEASE&#xff08;发布于 2019 年&#xff09;JDK 版本过旧&#xff1a;JDK 8&#xff08;缺乏最新安全补…

作者头像 李华