2010-02-28 62 views
23

我正在開發一個Web應用程序。就像一個正確的,我過去曾經使用過Joomla這樣的東西來製作很棒的東西,但現在我終於用PHP,MySQL和CodeIgniter搞砸了。測試Web應用程序中的安全漏洞:最佳實踐?

當您正在製作處理大量數據的嚴肅網絡應用程序時,我應該採取哪些預防措施來對付我的數據輸入以完全消毒?我知道有明顯的修剪,轉義,xss清理等 - 但我應該採用哪些其他技術來停止注入數據庫?

不僅如此,但有沒有任何非破壞性的數據庫注入代碼,我可以測試我所有的輸入?如在它,它會注入visibile,但實際上不會對我的測試數據庫有任何傷害?我不完全是黑客,需要一點指導。

黑客用來破壞或讀取用戶數據的其他常用方法是什麼,以及我該如何檢查這些數據?我沒有錢聘請安全顧問,因爲我只有16歲,但對計算機有很好的經驗,如果給出一些提示,我肯定可以拿出一些竅門。

我知道這是一大堆問題,但總結一下,你如何確保一切都100%安全?

+3

保護Web應用程序是一個廣泛的主題。有關於它的整本書。因此,這個問題雖然很好,但在我看來並不具體,並且可以關閉或成爲社區wiki。關於如何防止SQL注入,XSS,CSRF等,也已經有很多問題了。 – Gordon 2010-02-28 14:52:06

回答

19

SQL注入和XSS是程序員犯的最常見的錯誤。好消息是,只要你有合適的軟件,它們就可以自動測試。當我使用筆測時,我使用SitewatchWapiti來查找Web應用程序漏洞。 Acunetix超過了定價。

但是,你不能只是發射一些自動化的工具,並期望一切工作。您必須採取一些預防措施,您必須使用ANY您選擇的漏洞掃描程序。

1)確保您的php.ini中的display_errors = On Sql Injection測試依賴於能夠在響應頁面中看到mysql錯誤消息!沒有錯誤,沒有發現漏洞!

2)掃描應用程序的認證區域。創建專門用於測試的用戶帳戶。 Acuentix有一個簡單的嚮導,您可以創建登錄序列。如果你正在使用馬鹿,你可以給馬鹿餵馬鈴薯餅,或者給馬鹿提供一個發佈後的請求,但這是一個棘手的問題。

AFTER您已經測試了您的應用程序,然後測試您的服務器是否存在配置錯誤。 要測試你的服務器,那麼你需要運行OpenVAS這是現在的一個商業產品Nessus新的更多免費版本。那麼你應該跟着PhpSecInfo。這些測試會通知您有關配置的問題,或者您正在運行舊的易受攻擊的軟件。

什麼都不會100%安全,EVER。無論你做什麼,都會有漏洞在漏洞中滑落。所有開發平臺都存在漏洞,導致無法進行工具測試。您使用的測試工具中也存在錯誤。有假郵政和假陰性和一些測試,只是不工作,一個很好的例子,我從來沒有見過一個實際上發現合法漏洞的自動CSRF工具。 Acunetix的CSRF測試完全浪費時間。

另外還有OWASP testing guide,它有更詳細的說明。這不要與OWASP Top 10混淆,這也是一個很好的資源。 PHP Security Guide也是一個很好的php程序員資源。

4

I don't have the money to hire a security consultant since I'm only 16
您是16並不意味着你沒有錢聘請:d
你不需要僱用任何人。有許多免費的在線工具可用於測試Web應用程序的漏洞。

  1. 嘗試使用http://www.zubrag.com/tools/sql-injection-test.php測試SQL注入漏洞

  2. http://www.parosproxy.org網頁通訊記錄,網絡蜘蛛,哈希計算器和一個常用的Web應用攻擊,如SQL注入和跨掃描儀網站腳本

  3. HP WebInspect software [不免費]測試常見的網絡攻擊,如參數注入,跨站點腳本,目錄遍歷,[嘗試谷歌搜索]

  4. http://portswigger.net/suite/Burp Suite是一個攻擊Web應用程序的集成平臺。它包含所有Burp工具,它們之間有許多接口,旨在促進和加速攻擊應用程序的過程。所有工具共享用於處理HTTP請求,持久性,身份驗證,上游代理,日誌記錄,警報和可擴展性的相同健壯框架。

+0

感謝所有的鏈接,太棒了! – Jack 2010-02-28 15:29:38

+0

webinpsect和paraos是浪費時間,我沒有使用其他。 – rook 2010-02-28 17:51:20

0

使用WebCruiser Web漏洞掃描程序來掃描SQL注入漏洞,WebCruiser不僅是一個Web安全掃描工具,也是一個自動SQL注入工具,XPath注入工具,一個XSS工具。