zoukankan      html  css  js  c++  java
  • 【CTFHub 技能树】RCE

    PHP://input

    题目源码:

    <?php
    if (isset($_GET['file'])) {
        if ( substr($_GET["file"], 0, 6) === "php://" ) {
            include($_GET["file"]);
        } else {
            echo "Hacker!!!";
        }
    } else {
        highlight_file(__FILE__);
    }
    ?>
    <hr>
    i don't have shell, how to get flag? <br>
    <a href="phpinfo.php">phpinfo</a>
    

    必须使用php伪协议。查看phpinfo,发现allow_url_fopen=Onallow_url_include=On,没有任何限制。

    使用php://input,这里使用hackbar时无响应,使用burpsuite可以正常回显。

    pinput1

    于根目录下得到Flag。

    读取源代码

    <?php
    error_reporting(E_ALL);
    if (isset($_GET['file'])) {
        if ( substr($_GET["file"], 0, 6) === "php://" ) {
            include($_GET["file"]);
        } else {
            echo "Hacker!!!";
        }
    } else {
        highlight_file(__FILE__);
    }
    ?>
    <hr>
    i don't have shell, how to get flag? <br>
    flag in <code>/flag</code>
    

    本体依旧要求使用伪协议,并且测试php://input无效。

    可以使用filter将源码通过base64回显。

    Payload:

    http://URL/?file=php://filter/read=convert.base64-encode/resource=../../../flag
    

    得到Flag。

  • 相关阅读:
    leetcode167 Two Sum II
    leetcode18 4Sum
    leetcode15 three sum
    leetcode-1-Two Sum
    SQL优化——select
    Hadoop 集群搭建
    虚拟机中的两台主机怎么相互拷贝文件
    doker5
    docker4
    docker3
  • 原文地址:https://www.cnblogs.com/chalan630/p/13374093.html
Copyright © 2011-2022 走看看