參數真的足以阻止Sql注入嗎?我一直在向我的同事們講道,在這里談論在SQL查詢中使用參數的好處,特別是在.NET應用程序中。我甚至承諾給予他們免受SQL注入攻擊的抵抗力。但我開始懷疑這是否真的如此。是否有任何已知的SQL注入攻擊可以成功對抗參數化查詢?例如,您可以發送一個導致服務器緩沖區溢出的字符串嗎?當然還有其他考慮因素可以確保Web應用程序是安全的(比如清理用戶輸入和所有內容),但現在我正在考慮SQL注入。我對MsSQL 2005和2008的攻擊特別感興趣,因為它們是我的主要數據庫,但所有數據庫都很有趣。編輯:澄清參數和參數化查詢的含義。通過使用參數我的意思是使用“變量”而不是在字符串中構建SQL查詢。所以不要這樣做:SELECT * FROM Table WHERE Name = 'a name'我們這樣做:SELECT * FROM Table WHERE Name = @Name然后在查詢/命令對象上設置@Name參數的值。
參數真的足以阻止Sql注入嗎?
翻閱古今
2019-07-30 14:56:57