信息泄漏
概述
2011年,CSDN 600萬用戶資料泄露,且用戶密碼被明文保存。在這起事件被曝光的同時,國內其他網站用戶密碼泄露問題也浮出水面,公民隱私信息面臨着巨大的威脅。我們都活在這個信息時代,學習這個系列的漏洞,是為了更好的幫助企業去防御,保護我們的個人信息。共勉QAQ
robots.txt泄露敏感信息
robots是網站跟爬蟲間的協議,用簡單直接的txt格式文本方式告訴對應的爬蟲被允許的權限,也就是說robots.txt是搜索引擎中訪問網站的時候要查看的第一個文件。當一個搜索蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網站上所有沒有被口令保護的頁面。
漏洞描述
低危漏洞,在應用的robots.txt的allow和disallow中泄露了應用的敏感目錄信息。如敏感的后台、CMS特征識別目錄等。
漏洞挖掘
這個漏洞非常簡單,可以通過使用工具爬蟲,對網站敏感文件目錄進行掃描,對robots文件進行爬取。或者直接在url鏈接后添加/robots.txt進行測試。

修復方式
1.robots.txt不應該被用來保護/隱藏信息。應該將敏感的文件和目錄移到另一個隔離的子目錄,以便將這個目錄排除在Robots搜索之外。
2.robots.txt內容可設為Disallow: /,禁止搜索引擎訪問網站的任何內容。
敏感文件信息泄露
漏洞描述
高危漏洞,應用中存在可以直接通過路徑訪問下載的敏感文件,如數據庫文件、代碼打包備份文件、svn或git等版本控制文件等。
漏洞挖掘
這個漏洞一般都是在信息收集階段進行目錄掃描的時候掃出來的。常用的目錄掃描工具都有掃描數據庫文件、代碼打包備份文件、svn或git等版本控制文件等的字典。如御劍、dirsearch.py等

目錄掃描工具很多,可以尋找幾個喜歡的,在日常滲透中使用。
Git泄漏 https://github.com/lijiejie/GitHack
Svn泄漏 https://github.com/admintony/svnExploit
DS_Store https://github.com/lijiejie/ds_store_exp
修復方式
1.刪除以上存在的泄漏的目錄
2.后台路徑盡量復雜,不要被隨便掃描出來
3.修改服務器配置禁止列目錄
4.修改服務器配置禁止錯誤回顯
5.刪除沒用的文件
報錯頁面敏感信息泄露
漏洞描述
報錯信息中可能會包含服務器代碼信息、數據庫連接信息、SQL語句或者敏感文件的路徑,為攻擊者收集信息提供了方便。
漏洞風險等級:
1)開啟調試模式,泄露大量應用的敏感信息如代碼、報錯信息等,建議高;
2)未開啟調試模式,泄露部分中間件版本、少量代碼信息等,建議低;
漏洞挖掘
利用滲透神器Burpsuite抓取請求包,構造無效路徑、無效參數嘗試觸發報錯,查看返回包中的返回信息。


修復方式
1.編碼時增加異常處理模塊,對錯誤頁面做統一的自定義返回界面,隱藏服務器版本信息
2.不對外輸出程序運行時產生的異常錯誤信息詳情
物理路徑泄露
漏洞描述
低危漏洞,應用中泄露出應用在主機中的絕對地址路徑,漏洞成因是開發過程中相關鏈接直接引用了絕對路徑,相關報錯信息未過濾。
漏洞挖掘
1)打開網頁源代碼,查看圖片等媒體的鏈接及超鏈接;
2)通過報錯信息獲取
3)查看一些敏感文件可能存在絕對路徑,如phpinfo.php

修復方式
1.媒體鏈接和超鏈接采用相對路徑的表達方式
2.報錯信息中不對外輸出網站物理路徑等敏感信息
3.敏感文件
明文密碼本地保存
漏洞描述
用戶賬號信息保存到了本地客戶端或JS中,攻擊者可通過嗅探或直接查看源代碼的方式獲取傳輸到前端的賬號及密碼,登錄他人賬號。這個漏洞很少有機會能找到,很少有開發那么傻
漏洞風險等級:
1)全部賬號的明文密碼保存在本地客戶端,建議高;
2)只有本賬號的明文密碼保存在本地客戶端,建議低;
漏洞挖掘
1)查看網頁源代碼
2)查看網站在本地客戶端的緩存文件
不巧就碰到了。。。。。

修復方式
不要將密碼保存到本地客戶端,即便是加密后的密碼也不建議保存在本地,攻擊者可利用密文格式的密碼登錄或修改其他賬戶的密碼。
入侵痕跡遺留
漏洞描述
高危漏洞,系統被入侵之后未及時清理相關痕跡,在滲透過程中發現應用中存在曾經的入侵痕跡,如存在的webshell文件。
漏洞挖掘
通常使用Web應用安全漏洞掃描工具或目錄掃描工具發現入侵痕跡。
修復方式
可借助工具全盤清理惡意文件,如D盾可以掃描Windows系統中的webshell。

直接查看掃出來的文件去確認是否為惡意文件,可以用多種工具去掃描確認,如WebShellSkill、WebShellWorker等后門查殺工具。
HTTP頭信息泄露
漏洞描述
低危漏洞,在服務器返回的HTTP頭中泄漏服務器信息。HTTP頭信息泄漏-隱藏web服務器banner信息,黑客會通過應用暴露出來的信息針對性的入侵,為了服務器的安全這些信息一定要及時關閉。Tomcat在404,405,403等錯誤的時候,會有默認的錯誤信息輸出到頁面上。這個時候,黑客們,根據服務器的版本信息,可以了解到該版本服務器的已知漏洞。針對性的進行攻擊。
漏洞挖掘
1)在瀏覽器的調試窗口中查看HTTP響應頭

2)使用代理軟件如burpsuite、fiddler,攔截HTTP響應頭

修復方式
隱藏或者修改banner信息。
目錄遍歷
漏洞描述
目錄瀏覽漏洞是由於網站存在配置缺陷,存在目錄可瀏覽漏洞,這會導致網站很多隱私文件與目錄泄漏,比如數據庫備份文件、配置文件等,攻擊者利用該信息可以更容易得到網站權限,導致網站被黑。
漏洞風險等級:
1)目錄可以瀏覽,泄漏包含密碼、個人信息等敏感文件,建議高;
2)目錄可以瀏覽,未泄漏包含密碼、個人信息等敏感文件,建議低;
漏洞挖掘
1)可以利用web漏洞掃描器掃描web應用進行檢測,也可通過搜索,網站標題包含“index of”關鍵詞的網站進行訪問。
2)可以在URL上進行刪減進行測試,../../../進行測試。

修復方式
目前存在該漏洞的常見中間件為apache和IIS,以下列出其相關的修復方式:
1.IIS中關閉目錄瀏覽功能:在IIS的網站屬性中,勾去“目錄瀏覽”選項,重啟IIS。
2.Apache中關閉目錄瀏覽功能:打開Apache配置文件httpd.conf,查找“Options Indexes FollowSymLinks”,修改為“ Options -Indexes”(減號表示取消),保存退出,重啟Apache。
3.Nginx中默認不會開啟目錄瀏覽功能,若您發現當前已開啟該功能,可以編輯nginx.conf文件,刪除如下兩行:autoindex on;autoindex_exact_size on;重啟Nginx。
默認頁面泄露
漏洞描述
存在默認安裝中間件、插件、框架等會攜帶示例頁面及說明文檔。攻擊者可利用默認頁面提供的功能和信息對服務器進行攻擊。
漏洞風險等級:
1)存在可訪問默認頁面,泄露高風險敏感信息(如:tomcat 的 examples 目錄),建議高;
2)存在可訪問默認頁面,泄露於業務、操作和配置相關的敏感信息,建議中;
3)存在可訪問的默認頁面,但未泄露敏感信息,建議低;
漏洞挖掘
1)可以利用web漏洞掃描器或目錄掃描器掃描web應用進行檢測
2)根據網站使用的第三方組件和框架手工輸入對應的示例頁面。
修復方式
建議在不影響業務的前提下刪除默認頁面。
參數溢出
漏洞描述
高危漏洞,前端參數可控制參數,后端參數過濾不嚴。攻擊者在參數中輸入超長字符串,導致數據溢出,致使應用或者數據庫報錯引發相關信息泄漏,或者引起拒絕服務攻擊等問題。
漏洞挖掘
在前端可控參數中輸入超長字符串
修復方式
限制輸入參數內容的長度。
任意文件下載
漏洞描述
此漏洞不僅僅可遍歷系統下web中的文件,而且可以瀏覽或者下載到系統中的文件,攻擊人員通過目錄遍歷攻擊可以獲取系統文件及服務器的配置文件等等。一般來說,他們利用服務器API、文件標准權限進行攻擊。嚴格來說,目錄遍歷攻擊並不是一種web漏洞,而是網站設計人員的設計“漏洞”。
漏洞挖掘
1)通過web漏洞掃描工具對網站實施掃描可能發現目錄遍歷或者任意文件下載漏洞,發送一系列”../”字符來遍歷高層目錄,並且嘗試找到系統的配置文件或者系統中存在的敏感文件。
2)也可通過判斷網站語言,並根據其url中部分提供的參數,進行構造相關的路徑信息,如收集到網站中間件版本為apache,則想辦法構造../../../ WEB-INF/web.xml等,然后查看其是否可被下載出來。隨后可構造下載系統文件。
例如:
index.php?a=../../../../etc/passwd
index.php?a=file:///etc/passwd
整理了一些下載利用文件:
Windows:
C:\boot.ini //查看系統版本
C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
C:\Windows\repair\sam //存儲系統初次安裝的密碼
C:\Program Files\mysql\my.ini //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
C:\Windows\php.ini //php配置信息
C:\Windows\my.ini //Mysql配置信息
C:\Windows\win.ini //Windows系統的一個基本系統配置文件
Linux:
/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts //記錄每個訪問計算機用戶的公鑰
/etc/passwd
/etc/shadow
/etc/my.cnf //mysql配置文件
/etc/httpd/conf/httpd.conf //apache配置文件
/root/.bash_history //用戶歷史命令記錄文件
/root/.mysql_history //mysql歷史命令記錄文件
/proc/mounts //記錄系統掛載設備
/porc/config.gz //內核配置文件
/var/lib/mlocate/mlocate.db //全文件路徑
/porc/self/cmdline //當前進程的cmdline參數
修復方式
1.過濾../等敏感字符,使用戶在url中不能回溯上級目錄
2.文件下載時判斷輸入的路徑,最好的方法是文件應該在數據庫中進行一一對應,避免通過輸入絕對路徑來獲取文件
3.php.ini配置open_basedir限定文件訪問范圍
對這系列感興趣可以接着看看
Web漏洞(二)信息猜解&數據猜解
