目標目錄啟用了自動目錄列表功能。
2. 當使用者請求的url位址是某個目錄位址的時候,如果該目錄開啟了自動列表功能並且web伺服器預設的頁面檔案(如index.html/home.html/default.htm/default.asp/default.aspx/index.php
等)也不存在,那麼該目錄所包含的檔案就會被自動的以列表的形式顯示出來,這樣可能就會導致敏感檔案被洩露。
危害:
1.任何人都可以瀏覽該目錄下的所有檔案列表。
2. 如果該目錄不存在預設的主頁面檔案,並且該目錄包含了敏感的檔案內容(如應用程式原始碼檔案或其它的重要檔案內容),那麼將導致敏感檔案內容外洩,從而對企業造成直接的經濟損失或為惡意攻擊者提供進一步攻擊的有效資訊。
解決方案:
1、如果必須開啟該目錄的目錄列表功能,則應對該目錄下的檔案進行詳細檢查,確保不包含敏感檔案。
2、如非必要,請重新配置web伺服器,禁止該目錄的自動目錄列表功能。
apache禁止列目錄:
方法一,修改httpd.conf配置檔案,查詢options indexes followsymlinks
,修改為options -indexes
;
或者搜尋「options indexes followsymlinks
」,修改為「options -indexes followsymlinks
」即可。
在options indexes followsymlinks在indexes前面加上 – 符號。備註:在indexes前,加 + 代表允許目錄瀏覽;加 – 代表禁止目錄瀏覽。這樣的話就屬於整個apache禁止目錄瀏覽了。
如果是配置虛擬機器,則如下:
options -indexes followsymlinks # 修改為 -indexes 即可
serveradmin [email protected]
documentroot "../vhosts/blog.phpha.com"
servername shopex:80
serveralias blog.phpha.com
errorlog logs/blog.phpha.com-error_log
方法二,在www 目錄下的修改.htaccess
配置檔案,加入options -indexes
。 (推薦)
options -indexes
方法三,修改目錄配置:
options indexes followsymlinks # 修改為: options followsymlinks
allowoverride none
order allow,deny
allow from all
只需要將上面**中的 indexes 去掉,就可以禁止 apache 顯示該目錄結構。使用者就不會看到該目錄下的檔案和子目錄列表了。indexes 的作用就是當該目錄下沒有 index.html 檔案時,就顯示目錄結構,去掉 indexes ,apache 就不會顯示該目錄的列表了。
如果你 apache 服務目錄 (/var/www/tecmint
或/var/www/html/tecmint
) 下建立乙個名為tecmint
的目錄,並且忘記在該目錄放置index.html
,你會驚奇的發現所有訪問者都可以在瀏覽器輸入 來完整列舉所有在該目錄中的重要檔案和資料夾。
本文將為你展示如何使用.htaccess
檔案禁用或阻止 apache 伺服器目錄列舉
首先,.htaccess
(hypertext access) 是乙個檔案,它可以讓站點管理員控**務器的環境變數以及其他的重要選項,用以增強他/她的站點功能。
確保 apache web 伺服器安全的 25 條 .htaccess 設定技巧
使用 .htaccess 為 apache web 目錄進行密碼保護
使用這一簡單方法,在站點目錄樹中的任意/每個目錄建立.htaccess
檔案,以便為站點根目錄、子目錄和其中的檔案提供保護支援。
首先要 apache 主配置檔案中為你的站點啟用.htaccess
檔案支援。
$ sudo vi /etc/apache2/apache2.conf #debian/ubuntu 系統
$ sudo vi /etc/httpd/conf/httpd.conf #rhel/centos 系統
然後尋找以下部分,其中allowoverride
指令必須設定為allowoverride all
。
options indexes followsymlinks
allowoverride all
如果已存在.htaccess
檔案,先備份(如下),假設檔案在/var/www/html/tecmint/
(並要禁用該目錄列舉):
$ sudo cp /var/www/html/tecmint/.htaccess /var/www/html/tecmint/.htaccess.orig
然後你就可以在某個特定的目錄使用你喜歡的編輯器開啟 (或建立) 它,以便修改。並新增以下內容來關閉目錄列舉。
options -indexes
-------- 使用 systemd 的系統 --------
$ sudo systemctl restart apache2
$ sudo systemctl restart httpd
-------- 使用 sysvinit 的系統 --------
$ sudo /etc/init.d/apache2 restart
$ sudo /etc/init.d/httpd restart
關閉tomcat目錄列表功能
default情況下,如果你訪問tomcat下的乙個web應用,那麼如果你輸入的是乙個目錄名,而且該目錄下沒有乙個default網頁,那麼tomcat 將會列出該目錄下所有的檔案或是資料夾,這樣給我們帶了很大的不安全,可能一些有用的資料,被其他人很容易獲取.如果你想遮蔽這個預設行為,那麼可以修改。c...
IIS 禁用自動目錄列表功能
iis伺服器的解決方案如下 使用 ui 1.開啟 iis 管理器,然後導航至您要管理的級別。2.在 功能檢視 中,雙擊 目錄瀏覽 3.在 操作 窗格中,如果 目錄瀏覽 功能已禁用而您要啟用它,請單擊 啟用 或者,如果 目錄瀏覽 功能已啟用而您要禁用它,請單擊 禁用 命令列 若要啟用或禁用目錄瀏覽,請...
IIS 禁用自動目錄列表功能
iis伺服器的解決方案如下 b 使用 ui b 1.開啟 iis 管理器,然後導航至您要管理的級別。2.在 功能檢視 中,雙擊 目錄瀏覽 3.在 操作 窗格中,如果 目錄瀏覽 功能已禁用而您要啟用它,請單擊 啟用 或者,如果 目錄瀏覽 功能已啟用而您要禁用它,請單擊 禁用 b 命令列 b 若要啟用或...