我在我的时事通讯订阅者数据库的“电子邮件”字段中找到以下内容:' OR 1=1/*
我知道这是 SQL 注入(inject),但仅此而已。我已经用谷歌搜索了一下,但我仍然清楚它到底想要达到什么目的。这发生在 11 月初,据我所知,我们在那段时间没有停电。有哪位好心人能告诉我这家伙可能在做什么吗?有没有办法知道他是否达到了他想要做的事情?
我对此几乎一无所知,我很担心。 :(
最佳答案
'OR 1=1
是无论如何都要使查询成功的尝试
/*
试图开始多行注释,因此查询的其余部分将被忽略。
一个例子是
SELECT userid
FROM users
WHERE username = ''OR 1=1/*'
AND password = ''
AND domain = ''
如您所见,如果您在不转义 '
的情况下填充用户名字段,无论用户在查询中传递什么凭据,都将返回系统中可能授予攻击者访问权限的所有用户 ID(如果管理员是您的第一个用户,则可能具有管理员访问权限)。您还会注意到查询的其余部分将被注释掉,因为 /*
包括真正的 '
。
您可以在数据库中看到该值的事实意味着它已被逃脱并且特定攻击没有成功。但是,您应该调查是否进行了任何其他尝试。
关于mysql - 在我的时事通讯数据库中发现 'OR 1=1/* sql injection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867266/