#是什么意思在sql?

前端之家收集整理的这篇文章主要介绍了#是什么意思在sql?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有谁知道什么样的OR 1#意味着在 mysql注入的上下文?

解决方法

它是 MySQL的版本的行注释分隔符.在标准sql中,行注释分隔符为 – .
-- This is a standard sql comment.
# This is a MysqL comment.

所以在sql注入的上下文中,如果攻击者知道你正在使用MysqL,他可能会使用它来突然终止恶意的sql语句,导致MysqL忽略#后面的任何东西,只执行它之前的内容.然而,这只对单行sql语句有效.以下是一个例子:

输入:

Username: fake' OR 1#
Password: pass

结果sql

SELECT * FROM users WHERE username = 'fake' OR 1#' AND password = 'pass'

这是执行的,它返回每一行:

SELECT * FROM users WHERE username = 'fake' OR 1

猜你在找的MsSQL相关文章