这是什么样的SQL注入?

 手机用户2602921555 发布于 2023-02-09 23:58

我发现有人试图通过密码恢复表单攻击我们公司的网站.攻击是SQL或代码注入.它看起来像这样:

'; if (db_name()))<48) waitfor delay \\\'00:00:04\\\'--'

上述陈述有几种变体,例如

'; if (Len((db_name()))=62) waitfor delay \\\'00:00:04\\\'--'
'; if (system_user))<48) waitfor delay \\\'00:00:04\\\'--'
'; if (Len((system_user))=63) waitfor delay \\\'00:00:04\\\'--'

无法谷歌任何与此次攻击相关的内容.

希望有人知道这是什么类型的攻击以及攻击者在这里尝试做什么?

1 个回答
  • 这是一种基于时间的SQL注入攻击.

    攻击者通过页面加载的速度来了解查询是否为真waitfor delay.如果为真,那么将有4秒的延迟.

    接下来,攻击者可以使用子字符串从数据库中当前数据库用户有权访问的任何列中缓慢提取数据.

    例:

    第一个字符= a

     if(ASCII(SUBSTRING((SELECT password FROM admin), 1, 1))=97) waitfor delay ...
    

    第二个字符= b

    if(ASCII(SUBSTRING((SELECT password FROM admin), 1, 2))=98) waitfor delay ...
    

    如果列密码的第一个字母是'a'(ASCII('a') === 97),页面将会延迟.通过使用子字符串迭代每个字符,他们可以慢慢地提取您的数据.

    2023-02-10 00:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有