2008-08-26 115 views
17

監視SO上網對我來說已經是一種教育了。我想製作一份針對網站使用的各種可用性和漏洞的清單,以及可以用什麼編程技術來防禦它們。網站編程漏洞檢查清單

  • 什麼類別的vunerabilities?
  • 什麼樣的防禦性編程技術?
  • 等...
+0

有人可以修復標題中的拼寫錯誤嗎? – mattruma 2008-09-18 14:09:17

回答

12

Open Web Application Security Project

  1. OWASP Top Ten漏洞(PDF)
  2. 對於更痛苦詳盡的列表:Category:Vulnerability

排名前十位分別是:

  1. 交叉網站腳本(XSS)
  2. 注入缺陷(SQL注入,腳本注射)
  3. 惡意文件執行
  4. 不安全直接對象引用
  5. 跨站請求僞造(XSRF)
  6. 信息泄漏和不適當的錯誤處理
  7. 失效的驗證和會話管理
  8. 不安全的加密存儲
  9. 不安全的通信
  10. Failu重新限制URL訪問
1

XSS(跨站腳本)攻擊

2

顯然測試漏洞各個領域:

  • SQL - 逃避字符串(例如,mysql_real_escape_string
  • XSS
  • 從thatis沒有特定目的的那場是爲

搜索無限循環(只有間接的事情創建的輸入字段(XSS的一個好兆頭通常)

  • 別的正在打印
  • HTML(如果有很多的人意外發現它)可能會殺死一臺服務器)。

  • 1

    易於監督和易於修復:從客戶端接收數據的消毒。檢查諸如';'之類的內容可以幫助防止惡意代碼被注入到您的應用程序中。

    1

    G'day,

    一個很好的安全靜態分析工具是由David Wheeler編寫的FlawFinder。它做得很好找各種安全漏洞,

    但是,它不能取代有見地的人通過您的代碼閱讀。正如大衛在他的網頁上所說:「一個帶着工具的傻瓜仍然是一個傻瓜!」

    HTH。

    歡呼聲, 羅布

    2

    一些防範技巧:

    XSS

    • 如果你帶任何參數從用戶/輸入和曾經在日誌計劃將其輸出,是否一個網頁,清理它(剝離/轉義任何類似於HTML的HTML,引號,javascript ...)如果您打印頁面當前的URI,請清理!例如,即使打印PHP_SELF也是不安全的。消毒!反射式XSS主要來自不合法的頁面參數。

    • 如果您從用戶那裏接受任何輸入並保存或打印,請檢查是否檢測到任何危險/無效,並重新輸入。 IDS適用於檢測(如PHPIDS)。然後在存儲/打印前進行清理。然後,當您從存儲/數據庫中打印某些內容時,請再次清理! 輸入 - > IDS /衛生 - >存儲 - >清理 - >輸出

    • 在開發過程中使用代碼掃描器來幫助發現潛在的易受攻擊代碼。

    XSRF

    • 決不用於 破壞性功能GET請求,即 刪除的柱。相反,只有 接受POST請求。 GET使駭客更加容易。
    • 檢查 引用,以確保請求 從您的網站來不 工作。欺騙 引薦者並不難。
    • 使用隨機散列作爲必須在每個請求中存在並且有效的令牌,並且該令牌將在一段時間後過期。將表單打印在隱藏表單域中,並在表單發佈時在服務器端進行檢查。壞人將不得不提供正確的標記來僞造一個請求,如果他們設法獲得真實的標記,它將需要在它過期之前。

    SQL注入

    • 你的ORM或數據庫抽象類應該有消毒方法 - 使用它們,始終。如果你不使用ORM或db抽象類...你應該。
    1

    你可以得到很好的Firefox插件來測試多種漏洞和漏洞,如Security Compass的xss和sql注入。太糟糕了,他們不適用於Firefox 3.0。我希望這些將很快更新。