执行SHOW FULL PROCESSLIST时的奇怪查询;

时间:2016-08-24 15:36:27

标签: mysql sql sql-injection

执行时

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'
那是什么? 这是正常的吗? 我怎么能在我的剧本中找到它?

1 个答案:

答案 0 :(得分:1)

这意味着您的网站容易受到SQL注入攻击,并且您正在看到一个漏洞利用。

基本上,此查询正在调查您的数据库结构,以便让攻击者获得有关表名和列名的信息。在学习之后,他们可以尝试提取他们需要的信息。

显然泄漏是使用select * from user where email=的地方。

如果您使用的是PHP,请参阅此问题以了解如何保护代码免受SQL注入:How can I prevent SQL injection in PHP?