我正在阅读有关 sql注入的书,并提供了有关“如何使用注释绕过身份验证”的示例:
sql代码:
select * from users where username = '' AND password = '' ;
和其他注释:#或-已过滤,因此我们只能使用/ ** /:
使用注释后的sql代码:
select * from users where username = 'admin' /* ' AND password = '*/'' ;
并将返回
select * from users where username = 'admin'''
然后登录,但这就是写的书,但是当我在登录中对其进行测试时,它不起作用。
-PS:我在phpmyadmin和sql-server管理中对其进行了测试,并且不起作用, 那本书错了吗?还是我做错了?如果可以的话,使用/ ** /的正确方法是什么?
答案 0 :(得分:1)
您添加了额外的'
。
select * from users where username = '' AND password = ''
可以更改为:
select * from users where username = 'admin /*' AND password = '*/'
这将返回:
select * from users where username = 'admin'