目錄瀏覽漏洞
漏洞描述
Web中間件如果開啟了目錄瀏覽功能,當用戶訪問Web應用時,Web服務器會將Web應用的目錄結構、文件信息返回給客戶端,攻擊者可能利用這些敏感信息對Web應用進行攻擊,如數據庫腳本SQL文件路徑泄露、程序備份壓縮文件路徑泄露等。
風險等級
中
漏洞測試
直接訪問Web應用存在的一些目錄,如果返回文件列表信息,證明存在此漏洞。
可以利用Web漏洞掃描器掃描Web應用進行檢測,也可通過搜索網站標題包含"index of"關鍵詞的網站進行訪問。
GoogleHacking 語法:
intext:Index of /
漏洞危害
攻擊者利用目錄、文件路徑信息可以對Web應用進行攻擊,如數據庫腳本SQL文件路徑泄露、程序備份、壓縮文件路徑泄露等,可以利用這些信息進一步對Web應用進行攻擊,甚至可以利用這些信息獲取數據庫的數據或獲取服務器控制權限。
加固建議
IIS
- 打開 IIS 管理器,然后導航至您要管理的級別;
- 在“功能視圖”中,雙擊“目錄瀏覽”;
- 在“操作”窗格中,選擇“目錄瀏覽”功能,單擊“禁用”。
Apache
- 修改Apache配置文件[httpd.conf],搜索“Options Indexes FollowSymLinks”,修改為“Options -Indexes FollowSymLinks”即可。
- Indexes 的作用就是當該目錄下沒有 index.html 文件時,就顯示目錄結構,去掉 Indexes,Apache 就不會顯示該目錄的列表了。
- 在Indexes前,加 + 代表允許目錄瀏覽;加 – 代表禁止目錄瀏覽。這樣的話就屬於整個Apache禁止目錄瀏覽了。
- 通過.htaccess文件
可以在根目錄新建或修改 .htaccess 文件中添加如下代碼就可以禁止Apache顯示目錄索引:<Files *> Options -Indexes </Files>
Nginx
- 找到Nginx配置文件中的“autoindex”,設置為“off”即可。
Tomcat
-
在應用的WEB-INF目錄找到web.xml配置文件,將“listings”參數的初始化值設置為“false”即可。代碼示例如下:
<servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> //注意:如果這個地方是true,如果訪問tomcat上的應用程序如果URL輸入的是一個目錄,而不是具體的文件,則會在瀏覽器上列出該目錄下的文件列表,設置為false,就不會列出文件列表了 </init-param> <load-on-startup>1</load-on-startup>