上次有提到在進入一Web application進行攻擊之前,應由外而內向核心安全議題的安全問題進行觀察與分析,從Web敏感訊息搜尋透過網路搜尋引擎及Web軟體版本與同一網域下所有可能的web application列舉到網入認證安全測試再到安全核心,其實還有一些其它可以觀察敏感訊息的地方可供我們進行攻擊決策,最顯而易見的就是HTML Source Code中的Comment與Meta tag 設定。
一般我們可能會從HTML comment中看到一些敏感訊息或者有用的web application資訊,例如:SQL語句、使用者帳密、網站內部IP等等…. 當發現HTML中包含這些可能對駭客攻擊有幫助的資訊出現在<!- - HTML Comment -->中時,便需要要求Developer刪除以防洩漏。
另一方面,我們在HTML中亦可以看到<meta> 標籤紀錄著一些web app相關訊息(如:網頁作者, <meta name="Author" content="Terry Liu">)以及一些表頭控制和特殊用途,這些資訊也可能被駭客所利用,因此了解一些基本的meta tag用法將有助於我們進一步判斷網頁行為以及其相對安全風險。
在這裡列出幾項迄今我所知道的meta tag應用。
- 為網頁設置能在搜尋引擎上提高曝光度的搜尋標籤或關鍵字。
<meta name="keywords" content="關鍵字1, 關鍵字2, 關鍵字3, ……"/>
<meta name="keywords" lang=”en-US” content="value1, value2, value3, ……"/>
- 提示網頁搜尋機器人不要公開HTML上所有Link。
<meta name="robots" content="none">
- 強制寫入或改變HTTP Header,這些Header可能改變網頁行為並且引發安全問題。
(1). 固定瀏覽器開啟文件模式:如固定IE以IE8方式開啟HTML。
<meta http-equiv="X-UA-Compatible" content="IE=8"/>
(Multiple Assigned Browser: <meta http-equiv="X-UA-Compatible" content="IE=8;IE=9”/>)
該方式雖能強迫瀏覽器以某固定版本號開啟HTML文件,但也因此封印了新的Browser feature,再未來網頁進化上將造成很多新的browser無法應用於該HTML文件而引發問題,因此應該盡量避免。
(2). 設定HTML字元集編碼,一般會預設以utf8字元編碼開啟頁面。
<meta charset="utf-8">
(3). 控制Http 表頭。
- 設定表頭 Expires = Fri, 21 Dec 2017 12:34:56 GMT
<meta http-equiv="Expires" content="Fri, 21 DEC 2017 12:34:56 GMT">
- 設定表頭Cache-Control = no-cache
<meta http-equiv="Cache-Control" content="no-cache">
- 設定網頁Refresh
- 5秒後refresh page
<meta http-equiv="refresh" content="5 ">
- 10秒後refresh page to tw.yhoo.com home page
<meta http-equiv="refresh" content="10;url=http://tw.yahoo.com">
因此在進行安全訊息風險評估時,初步階段應該把HTML Comment與Meta設定進行分析了解,避免被駭客利用其中訊息來入侵的風險。
2017年8月11日星期五 2:21 AM
留言列表