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.hqwc.cn/news/539413.html

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

相关文章

20232831 2023-2024-2 《网络攻防实践》第2次作业

目录 20232831 2023-2024-2 《网络攻防实践》第2次作业1.实验内容2.实验过程3.学习中遇到的问题及解决4.学习感悟、思考等参考资料 20232831 2023-2024-2 《网络攻防实践》第2次作业 1.实验内容 &#xff08;1&#xff09;从www.csdn.net、www.163.com等中选择一个DNS域名进行…

服务器Debian 12.x中安装Jupyer并配置远程访问

服务器系统&#xff1a;Debian 12.x&#xff1b;IP地址&#xff1a;10.100.2.138 客户端&#xff1a;Windows 10;IP地址&#xff1a;10.100.2.38 利用ssh登录服务器&#xff1a; 1.安装python3 #apt install python3 2.安装pip #apt install python3-pip … 3.安装virtualen…

单头注意力机制(ScaledDotProductAttention) python实现

输入是query和 key-value&#xff0c;注意力机制首先计算query与每个key的关联性&#xff08;compatibility&#xff09;&#xff0c;每个关联性作为每个value的权重&#xff08;weight&#xff09;&#xff0c;各个权重与value的乘积相加得到输出。 import torch import tor…

数据结构的美之链表和树

有种感觉叫做&#xff0c;不同的场景&#xff0c;应用不同的数据结构和算法&#xff0c;可以大大滴优化增删改查以及存储方面等等的性能。笔者这里呢也是在最近复习准备面试的时候&#xff0c;去阅读源码&#xff0c;觉得设计这种数据结构和引用的人真的是非常牛逼&#xff0c;…

【计算机网络】概述

文章目录 一、Internet 因特网1.1 网络、互联网、因特网1.2 因特网的组成 二、三种交换方式2.1 电路交换 &#xff08;Circuit Switching&#xff09;2.2 *分组交换 &#xff08;Packet Switching&#xff09;2.3 报文交换 &#xff08;Message Switching&#xff09; 三、计算…

IIS上部署.netcore WebApi项目及swagger

.netcore项目一般是直接双击exe文件&#xff0c;运行服务&#xff0c;今天有个需求&#xff0c;需要把.netcore项目运行在IIS上&#xff0c;遇到了一个小坑&#xff0c;在这里记录一下。 安装IIS&#xff0c;怎么部署站点&#xff0c;这些过于简单就不细说了&#xff0c;不知道…

力扣热题100_矩阵_48_旋转图像

文章目录 题目链接解题思路解题代码 题目链接 48.旋转图像 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1…

LORA_ LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

paper: https://arxiv.org/pdf/2106.09685.pdf code: https://github.com/microsoft/LoRA 摘要 作者提出了低秩自适应&#xff0c;或称LoRA&#xff0c;它冻结了预先训练的模型权值&#xff0c;并将可训练的秩分解矩阵注入变压器架构的每一层&#xff0c;大大减少了下游任务的…

使用Python对文本文件进行分词、词频统计和可视化

目录 一、引言 二、文本分词 三、词频统计 四、可视化 五、案例与总结 六、注意事项与扩展 七、总结与展望 一、引言 在大数据时代&#xff0c;文本处理是信息提取和数据分析的重要一环。分词、词频统计和可视化是文本处理中的基础任务&#xff0c;它们能够帮助…

《LeetCode热题100》笔记题解思路技巧优化_Part_2

《LeetCode热题100》笔记&题解&思路&技巧&优化_Part_2 &#x1f60d;&#x1f60d;&#x1f60d; 相知&#x1f64c;&#x1f64c;&#x1f64c; 相识&#x1f622;&#x1f622;&#x1f622; 开始刷题普通数组&#x1f7e1;1. 最大子数组和&#x1f7e1;2. 合…

【数据结构高阶】图

目录 一、图的基本概念 二、 图的存储结构 2.1 邻接矩阵 2.2.1 邻接矩阵存储模式的代码实现 2.2.2 邻接矩阵存储的优缺点 2.2 邻接表 2.2.1 无向图的邻接表 2.2.2 有向图的邻接表 2.2.3 邻接表存储模式的代码实现 2.2.4 邻接表存储的优缺点 三、图的遍历 3.1 图的…

稀碎从零算法笔记Day17-LeetCode:有效的括号

题型&#xff1a;栈 链接&#xff1a;20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述&#xff08;红字为笔者添加&#xff09; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 …