执行 SHOW FULL PROCESSLIST 时的奇怪查询;
Strange query when execute SHOW FULL PROCESSLIST;
当我执行
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'
那是什么?
正常吗?
我怎样才能在我的脚本中找到它?
这意味着您的网站容易受到 SQL 注入攻击,您正在看到一个漏洞。
基本上这个查询是在调查你的数据库结构,让攻击者获得关于 table 和列名的信息。学习之后,他们可以尝试提取他们需要的信息。
显然泄漏是在使用 select * from user where email=
的地方。
如果您使用 PHP,请参阅此问题以了解如何保护您的代码免受 SQL 注入:How can I prevent SQL injection in PHP?
当我执行
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'
那是什么? 正常吗? 我怎样才能在我的脚本中找到它?
这意味着您的网站容易受到 SQL 注入攻击,您正在看到一个漏洞。
基本上这个查询是在调查你的数据库结构,让攻击者获得关于 table 和列名的信息。学习之后,他们可以尝试提取他们需要的信息。
显然泄漏是在使用 select * from user where email=
的地方。
如果您使用 PHP,请参阅此问题以了解如何保护您的代码免受 SQL 注入:How can I prevent SQL injection in PHP?