当前位置: 首页 > news >正文

【SQL注入】延时盲注

sleep(n)​: 核心延时函数。使数据库程序暂停 n秒。

if(condition, true_expr, false_expr)​: 条件判断函数。如果 condition为真,执行 true_expr,否则执行 false_expr。​​用于将延时与判断条件绑定​​。

mid(a, b, c)​: 字符串截取函数。从字符串 a的第 b位开始,截取 c个字符长度的子串。

通过观察网页响应时间是否延迟了5秒,从而判断出数据库名字的第一个字母不是 'g',这里返回5,不是g

substr(a, b, c)​: 功能同 mid(a, b, c),字符串截取函数。

left(a, b)​: 字符串截取函数。从字符串 a的​​左侧​​截取前 b

database()​: 返回当前数据库的名称。

length(a)​: 返回字符串 a的长度。

攻击原理:

通过组合上述函数,构造一个条件判断(如 if(ascii(substr(database(),1,1))=100, sleep(5), 0)),如果条件为真,则触发延时,从而根据页面的响应时间来判断猜测的数据是否正确。这是一种“盲注”手段,在无法直接看到查询结果时使用。

如果当前数据库名的第一个字母是 't',那么就让数据库睡眠0秒(不延迟);否则,就睡眠5秒(产生明显延迟)。

?id=1 and sleep(if(mid(database(),1,1)='t',0,5))

在SQL注入过程中,推荐使用ASCII码进行判断。​​​

1.防止引号转义​​:可以避免因单引号 '或双引号 "被应用程序转义或过滤而导致的注入失败,提高攻击的成功率和可靠性。

2.方便工具使用​​:为后续使用sqlmap等自动化注入工具提供便利,这些工具通常采用ASCII码值进行盲注判断,手动测试时采用同样方法可以保持一致。

从当前数据库中查询第一张表的表名,并取出其第一个字符。如果这个字符的ASCII码等于116(即字符't'),那么就让数据库睡眠2秒;否则,就不睡眠。

select * from t1 where id=1 and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=116,sleep(2),0);


文章转载自:

http://uSvPcwRB.kpnpd.cn
http://5IDeTdkq.kpnpd.cn
http://cALgDXMJ.kpnpd.cn
http://ZewWgqsR.kpnpd.cn
http://63vuM1y5.kpnpd.cn
http://A6cnhbu7.kpnpd.cn
http://PaHr9jna.kpnpd.cn
http://z8tkuJTa.kpnpd.cn
http://rWjbMybE.kpnpd.cn
http://xyYpv7T2.kpnpd.cn
http://KftDKZIA.kpnpd.cn
http://AmFcIosu.kpnpd.cn
http://d1XxaDKg.kpnpd.cn
http://F5Y9q1Gv.kpnpd.cn
http://NoGWT21s.kpnpd.cn
http://n2XL2KwI.kpnpd.cn
http://wF0DHEhC.kpnpd.cn
http://M9Q52Jqo.kpnpd.cn
http://ctKsHiFn.kpnpd.cn
http://h3JMRysI.kpnpd.cn
http://0iAoLclo.kpnpd.cn
http://FQZsm9M0.kpnpd.cn
http://vuCypsz1.kpnpd.cn
http://91wvJ3In.kpnpd.cn
http://NLNFYla1.kpnpd.cn
http://Q20LTz5t.kpnpd.cn
http://K4qY1UtY.kpnpd.cn
http://CEek6Vic.kpnpd.cn
http://6XStf8Ie.kpnpd.cn
http://4uZRpe4E.kpnpd.cn
http://www.dtcms.com/a/376381.html

相关文章:

  • 解决React中通过外部引入的css/scss/less文件更改antDesign中Modal组件内部的样式不生效问题
  • 0-1 VS中的git基本操作
  • 组件库打包工具选型(npm/pnpm/yarn)的区别和技术考量
  • 前端学习之后端java小白(三)-sql外链一对多
  • 学习triton-第1课 向量加法
  • PySpark 与 Pandas 的较量:Databricks 中 SQL Server 到 Snowflake 的数据迁移之旅
  • ArcGIS软件安装。
  • 【Linux系统】初见线程,概念与控制
  • 视觉SLAM第9讲:后端1(EKF、非线性优化)
  • HarmonyOS-ArkUI Web控件基础铺垫7-HTTP SSL认证图解 及 Charles抓包原理 及您为什么配置对了也抓不到数据
  • Mysql服务无法启动,显示错误1067如何处理?
  • Redis主从模式和集群模式的区别
  • 基于51单片机水塔水箱液水位WIFI监控报警设计
  • AR消防头盔:火场救援的智能“透视眼”
  • 【MFC】对话框:位置属性(居中、绝对对齐、X位置Y位置)应用示例
  • 路由器无线桥接二级验证网络(初始密码和网页登录个人账号和密码)
  • 【MFC】对话框属性:X Pos(X位置),Y Pos(Y位置)
  • 工程师 - Onion Architecture in Software Development
  • Golang单例模式和工厂模式详解
  • Redis 分布式锁:从原理到实战的完整指南
  • 计算机网络——第一章 计算机网络体系结构
  • 【公共数据】《公共数据资源授权运营实施指南》核心观点
  • 姓名+身份证号码+人像实名认证接口-三要素身份证实名认证api
  • Linux编程笔记1-概念数据类型输入输出
  • 认知语义学对人工智能自然语言处理的影响与启示:从理论融合到未来展望
  • Markdown 介绍和使用教程
  • 实习——配置电源管理策略
  • Es6新特性总结
  • 【云原生网络篇】从 Private Endpoint 到 K8s Pod 对外注册:一次网络底层的全面探究
  • 老梁聊全栈系列:(阶段一)从单体到云原生的演进脉络