Bol*_*ock 39
这是MySQL的行注释分隔符的版本.在标准SQL中,行注释分隔符是--.
-- This is a standard SQL comment.
# This is a MySQL comment.
Run Code Online (Sandbox Code Playgroud)
因此,在SQL注入的上下文中,如果攻击者知道您正在使用MySQL,他可能会使用它突然终止恶意SQL语句,导致MySQL忽略其背后的任何内容#并仅执行之前的内容.但是,这仅对单行SQL语句有效.这是一个例子:
输入:
用户名:
fake' OR 1#
密码:pass
结果SQL:
SELECT * FROM users WHERE username = 'fake' OR 1#' AND password = 'pass'
Run Code Online (Sandbox Code Playgroud)
这是执行的,它返回每一行:
SELECT * FROM users WHERE username = 'fake' OR 1
Run Code Online (Sandbox Code Playgroud)