我爲一位客戶開發了一個網站,他們將在網上發佈他們的商品圖片。網址是www.domiainname.com/item-details.cfm?sku=125
。有人試圖瀏覽到產生的www.domiainname.com/item-details.cfm?sku=125%20and%203=3
以及我收到通知的錯誤。這是一個SQL注入攻擊的例子嗎?
我也收到錯誤報告:
[email protected]@version--
item-details.cfm?sku=1291'[email protected]@version
[email protected]@version
最後三個例子肯定是有人試圖進入系統,正確的?
如果我們將這個轉換爲存儲過程,是否會減少或消除插入攻擊的風險?
是的,查詢被包裹在cfqueryparam標籤(例如'' –
HPWD
2012-03-12 13:41:02
我明白他們想用@@版本做什麼,但是3 = 3會告訴他們什麼?我的錯誤捕獲器也會報告IP地址。我想過要添加一個db表格和添加的IP,我從這樣的情況中獲得,然後將這些用戶重新發布到谷歌或其他東西。這是有效的還是隻是一個練習? – HPWD 2012-03-12 13:43:38
通過添加重言式(例如3 = 3),他們試圖從數據庫中獲取所有結果。但是,也許他們不像所有那樣聰明,因爲他們需要在這種情況下使用OR而不是AND!只要你使用''''''''''''''''''''''''''''''''''''''''''您應該可以安全地使用SQL注入攻擊(至少在SELECT上,您可能仍然容易受到對INSERT和UPDATE的XSS攻擊)。儘管如此,驗證你的參數是一個好主意,所以你可以在錯誤發生之前捕獲錯誤 - 嘗試執行''來捕獲這個錯誤,或者使用'isNumeric()得到通知。 –
2012-03-12 13:53:15