news 2026/3/10 4:36: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/3/3 19:23:01

Java面试Redis核心知识点整理!

大家都知道Redis的业务范围是非常广的&#xff0c;但是对于刚入行的小伙伴来说可能也就知道个缓存跟分布式锁。因为Redis的很多功能在一些小企业里&#xff0c;根本是用不到的&#xff0c;得等到并发量到了一定的程度&#xff0c;系统扛不住了&#xff0c;才会用到Redis那些高级…

作者头像 李华
网站建设 2026/3/3 22:52:21

9、数据足迹缩减:存储容量优化策略

数据足迹缩减:存储容量优化策略 1. 数据足迹缩减技术概述 在当今数字化时代,网络速度加快、存储容量增大,但在特定时间和预算内,需要移动、处理和存储的信息也更多。数据足迹缩减(DFR)技术应运而生,其重要性在于提高资源利用效率,满足服务需求。常见的DFR技术和方法包…

作者头像 李华
网站建设 2026/3/8 23:33:10

17、IT 领域的技术解析与服务洞察

IT 领域的技术解析与服务洞察 在当今数字化时代,数据的生成、处理和存储量达到了前所未有的高度。即使在经济危机期间,对数据处理、移动和存储的需求也在持续增长。因此,IT 组织需要在不增加成本和不影响服务交付的前提下,利用现有资源支持业务增长并提供新服务。以下将为…

作者头像 李华
网站建设 2026/3/7 10:42:33

卡顿监测原理

卡顿监测的核心是检测主线程是否被长时间阻塞&#xff0c;导致无法及时更新 UI。卡顿的本质帧率与刷新率iOS 屏幕刷新率&#xff1a;60Hz&#xff08;ProMotion 120Hz&#xff09;每帧理论时间&#xff1a;16.67ms&#xff08;60Hz&#xff09;或 8.33ms&#xff08;120Hz&…

作者头像 李华
网站建设 2026/3/8 19:28:34

[创业之路-733]:CTO - 技术视野、商业理解力、领导力、团队间协作与沟通、团队管理:“技术的战略家 + 商业的合伙人 + 团队的教练”

作为首席技术官&#xff08;CTO&#xff09;&#xff0c;其角色远不止技术专家&#xff0c;更是连接技术、商业与组织战略的关键枢纽。以下是针对CTO核心能力的详细解析&#xff1a;技术视野&#xff08;Technical Vision&#xff09;前瞻性判断&#xff1a;能够洞察行业技术趋…

作者头像 李华
网站建设 2026/3/6 20:00:24

手把手教你用大模型构建知识图谱:从零开始到实际应用的完整指南,小白也能秒变AI大神!

摘 要 针对档案编研成果开发利用不足的问题&#xff0c;提出融合领域本体与大模型的知识图谱构建框架&#xff0c;包含数据层、概念层、抽取层和图谱层&#xff0c;并以电力公司志为案例开展实证。通过文献调研与数据处理构建领域本体&#xff0c;选定大模型并设计提示词&#…

作者头像 李华