上次有提到在進入一Web application進行攻擊之前,應由外而內向核心安全議題的安全問題進行觀察與分析,從Web敏感訊息搜尋透過網路搜尋引擎及Web軟體版本與同一網域下所有可能的web application列舉到網入認證安全測試再到安全核心,其實還有一些其它可以觀察敏感訊息的地方可供我們進行攻擊決策,最顯而易見的就是HTML Source Code中的CommentMeta 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應用。

  1. 為網頁設置能在搜尋引擎上提高曝光度的搜尋標籤或關鍵字。

<meta name="keywords" content="關鍵字1, 關鍵字2, 關鍵字3, ……"/>

<meta name="keywords" lang=”en-UScontent="value1, value2, value3, ……"/>

  1. 提示網頁搜尋機器人不要公開HTML上所有Link

<meta name="robots" content="none">

  1. 強制寫入或改變HTTP Header,這些Header可能改變網頁行為並且引發安全問題。 

                            (1). 固定瀏覽器開啟文件模式:如固定IEIE8方式開啟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
  1. 5秒後refresh page

<meta http-equiv="refresh" content="5 ">

  1. 10秒後refresh page to tw.yhoo.com home page

                <meta http-equiv="refresh" content="10;url=http://tw.yahoo.com">

 

因此在進行安全訊息風險評估時,初步階段應該把HTML CommentMeta設定進行分析了解,避免被駭客利用其中訊息來入侵的風險。

 

2017811日星期五 2:21 AM

arrow
arrow

    jackterrylau 發表在 痞客邦 留言(0) 人氣()