news 2026/5/27 4:46:28

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/22 7:17:53

接口与实现分离:从 SPI 到 OSGi、SOFAArk的模块化演进

你是否曾遇到这样的场景&#xff1a; 在项目中定义了一个接口&#xff08;如 Logger&#xff09;但实现类却不在当前项目中&#xff0c;而是存在于另一个 JAR&#xff08;如 my-logger.jar&#xff09;项目编译通过&#xff0c;运行时也能成功调用实现类 这并非错误&#xff0c…

作者头像 李华
网站建设 2026/5/21 22:31:36

多传感器融合与空间解算:微型矿用定向传感器工作原理综述

微型矿用定向传感器是矿山工程中实现高精度空间定位与姿态测量的核心器件&#xff0c;其借助融合传感技术与智能算法&#xff0c;为矿山勘探、开采、支护与设备导航提供关键数据支撑。以智腾研发的DS550LT-A微型定向传感器为例&#xff0c;本文将从其工作原理、技术特点与行业应…

作者头像 李华
网站建设 2026/5/26 0:07:15

CT_rqu7ab01 CT_e6tzab00 阉割5s盾 分析

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

作者头像 李华
网站建设 2026/5/26 23:38:03

揭秘私有化Dify用户管理体系:如何实现精细化权限分配与安全审计

第一章&#xff1a;私有化 Dify 用户管理概述在企业级应用部署中&#xff0c;私有化 Dify 平台的用户管理是保障系统安全与权限可控的核心环节。通过本地化部署&#xff0c;企业可完全掌控用户身份验证、角色分配与访问控制策略&#xff0c;避免依赖第三方认证服务带来的数据外…

作者头像 李华
网站建设 2026/5/26 9:29:42

15、学以致用:云、虚拟化与数据存储网络的实践指南

学以致用:云、虚拟化与数据存储网络的实践指南 在当今数字化时代,云、虚拟化和数据存储网络技术正深刻地改变着信息服务的交付方式。然而,如何有效地应用这些技术,以实现高效、灵活且经济的信息服务,是许多组织面临的挑战。本文将探讨如何将所学的技术知识应用到实际环境…

作者头像 李华