2017-01-31 59 views
1

我使用Acunetix掃描了我的一個測試站點,並且由於沒有封閉的引號,它顯示它有一些SQL注入漏洞。現在已知的SQL注入漏洞是什麼?

如果我在表格中輸入1'",我找回錯誤消息。

如果我在URL輸入

"...MessageHandler.asmx/ChangePassword?PIN=1%27"&CurrentPwd=1&newPwd=1"

,我得到錯誤信息。

我的問題是,我從哪裏出發去捅更多?我已經閱讀了關於注射的教程,但我似乎無法弄清楚從這一點開始做什麼。我知道我有一個注射漏洞,但現在呢?

接下來的步驟是什麼,以查看我可以看到哪些其他數據?

+0

您是否在利用攻擊媒介或修復它? –

+0

https://www.owasp.org/index.php/Testing_for_SQL_Injection_(OTG-INPVAL-005) –

+0

寫這個測試網站的編程語言是什麼? –

回答

0

在Microsoft SQL Server中,使用存儲過程會否定SQL注入。即使作爲參數,它也不會執行發送的命令。如果用存儲過程替換嵌入式SQL,您將消除SQL注入威脅。通過GUI驗證例程來清理輸入仍然是一種很好的做法,但這些可以通過經驗豐富的黑客輕鬆傳遞,因此消除嵌入式SQL也很重要。

+0

存儲過程不是緩解注入攻擊的唯一手段,存儲過程的使用也不能保證一個人不受此類攻擊的影響。您可以通過Prepared Statements使用嵌入式SQL,並且可以在不使用存儲過程的情況下更好地防止注入攻擊。 – alroc