【问题标题】:Possible SQL Injection? What happened?可能的 SQL 注入?发生了什么?
【发布时间】:2014-03-20 15:28:36
【问题描述】:

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

【问题讨论】:

  • 0x7E~ 的 ASCII 字符代码,0x27'0x20 是空格字符,0x3A:。见ASCII table。是的,这是一次 SQL 注入尝试。
  • 我建议立即禁用此网络应用程序,并且在确定它不会受到攻击之前不要重新打开它。

标签: mysql sql-injection


【解决方案1】:

我已经通过渗透测试和测试这些类型的攻击..这个查询是由SQLMap一个渗透测试工具(用python编写的)生成的,用于检查链接是否容易受到Sql Injection的攻击.. bt确保它唯一的测试是否意味着您自己进行此操作..如果他设法访问您的数据库,他甚至可以破坏服务器.. 你可以在这里查看更多关于 sql map 的信息。

Project Sql Map

【讨论】:

    【解决方案2】:

    我相信是的。他们正在测试您是否容易受到 SQL 注入的影响。

    INFORMATION_SCHEMA.CHARACTER_SETS 表已经过测试,因为所有用户都拥有该表的读取权限,无论您以其他方式授予他们什么权限。我无法想象攻击者真的对你有多少个字符集感兴趣,所以他们可能只是想看看他们是否可以让那个查询运行。如果他们确认了这一点,则意味着他们可以继续使用其他攻击。

    您需要尽快阻止该攻击者的 IP 地址。然后查看您的代码至make sure you are safe from SQL injection vulnerabilities

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-23
      • 2013-10-04
      • 1970-01-01
      • 2017-08-08
      • 2010-10-27
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多