我正在实验室测试sql注入,需要使用union组合两个sql查询以绕过身份验证,因此我想知道是否有方法在第二个查询中设置静态值,这样我的java代码将只检查作为静态密码发送的用户密码:sql查询应如下所示:
SELECT * FROM users WHERE user = 'user1' UNION SELECT user AS
user1, password AS password FROM users ;'
我的java代码报告了一个错误:
You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to
use near
2条答案
按热度按时间laawzig21#
使用并集
必须选择列的相应编号类型,例如:
edqdpe6u2#
第一,杜绝使用
SELECT *
以确保两个查询返回相同的列数。然后可以在第二个查询中硬编码静态值。