2019測試指南-web應用程序安全測試(二)查看信息泄漏的網頁註釋和元數據

程序員在源代碼中包含詳細的註釋和元數據是很是常見的,甚至是推薦的。可是,HTML代碼中包含的註釋和元數據可能會泄露潛在攻擊者沒法得到的內部信息。應該進行評論和元數據審查,以肯定是否泄露了任何信息。html

 

測試目標

查看網頁評論和元數據,以便更好地瞭解應用程序並查找任何信息泄漏。程序員

 

如何測試

開發人員常用HTML註釋來包含有關應用程序的調試信息。有時他們會忘記評論,並將其留在生產中。測試人員應該查找以「」開頭的HTML註釋。數據庫

 

黑盒測試

檢查HTML源代碼以獲取包含敏感信息的註釋,這些註釋能夠幫助攻擊者更深刻地瞭解應用程序。它多是SQL代碼,用戶名和密碼,內部IP地址或調試信息。瀏覽器

... <div class =「table2」> <div class =「col1」> 1 </ div> <div class =「col2」> Mary </ div> <div class =「col1」> 2 </ div> <div class =「col2」> Peter </ div> <div class =「col1」> 3 </ div> <div class =「col2」> Joe </ div> <! - 查詢:SELECT id,name FROM app.users WHERE active ='1' - > </ DIV> ... 


測試人員甚至可能會發現這樣的事情:緩存

<! - 使用數據庫管理員密碼進行測試:f @ keP @ a $$ w0rD - > 


檢查HTML版本信息以獲取有效的版本號和數據類型定義(DTD)URL服務器

<!DOCTYPE HTML PUBLIC「 - // W3C // DTD HTML 4.01 // EN」「 http://www.w3.org/TR/html4/strict.dtd 」> 
  • 「strict.dtd」 - 默認嚴格DTD
  • 「loose.dtd」 - 鬆散的DTD
  • 「frameset.dtd」 - 框架集文檔的DTD


某些Meta標籤不提供主動攻擊向量,而是容許攻擊者對應用程序進行概要分析app

<META name =「Author」content =「Andrew Muller」> 


某些Meta標記會更改HTTP響應標頭,例如http-equiv,它根據元素的content屬性設置HTTP響應標頭,例如:框架

<META http-equiv =「Expires」content =「Fri,21 Dec 2012 12:34:56 GMT」> 

這將致使HTTP標頭:工具

到期日:2012年12月21日星期五12:34:56 GMT 

測試

<META http-equiv =「Cache-Control」content =「no-cache」> 

會致使

緩存控制:無緩存 

測試是否能夠用於進行注射攻擊(例如CRLF攻擊)。它還能夠幫助肯定經過瀏覽器緩存的數據泄漏級別。

一個常見的(但不符合WCAG標準)Meta標籤是刷新。

<META http-equiv =「刷新」內容=「15;網址= https://www.owasp.org/index.html 」> 

Meta標籤的一個常見用途是指定搜索引擎可用於提升搜索結果質量的關鍵字。

<META name =「keywords」lang =「en-us」content =「OWASP,security,sunshine,lollipops」> 

雖然大多數Web服務器經過robots.txt文件管理搜索引擎索引,但它也能夠經過Meta標籤進行管理。下面的代碼會建議機器人不要編制索引,也不要關注包含標記的HTML頁面上的連接。

<META name =「robots」content =「none」> 

用於因特網內容選擇的平臺(PICS)和用於Web描述資源的協議(POWDER)提供用於將元數據與因特網內容相關聯的基礎結構。

 

灰盒測試

不適用。

 

工具

  • wget的
  • 瀏覽器「查看源」功能
  • 眼球
  • 捲曲
相關文章
相關標籤/搜索