有人天天高唱要什么安全,结果自己写代码的时候自己用Format函数作死,Demo如下:
string.Format(" and Name like '%{0}%'", keywords);
写上面代码的人,麻烦劳累下,改成下述语句吧,不然你自己作死没人救得了你:
DECLARE @name NVARCHAR(50) SET @name='元 '' or 1=1 ---' exec sp_executesql N'SET @name = ''%'' + @name + ''%''; SELECT * FROM Items WHERE 1 = 1 AND Name LIKE @name', N'@name nvarchar(50)', @name=@name