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

CTF--Web安全--SQL注入之报错注入

CTF–Web安全–SQL注入之报错注入

一、报错注入的概念
用户使用数据库查询语句,向数据库发送错误指令,数据库返回报错信息,报错信息中参杂着我们想要获取的隐私数据。通常在我们在页面显示中找不到回显位的时候,使用报错注入。
二、报错注入常见的三种形式
1、extractvalue报错注入
2、updatexml报错注入
3、floor报错注入
除以上三种,还有大量的报错注入形式,以上三种最为常见,其中floor报错注入较复杂。
在这里插入图片描述

三、extractvalue报错注入
extractvalue:extract(获取) + value(值,有价值的信息)
打开HackBar,注入语句:
在这里插入图片描述

备注:
1、0x7e 为 ‘~’ 的ASCLL码,直接写 ‘~’ 也没有问题,目的就是将 / 换作 ~ 使页面报错。
2、concat()函数为连接函数,可以将括号中的参数拼接到一起。
3、函数的第一个参数通常习惯用1表示,可以不用管它。
注入语句后,我们在页面报错信息中,可以看到所在数据库名称security。

在这里插入图片描述
接着我们在security库中查询它的表有哪些。
在这里插入图片描述

在这里插入图片描述
我们查询到:security库中有 emails,refers,uagents,users四张表,根据英文释义,用户信息应该存储在users的那张表里,接着我们要查询user表中的列有哪些。
在这里插入图片描述
在这里插入图片描述我们查询到:users表中有三列:分别是id、username、password,毫无疑问,username和password是我们要获取的数据。接着使用查询语句获取这些信息。
在这里插入图片描述
但是查询到的数据非常有限,只能查询到部分用户的用户名和密码,故使用substr()函数,通过手动翻页来实现查询到全部的用户信息。
注:substr(待查询字符串,查询起始位置,查询长度)。
在这里插入图片描述
在这里插入图片描述
extractvalue()报错注入最多显示30个字节。
四、updatexml报错注入(细节与extractvalue几乎一致)
报错原理 约等于 extractvalue,利用~写出错误的path,使页面报错。
在这里插入图片描述
注入语句,查询当前数据库库名。第一个参数和第三个参数不用管,1和3就可以,我们的目的就是让它报错。
在这里插入图片描述当前库名为security,查询库中表名。
在这里插入图片描述

查询user库中的列名。
在这里插入图片描述
查询用户信息。
在这里插入图片描述
经过以上步骤,可以获得用户的全部信息。

相关文章:

  • 单元测试、系统测试、集成测试、回归测试的步骤、优点、缺点、注意点梳理说明
  • TF-IDF:文本挖掘中的关键词提取利器
  • 正则表达式 - 修饰符
  • Jetson Orin NX jupyter lab的安装和使用
  • C语言中的指针与数组:概念、关系与应用
  • 深入解读WT软件湍流强度计算与分析
  • python-leetcode 52.课程表
  • 深入理解 HTML 中的<div>和元素:构建网页结构与样式的基石
  • 方差缩减梯度算法
  • camellia redis proxy v1.3.3对redis主从进行读写分离(非写死,自动识别故障转移)
  • wlwrap 与 rlwrap 的区别对比:图形显示协议的演变
  • Kafka相关的面试题
  • 淘宝商品数据采集一键采集
  • 【数据分享】2000—2024年我国省市县三级逐月归一化植被指数(NDVI)数据(Shp/Excel格式)
  • 自适应二值化及伪影
  • 深搜专题8:N皇后
  • 鸿蒙初级考试备忘
  • RocketMQ常见问题总结(二)
  • 深呼吸:DeepSeek助力博客 深度思考C知道
  • 基于“动手学强化学习”的知识点(二):第 15 章 模仿学习(gym版本 >= 0.26)
  • 菲律宾华人“钢铁大王”撕票案两主谋落网,部分赎金已被提取
  • 2025年新季夏粮收购量将达到2000亿斤左右
  • 搜狐一季度营收1.36亿美元,净亏损同比收窄超两成
  • 聘期三年已至:37岁香港青年叶家麟卸任三亚市旅游发展局局长
  • 墨西哥海军一载两百余人帆船撞上纽约布鲁克林大桥,多人落水
  • 湖北宜化拟斥资超32亿加价回购“弃子”,布局上游煤炭业务