sql注入重学

sql基本操作

基本查询语句

union

(必须得是前面的列与后面的列相同才可以查询)

看第二局uses表中的列有3列,而emails中的列只有两列,所有无法成功查询

这就相当于我们再加了一列

group by (分组)

相当于将其分为10列,如果*(也就是所有的列)有10列就不会报错,如果没有十列就会报错

order by(排序)

它就会对第三列进行排序

limit

group_concat

令多行变一行


sql注入流程 

sql注入的分类

判断注入为字符型还是数字型

1.

当改为and 1=2还不会报错的话就是字符型

2.

如果是字符型,查出来的结果就业id=2时的相同,如果是数字型,就会与1的相同

闭合方式

首先查看是怎么样的闭合方式

1.(有报错的情况)

先给他丢一个单引号,然后看看报错

然后从这里分析是这么闭合的

2.没有显示报错的情况

当正常输入id=1,它会正常的回显

当加上单引号就没有回显

这又正常了,说明为单引号闭合

注释语句

判断列数(group by ,order by)

当为4 时报错

当为3时不报错说明列数就是3

找回显

将前面的id改为-1或者其他数然后他就无法查询到东西,就会输出后面的回显

然后我们发现回显2,3都能在上面找到,我们就可以把3,改成需要找的东西

找数据库名

找表名

获取所有表

但这样给出的表太多了,所以我们将范围缩小到当前数据库

4

获取列名

这样显示的更加简洁

获得最终数据

可以用分隔符,更简洁


数字型

查表面

报错注入

当我正常访问它,它是这个页面,当我错误的访问它,他也是这个页面,没有报错信息,

前面的步骤都有报错,只有这个没有

我们先这么执行

然后修改url将其改成错误的,让其报错

他就会显示出来

通过extractvalue报错注入

doc是列名,xml是表名,中间那个不用管

让它报错

concat是连接的意思,0x7e是-符号,让其变成上面的样子

但是这个只能回显32个字符

所以我们使用substring

updatexml

用来更新的        

doc是查询的列名,中间是想要修改的东西,第三个是修改后的东西

但是也一样只能显示30个字符

floor报错

前提知识

select

s

rand()函数

floor函数

concat_ws函数

group by 函数

cout()函数

它会给你统计出来分组后 的个数

原理可以去看视频

注入语句

想查询的东西与后面的information-schema。。。。没有任何关系,他只是想让它报错。。。

学的不怎么样

布尔盲注

条件:当既没有回显,也没有报错的时候

前提知识

他只会解析第一个字母

它会显示数据库名字第一个字母,但它无法回显出来,所以我们可以使用<,二分法来判断他在哪一个区间

117不行

而115可以,然后在改变数字

时间盲注

 

if函数

当1=1为真就执行0秒,当1=1为假就执行3秒

看时间的长短

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

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

相关文章

力扣大厂热门面试算法题 24-26

24. 两两交换链表中的节点&#xff0c;25. K 个一组翻转链表&#xff0c;26. 删除有序数组中的重复项&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.14 可通过leetcode所有测试用例。 目录 24. 两两交换链表中的节点 解题思路…

硬盘新建分区时选4096扇区 是4K对齐吗?

环境&#xff1a; 固态硬盘 问题描述&#xff1a; 硬盘新建分区时或者格式化选4096扇区 是4K对齐吗 解决方案&#xff1a; 1.选择4096扇区大小&#xff0c;实际上是进行了4K对齐。在传统硬盘格式化时&#xff0c;通常会选择以4096字节&#xff08;4K&#xff09;为单位的扇…

html--钢琴

代码 <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>html钢琴</title> <script src"js/js.js"></script> <link href"…

CVE-2022-1310:RegExp[@@replace] missing write barrier lead a UAF

文章目录 环境搭建漏洞分析漏洞利用漏洞触发链RCE原语构造 总结参考 环境搭建 嗯&#xff0c;这里不知道是不是环境搭建的有问题&#xff0c;笔者最后成功的实现了任意地址读写&#xff0c;但是任意读写的存在限制&#xff0c;任意写 wasm 的 RWX 区域时会直接报错&#xff0c…

leetcode刷题日志-108/1382将有序数组转换为二叉搜索树/将二叉搜索树变平衡

由于这两道题思路极其类似&#xff0c;在此统一记录&#xff1a; 108题.将有序数组转换为平衡二叉搜索树 思路&#xff1a;给定的数组已经升序排列&#xff0c;而二叉搜索树中序遍历的结果就是升序&#xff0c;但是仅凭中序遍历不能确定一颗二叉树&#xff0c;但是题目只是说…

郭炜老师mooc第十一章数据分析和展示(numpy,pandas, matplotlib)

多维数组库numpy numpy创建数组的常用函数 # numpy数组import numpy as np #以后numpy简写为np print(np.array([1,2,3])) #>>[1 2 3] print(np.arange(1,9,2)) #>>[1 3 5 7] 不包括9 print(np.linspace(1,10,4)) #>>[ 1. 4. 7. 10.] # linespace(x,y,n)&…

【C++ 】stack 和 queue

1. 标准库中的stack stack 的介绍&#xff1a; 1. stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行 元素的插入与提取操作 2. stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其…

Solidity 智能合约开发 - 基础:基础语法 基础数据类型、以及用法和示例

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学两年走过无数弯路的智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 本篇主要是做一个知识的整理和规划 作为一个类似文档的作用 更为简要和明了 具体的实现案例和用法 后续会陆续给出…

RUST 每日一省:rust logo收集

rust的logo集合&#xff0c;看看有没有你喜欢的&#xff0c;挑一个吧&#xff1b; GitHub - XuHugo/rust-logo: Collection of logo images for all rust languages 下边只是挑选了几个&#xff0c;更多的还是看github吧。

Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%

亲爱的社区小伙伴们&#xff0c;我们很高兴地向大家宣布&#xff0c;在 3 月 8 日我们引来了 Apache Doris 2.1.0 版本的正式发布&#xff0c;欢迎大家下载使用。 在查询性能方面&#xff0c; 2.1 系列版本我们着重提升了开箱盲测性能&#xff0c;力争不做调优的情况下取得较好…

第四百零二回

文章目录 知识回顾示例代码经验总结 我们在上一章回中介绍了MethodChannel的使用方法&#xff0c;本章回中将介绍EventChannel的使用方法.闲话休提&#xff0c;让我们一起Talk Flutter吧。 知识回顾 我们在前面章回中介绍了通道的概念和作用&#xff0c;并且提到了通道有不同的…

Qt 线程池 QThreadPool

一.Qt 线程池 QThreadPool介绍 Qt线程池是一种管理多个线程的并发编程模型&#xff0c;通过使用线程池可以提高性能、控制并发度、提供任务队列和简化线程管理。 在Qt中&#xff0c;线程池的使用主要涉及以下几个步骤&#xff1a; 创建任务类&#xff1a;需要定义一个任务类&am…

javaweb数据传参类型(2)

前言 友友们好呀&#xff0c;今天来分享一下对于各种数据类型传参的问题&#xff0c;今天陪伴我们的云海 目录 前言 数组集合传参 补充 日期参数 补充 Json格式数据传参 补充 路径参数 补充 今日分享 ​​​​​​​数组集合传参 类似于我们之前进行的简单的参数传递…

【C++】string的底层剖析以及模拟实现

一、字符串类的认识 C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c; 但是这些库函数与字符串是分离开的&#xff0c;不太符合OOP的思想&#xff0c;而且底层空间需要用户自己管理&a…

Android14之禁止vbmeta.img签名校验(一百九十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

区别于传统家!三翼鸟定制智慧家电家居一体化场景

在这个科技创新、智能AI主导的时代&#xff0c;寻求更便捷智慧、舒心适宜、一体化的居家场景&#xff0c;成为一个时代的命题和竞赛&#xff0c;也是家居行业共同奔赴的使命。在纷繁复杂的竞争格局和方向答案中&#xff0c;一条清晰坚定的路径正在显露出来…… AWE前一天&…

Jsp在Javaweb中扮演什么角色?

1.什么是Jsp JSP&#xff08;Java Server Pages&#xff0c;Java 服务器页面&#xff09;是一种动态网页技术&#xff0c;它允许在 HTML 页面中嵌入 Java 代码&#xff0c;并由 Web 服务器在请求页面时动态生成 HTML 页面。JSP 通常用于创建动态 Web 内容&#xff0c;如交互式表…

影城管理系统|基于springboot框架+ Mysql+Java+B/S架构的影城管理系统设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 系统功能设计 数据库E-R图设计 lunwen参考 摘要 研究…

智慧文旅|AI数字人导览:让旅游体验不再局限于传统

AI数字人导览作为一种创新的展示方式&#xff0c;已经逐渐成为了VR全景领域的一大亮点&#xff0c;不仅可以很好的嵌入在VR全景中&#xff0c;更是能够随时随地为观众提供一种声情并茂的讲解介绍&#xff0c;结合VR场景的沉浸式体验&#xff0c;让观众仿佛置身于真实场景之中&a…

数据结构与算法--算法和算法分析

算法与数据结构之间存在密不可分的关系。简单来说&#xff0c;数据结构是存储和组织数据的方式&#xff0c;而算法则是操作和处理这些数据的方法。 首先&#xff0c;数据结构为算法提供了基础。算法是解决问题的步骤和流程&#xff0c;通过对数据结构进行操作&#xff0c;算法可…