mysql - 可能的 SQL 注入(inject)?发生了什么?

标签 mysql sql-injection

我在日志中反复看到一个奇怪的网址,我想知道是否有人能够理解该用户试图做什么。我对 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/

相关文章:

mysql查询从子记录中查找父记录

php - 根据从 MySQL 检索的数据填充 HTML 表头

mysql - Apache:日志存储到 MySQL

mysql - 如何使用 laravel eloquent 从右边的 sql 中获取 5 个字符?

php - MYSQL - 两个表从第二个表中获取每个用户最后跟踪行的记录

c# - 我应该如何处理表单中的单引号以帮助防止 SQL 注入(inject),使用 WebMatrix razor (C#)

php - SQL注入(inject)测试-mysql_query

database - 对于主要数据集使用存储过程的 SSRS 报告,我是否需要担心 SQL 注入(inject)?

php - 如何以简单的形式禁用 SQL 注入(inject)的可能性?

c# - MySQL 存储过程和 C# 数据读取器列错误值