在过去,当我看到有人试图搞砸输入变量时 - 我只是阻止他们的IP ......但似乎他们只是使用不同的IP并再试一次。所以,我设置了陷阱,以便在尝试时提醒我,并试图找出他们想要获得的内容,以便我可以修复任何可能的漏洞。
我有一次尝试,他们将var更改为:
-999.9 / *!30000 UNION ALL SELECT 0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536, 0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536,0x31303235343830303536 * / -
我希望有人可以帮忙解释一下这意味着什么?
答案 0 :(得分:1)
攻击者正在尝试注入一个包含在MySQL’s variant of C style comments中的UNION SELECT,允许条件排除内容。
在这种情况下,如果MySQL版本大于或等于3.0.0,则注释不会被视为注释。在这种情况下,将strings in hexadecimal notation(即0x31303235343830303536
)等效于'1025480056'
的UNION SELECT附加到现有语句中。通过注入行尾注释--
来忽略同一行中的任何剩余代码。