【问题4】(5分) 系统实现时,对用户的登录判断所用的动态SQL语句如下: “SELECT* FROM Users WHERE
【问题4】(5分)
系统实现时,对用户的登录判断所用的动态SQL语句如下:
“SELECT* FROM Users WHERE User_Name=‘”+strUserName+“‘AND Password=‘”+ strPassword+“’;”
该SQL语句是否能防止SQL注入?请设计一个测试用例,以测试SQL注入,并说明防止SQL注入的方法。
正确答案:【问题4】(5分)该SQL语句不安全,容易造成SQL注入。设计测试用例:参考用例1: strUserName: Zhang’-- strPassword: San 【注:上述用例将使得该SQL语句变为: SELECT*FROM Users WHERE User_Name=‘Zhang’--AND Password =‘San’; 】参考用例2: strUserName: Zhang’or‘a’='a strPassword: San’ or‘a’='a 【注:上述用例将使得该SQL语句变为: SELE
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
