SQL是否可以注入以DESC
或ASC
结尾的单个查询,其中包含这些值或从变量中提取?
SELECT * FROM [master].[dbo].[spt_values] ORDER BY low asc
尝试添加分号和新语句将不起作用,因为语句直接加载到记录集中。
我们尝试了半冒号新声明 和 联盟 等
有没有办法将数据集连接到第一个没有嵌套的数据集,因为第一个没有嵌套?
编辑: 分号新命令不起作用,因为它全部作为记录集返回。它只是用新命令抛出各种错误。它目前正在修复。只是试图向高层管理人员表明这些事情并不是好事。
答案 0 :(得分:2)
是的,当然你可以在那里注射。试试这个
SELECT * FROM [master].[dbo].[spt_values] ORDER BY low asc; DROP TABLE Users;
答案 1 :(得分:1)
是的,这是可能的。为什么不验证不受信任的(!)输入字符串?
Assert.IsTrue(str == "asc" || str == "desc");