是否有可能使用完全LinqToSQL或Entity Framewok遭受SQL注入的項目。實體框架,LinqToSQL和sql注入
我認爲這可能不是因爲ORM生成的SQL應該是免費的sql注入。但我不確定。
是否有可能使用完全LinqToSQL或Entity Framewok遭受SQL注入的項目。實體框架,LinqToSQL和sql注入
我認爲這可能不是因爲ORM生成的SQL應該是免費的sql注入。但我不確定。
當您按照預期使用這些框架時,即直接使用這些實體/表,那麼沒有。所有字符串比較(即where name = 'smith'
)都被參數化。
唯一脆弱點是:
任何字符串可以直接抵靠的上下文中執行。 dbContext.ExecuteQuery();
與任何種類的破壞性字符串。
執行使用任何給定的參數的
VS2012開箱即用。 _其中(a => a.column ==「Quote'」)_確實轉化爲綁定var _ @ 1 = [Extent1]。[column] _。和_ Where(a => a.column!=「Quote'」)_翻譯成_ N'Quote'''= [Extent1]。[column] _ – 2013-04-08 20:59:54
「這取決於」。
針對L2S或EF實體的簡單LINQ查詢是注入安全的,但您始終可以調用不是注入安全的存儲過程或函數。
這顯然是一個邊緣情況,但是它發生在人們編寫SPs /注入時打開的函數(使用proc中的參數值構成SQL中的字符串)。
重複動態SQL存儲過程http://stackoverflow.com/questions/473173/will-using-linq-to-sql-help-prevent-sql -injection – 2010-08-13 04:14:54
不完全重複,因爲這也要求實體框架。此外,答案實際上是說在某些情況下可能會發生攻擊 – 2010-08-13 04:36:03