我看过一段sql注入示例代码,如下所示,sql中的'/ *'是什么意思?
$_POST['username'] = chr(0xbf) . chr(0x27) . ' OR username = username /*';
$_POST['password'] = 'guess';
$mysql['username'] = addslashes($_POST['username']);
$mysql['password'] = addslashes($_POST['password']);
$sql = "SELECT * FROM users WHERE username = '{$mysql['username']}' AND password = '{$mysql['password']}'";
$result = $db->query($sql);
答案 0 :(得分:8)
/*
是评论的开头。 */
结束评论。攻击者试图注释掉查询的其余部分。
答案 1 :(得分:0)
/*
开始发表评论,因此在此之后的所有内容都会被忽略,直到遇到*/
您的攻击者引入了一条公开评论,从而抵消了密码检查的影响
答案 2 :(得分:0)
/ *表示多行评论的开始
例如:
/*
CREATE PROC A_SAMPLE_PROC
BEGIN
AS
SELECT * FROM A_SAMPLE_TABLE
END
*/
而--
表示单行评论。在MS SQL Server Studio中注释的键盘快捷键是Ctrl + K, Ctrl + C