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

sqli-labs靶场通关笔记:第9关 时间盲注

1.审题

 这里不管输入什么参数,界面永远只有“you are in...”一种回显,不知道是对还是错,布尔盲注无法使用了。

2.思考

如果能通过构造语法来判断对错,是不是可以实现盲注。

这里用到if()三元函数和sleep()函数。

语法:IF(condition, value_if_true, value_if_false)

  • condition:布尔表达式(TRUE/FALSE)

  • value_if_true:条件为真时返回的值

  • value_if_false:条件为假时返回的值

sleep()函数的作用是响应延迟,比如sleep(5)就是时间响应延迟5秒。

//如果1=1成立,响应延迟5秒,否则立刻响应;
if(1=1,sleep(5),0)

1=1这个条件是永真,加上前面的条件来判断网页响应时间,如果立刻响应,则说明前一个条件存在错误。

 通过语句拼接,发现单引号会延迟响应,双引号则马上响应,可以判断是单引号闭合。

既然可以通过响应延迟来判断条件对错,那么意味着可以盲注,这就是时间盲注。

3.做法

(1)判断闭合方式。

(2)判断数据库名称长度。

//判断名称长度是否大于8;
?id=1' and if(length(database())>8,sleep(5),0) --+

 (3)逐个位判断字符,得到数据库名称。

//判断名称的第一个字符是不是小写字母;
?id=1' and if(ascii(substr(database(),1,1)) between 97 and 122,sleep(5),0) --+

(4)进一步注入表,字段,数据。

手工注入需要耗费的是时间,掌握原理后也可以使用工具注入。

http://www.xdnf.cn/news/15443.html

相关文章:

  • NO.5数据结构串和KMP算法|字符串匹配|主串与模式串|KMP|失配分析|next表
  • 前端构建工具 Webpack 5 的优化策略与高级配置
  • 代码随想录算法训练营第十八天
  • Appium源码深度解析:从驱动到架构
  • nginx安装
  • [Subtitle Edit] 语言文件管理.xml | 测试框架(VSTest) | 构建流程(MSBuild) | AppVeyor(CI/CD)
  • COZE token刷新
  • 代码随想录|图论|15并查集理论基础
  • ARC 03 从Github Action job 到 runner pod
  • Java4种设计模式详解(单例模式、工厂模式、适配器模式、代理模式)
  • 【DeepSeek实战】29、金融数据抓取全攻略:从AKShare到API实战,Python量化分析必备指南
  • JavaScript 中一些常见算法的实现及详细解析
  • 详解Linux下多进程与多线程通信(二)
  • Web应用性能优化之数据库查询实战指南
  • 时间的弧线,逻辑的航道——标准单元延迟(cell delay)的根与源
  • 单页面和多页面的区别和优缺点
  • 通用定时器GPT
  • 【Linux学习笔记】认识信号和信号的产生
  • 区块链平台之以太坊深入解读:技术、经济与生态的全面解析
  • 剑指offer57_和为S的两个数字
  • 串口连接工控机
  • 【离线数仓项目】——电商域DIM层开发实战
  • 服务端高效处理拖拽排序
  • 锁相环初探
  • 【6.1.2 漫画分布式事务技术选型】
  • BaseDao 通用更新方法设计与实现
  • 【PMP备考】敏捷思维:驾驭不确定性的项目管理之道
  • Java ThreadLocal详解:从原理到实践
  • 快速过一遍Python基础语法
  • 第34次CCF-CSP认证第4题,货物调度