问题是您将查询字符串上的SQL命令连接到SQL命令中.
大概你的代码就像是
"select * from preview where ID=" + Request.QueryString["id"]
Run Code Online (Sandbox Code Playgroud)
一旦你使用了QueryString就变成了
select * from preview where ID=611111161 and 1=0
UNION ALL
SELECT 1,2,3,4,password,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,user=id,70,71
FROM admin
Run Code Online (Sandbox Code Playgroud)
EG:他让您的管理员帐户登录显示在预览页面上.
您应该始终确保SQL转义从用户获得的任何输入,或者甚至更好地使用参数化查询,服务器将负责这一点.在不知道SQL服务器的语言或类型的情况下,我无法真正指出您需要执行哪些代码的方向.