执行时
SHOW FULL PROCESSLIST;
由mysql管理员用户 我总是看到这一行:
select * from user where email='' AND (SELECT * FROM (SELECT(SLEEP(5-(IF(ORD(MID((SELECT IFNULL(CAST(email AS CHAR),0x20) FROM admin_new.`user` ORDER BY email LIMIT 105,1),5,1))>102,0,5)))))ylrK) AND 'ncED'='ncED'
每次都不同
select * from user where email='' AND (SELECT * FROM (SELECT(SLEEP(5-(IF(ORD(MID((SELECT IFNULL(CAST(email AS CHAR),0x20) FROM admin_new.`user` ORDER BY email LIMIT 106,1),4,1))>96,0,5)))))rePG) AND 'xuFI'='xuFI'
那是什么?
这是正常的吗?
我怎么能在我的剧本中找到它?
答案 0 :(得分:1)
这意味着您的网站容易受到SQL注入攻击,并且您正在看到一个漏洞利用。
基本上,此查询正在调查您的数据库结构,以便让攻击者获得有关表名和列名的信息。在学习之后,他们可以尝试提取他们需要的信息。
显然泄漏是使用select * from user where email=
的地方。
如果您使用的是PHP,请参阅此问题以了解如何保护代码免受SQL注入:How can I prevent SQL injection in PHP?