2010-03-16 48 views
11

我最近在一個將XSS攻擊直接寫入數據庫的工具中發現this blog entry。對於掃描應用程序中的弱點而言,它看起來像是非常好的方法。是否有跨平臺工具將XSS攻擊直接寫入數據庫?

我試過在Mono上運行它,因爲我的開發平臺是Linux。不幸的是,它在Microsoft.Practices.EnterpriseLibrary內部深處發生了System.ArgumentNullException崩潰,我似乎無法找到關於該軟件的足夠信息(這似乎是一個單一項目,沒有主頁,也沒有進一步的開發)。

有人知道有類似的工具嗎?優選地,它應該是:

  • 跨平臺(使用Java,Python,.NET /單聲道,甚至是跨平臺的C是確定)
  • 開源(我真的很喜歡能夠審覈我的安全工具)
  • 談得來廣泛DB產品(大的有最重要的:MySQL和甲骨文,SQL服務器,...)

編輯:我想澄清我的目標:我想要一個工具,直接寫入結果成功將XSS/SQL注入攻擊數據庫。這個想法是,我想檢查我的應用程序中的每個地方是否正確輸出編碼。檢測並避免首先到達的數據是完全不同的事情(並且在顯示由第三方應用程序寫入數據庫的數據時可能無法實現)。

編輯2:科爾內留Tusnea,我聯繫到上述工具的作者,自發布工具在CodePlex上作爲免費軟件:http://xssattack.codeplex.com/

+0

只是爲了記錄博客條目現在是404,看起來有趣但是... – Eric

+0

一個快速谷歌搜索不顯示Tusneas博客新的位置,很遺憾。 –

回答

2

我認爲metasploit具有您正在尋找的大部分屬性。它甚至可能是唯一一個擁有你指定的全部內容的人,因爲我能想到的所有其他人都是封閉源。有幾個處理XSS的現有模塊,特別是您應該查看一下:HTTP Microsoft SQL注入表XSS感染。從該模塊的聲音中,它能夠完成你想要做的事情。 該框架是用Ruby編寫的,我認爲它應該很容易用自己的模塊進行擴展,您可能需要/想要做的。 我希望有所幫助。

http://www.metasploit.com/

+0

這絕對是正確的方向!它仍然通過利用漏洞寫入數據,這對我的用例來說不是必需的,但它是做我想做的。 –

+0

好的,謝謝你的澄清。在這種情況下,我會從您提到的博客鏈接到的xssattack工具zip中獲取xssAttacks.xml文件。我會編寫一個腳本來查看我的測試/ dev數據庫,並將其中一個攻擊插入到任何類型爲varchar/string/test/etc的列中。這可能是你最好的選擇。 – mikewilliamson

+0

是的,基本上,如果不存在這樣的工具,我會這樣做:將工具移植到Java(因爲這是我最瞭解的)。我只是希望還有別的東西存在。 –

1

我的一位朋友一直在說,那php-ids是相當不錯的。我還沒有嘗試過自己,但它聽起來好像它可能近似匹配你的描述:

  • 開源(LGPL),
  • 跨平臺 - PHP是不是在你的名單,但也許這是好嗎?
  • 檢測到「各種各樣的XSS,SQL注入,頭注入,目錄遍歷,RFE/LFI,DoS和LDAP攻擊」(這是來自FAQ)
  • 登錄到數據庫。
+0

對不起,但那不是我要找的。我試圖通過在我的數據庫中注入XSS攻擊字符串來測試我的輸出編碼。這似乎是檢測當前攻擊的過濾器,它只適用於PHP應用程序。 –

+0

@Joachim Sauer:我完全誤解了你的句子「把XSS攻擊直接寫入數據庫」 - 我以爲你的意思是應該寫出關於直接發生在數據庫上的攻擊的事實。 –

1

我不認爲有這樣的工具,除了你指出的那個。我認爲有一個很好的理由:這可能不是最好的方法來測試每個輸出是否適用於適用的上下文。

從關於該工具的閱讀看來,前提是將隨機xss向量插入數據庫,然後瀏覽應用程序以查看是否有任何這些向量成功。至少可以這麼說,這是一種屢試不爽的方法。

我認爲一個更好的主意是執行代碼評論。

您可能會發現查看http://owasp.org的一些可用資源(即應用程序安全驗證標準(ASVS),測試指南和代碼複審指南)會有幫助。

+0

@jah:我同意可能會有更好的方法,但是代碼評論可能就像碰碰運氣一樣。我並不是說這樣的工具可能是最終所有的安全工具(沒有工具可以),但它可能是一個非常有用的工具,用於初步估算。 –

+0

@Joachim:我不同意'代碼評論可能就像碰碰運氣'(他們可能執行得不好 - 當然)。這個具體工具的問題是雙重的:首先,似乎沒有任何控制哪些媒介被測試的方法,以確保爲每個領域嘗試廣泛的技術是不成問題的,其次,沒有辦法將特定的輸入映射到它們各自的輸出 - 您只需瀏覽希望獲得匹配的應用程序即可。 如果您正確定義了一組安全控制,應該很容易檢查它們是否正在用於代碼審查。 – jah

2

不確定這是否是您要的,它是HTTP/HTTPS的參數fuzzer。

我有一段時間沒有使用它,但是IIRC它是您和所涉及的Web應用程序之間的代理 - 並且在認定響應是否「有趣之前將XSS/SQL注入攻擊字符串插入到任何輸入字段「或不,因此應用程序是否易受攻擊。

http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project

從你的問題我猜這是一種模糊器的您正在尋找,和一個專門爲XSS和Web應用程序;如果我是對的 - 那麼這可能會幫助你!

它是開放Web應用程序安全項目(OWASP)的一部分,「jah」已將您鏈接到上面。

+0

這看起來也很有趣,但這不是我特別想找的。我想測試我的應用程序的正確*輸出編碼*!爲此,我需要數據庫中的數據**,就像攻擊已成功**一樣,無論我的應用程序是否易受攻擊。 –

+1

@Joachim:如果你的數據庫提供了一個web界面,那麼也許你可以在該界面上運行參數fuzzer,這樣它可以直接在數據庫中插入任何東西(也許可以首先定義一些表的可更新視圖,所以它不能改變主鍵等)然後你必須檢查,如果你的應用程序暴露非轉義的內容。這可能是一種解決方法,如果你找不到更好的工具... –

+0

@chris_l:整潔的想法!如果我找不到「完美」工具,我會研究一下。 –