SQL注入第三章节数据类型与提交方式

news2024/10/7 20:34:58

SQL注入第三章节数据类型与提交方式

3.1 SQL注入之数据类型

(1)数字型注入点

许多网页链接有类似的结构 http://xxx.com/users.php?id=1。基于此种形式的注入,一般被叫做数字型注入点,缘由是其注入点 id 类型为数字,在大多数的网页中,诸如 查看用户个人信息,查看文章等,大都会使用这种形式的结构传递id等信息,交给后端,查询出数据库中对应的信息,返回给前台。这一类的 SQL 语句原型大概为 select * from 表名 where id=1。若存在注入,我们可以构造出类似于如下的sql注入语句进行爆破:select * from 表名 where id=1 and 1=1

(2)字符型注入点

网页链接有类似的结构 http://xxx.com/users.php?name=admin。这种形式,其注入点 name 类型为字符类型,所以叫字符型注入点。这一类的 SQL 语句原型大概为 select * from 表名 where name='admin'。值得注意的是这里相比于数字型注入类型的sql语句原型多了引号,可以是单引号或者是双引号。若存在注入,我们可以构造出类似于如下的sql注入语句进行爆破:select * from 表名 where name='admin' and 1=1 '。我们需要将这些烦人的引号给处理掉。

(3)搜索型注入点

这是一类特殊的注入类型。这类注入主要是指在进行数据搜索时没过滤搜索参数,一般在链接地址中有 "keyword=关键字" 有的不显示在的链接地址里面,而是直接通过搜索框表单提交。此类注入点提交的 SQL 语句,其原形大致为:select * from 表名 where 字段 like '%关键字%'。若存在注入,我们可以构造出类似于如下的sql注入语句进行爆破:select * from 表名 where 字段 like '%测试%' and '%1%'='%1%'

(4) xx型注入点

其他型:也就是由于SQL语句拼接方式不同,在SQL中的实际语句为:select * from 表名 where 字段 like (''),其本质为(‘xx’) or 1=1 # ')

常见的闭合符号:’ ‘’ % ( {

3.2 SQL注入之数据提交方式

GET方式注入

get注入方式比较常见,主要是通过url中传输数据到后台,带入到数据库中去执行,可利用联合注入方式直接注入

POST方式注入

post提交方式主要适用于表单的提交,用于登录框的注入

方法:利用BurpSuite抓包进行重放修改内容进行,和get差别是需要借助抓包工具进行测试,返回结果主要为代码,也可转化为网页显示

Request方式注入

概念:超全局变量 PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可以用,这些超全局变量是:
$_REQUEST(获取GET/POST/COOKIE)COOKIE在新版本已经无法获取了
$_POST(获取POST传参)
$_GET(获取GET传参)
$_COOKIE(获取COOKIE传参)
1$_SERVER(包含了诸如头部信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组)

HTTP头注入

什么是Header头?

通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。 1这两种类型的消息有一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。 HTTP的头域包括通用头,请求头,响应头和实体头四个部分

什么是Header头部注入?

header注入,该注入是指利用后端验证客户端信息(比如常用的cookie验证)或者通过header中获取客户端的一些信息(比如User-Agent用户代理等其他header字段信息),因为这些信息在某些地方是会和其他信息一起存储到数据库中,然后再在前台显示出来,又因为后台没有经过相对应的信息处理所以构成了sql注入。

3.3 SQL注入之靶场案例练习

Less-11 POST - Error Based - Single quotes- String (基于错误的POST型单引号字符型注入)

image.png

用burpsuit,抓包修改参数

联合查询union select测试payload

uname=-admin’ union select 1,2 --+&passwd=admin&submit=Submit

爆库payload

uname=-admin’ union select 1,database() --+&passwd=admin&submit=Submit

Less-20 POST - Cookie injections - Uagent field - Error based (基于错误的cookie头部POST注入)

单引号,报错型,cookie型注入。

image.png

存在魔术引号

image.png

直接cookie注入,进行绕过

Cookie: uname=-admin' union select 1,2,database()--+

image.png

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

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

相关文章

02、Nginx目录结构与基本运行原理

一、目录: Nginx一般安装在/usr/local/nginx目录下(安装时–prefix可指定安装目录) conf #配置文件|-nginx.conf #主配置文件|-其他配置文件 #可通过那个include关键字,引入到了nginx.…

Redis(主从复制、哨兵模式、集群)概述及部署

Redis(主从复制、哨兵模式、集群)概述及部署 一、Redis主从复制1、Redis主从复制的概念2、Redis主从复制的作用3、Redis主从复制的流程4、Redis主从复制的搭建 二、Redis 哨兵模式1、哨兵模式的原理2、哨兵模式的作用3、哨兵模式的结构4、哨兵模式的搭建…

【Redisson】Redisson--分布式远程服务(Remote Service)

Redisson系列文章: 【Redisson】Redisson–基础入门【Redisson】Redisson–布隆(Bloom Filter)过滤器【Redisson】Redisson–分布式锁的使用(推荐使用)【分布式锁】Redisson分布式锁底层原理【Redisson】Redisson–限流器 文章目录 一、Redi…

java--类变量与实例变量--实验设计--村庄种树

目录 设计要求 设计流程图 程序代码 类Village代码 类MainClass代码 可以直接运行的代码 运行结果 类变量与实例变量的区别和类方法与实例方法的区别 idea的详细使用方法 设计要求 编写程序模拟两个村庄共同拥有一片森林;编写一个Village类,该类…

WebDAV之派盘本地个人云+RaiDrive

RaiDrive是一款Windows平台下的网络驱动器软件,可以将云存储、FTP、WebDAV等网络存储设备映射为本地磁盘,方便用户在本地访问、管理和备份云端数据。它支持的存储设备包括Google Drive、Microsoft OneDrive、DropBox、以及FTP、SFTP等等。使用RaiDrive,用户可以在本地用文件…

Java中规模软件开发实训——掌握财务自由的关键!解锁智能家庭记账系统的神奇力量!(家庭记账软件)

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(html css js) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:财务自由&am…

【LeetCode】HOT 100(20)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

LeetCode·每日一题·2679. 矩阵中的和·排序

作者:小迅 链接:https://leetcode.cn/problems/sum-in-a-matrix/solutions/2330084/pai-xu-zhu-shi-chao-ji-xiang-xi-by-xun-g-a3gw/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,…

图书推荐管理系统Python,基于Django和协同过滤算法等实现

一、介绍 图书推荐系统 / 图书管理系统,以Python作为开发语言,基于Django实现,使用协同过滤算法实现对登录用户的图书推荐。 二、效果展示 三、演示视频 视频代码:https://www.yuque.com/ziwu/yygu3z/gq555ph49m9fvrze 四、Dj…

有什么事在Linux上顺理成章,在Windows就令人费解?

Linux与Windows都是十分常见的电脑操作系统,相信大家对它们二者都有所了解!在我们的使用过程中,是否有遇到这种情况,在Linux上顺理成章,换到Windows上就令人费解? 文章目录 一、介绍2.1 Linux系统1.2 Wind…

第九十七天学习记录:Linux基础:实用操作Ⅱ

进程管理 进程 程序运行在操作系统中,是被操作系统所管理的。 为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程 并会为每一个进程都分配一个独有的:进程ID(进程号&#xf…

机器人动力学与控制学习笔记(十六)——重复控制

十六、重复控制基本原理 16.1 重复控制理论 重复控制方法的目标是设计一个针对周期信号的跟踪控制器或者扰动补偿器,只需基于过去周期的误差信号,除了使用当前控制误差外,还“重复”使用了上一周期的误差,并与当前控制误差叠加在…

2023黑马头条.微服务项目.跟学笔记(三)

2023黑马头条.微服务项目.跟学笔记 三 自媒体文章发布1.自媒体前后端搭建1.1 后台搭建1.2 前台搭建 2.自媒体素材管理2.1 素材上传2.2.1 需求分析2.2.2 素材管理-图片上传-表结构2.2.3 实现思路2.2.4 接口定义2.2.5 自媒体微服务集成heima-file-starter2.2.6 具体实现 2.2 素材…

16 线程同步

文章目录 临界区MFC 临界区全部代码 事件内核对象信号量内核对象互斥量MFC 中设置只能有一个窗口 MFC线程通信 临界区 火车票买票问题 #include<stdio.h> #include <Windows.h>/* 临界区&#xff08;关键段&#xff09; */CRITICAL_SECTION g_cs;int g_count 500…

C++ day44

1、全局变量&#xff0c;int monster 10000;定义英雄类hero&#xff0c;受保护的属性string name&#xff0c;int hp,int attcKk;公有的无参构造&#xff0c;有参构造&#xff0c;虚成员函数void AtK()[blood-0,}&#xff0c;法师类继承自英雄类&#xff0c;私有属性int ap_at…

networkx

import networkx as nx import matplotlib.pyplot as plt# 创建一个空的无向图 G nx.Graph()# 添加节点 G.add_nodes_from([1, 2, 3, 4, 5])# 指定每个节点的位置 pos {1: (0, 0),2: (1, 1),3: (2, 0),4: (1, -1),5: (-1, -1)}# 添加边 G.add_edges_from([(1, 2), (1, 3), (1…

如何在家居行业运用IPD?

家居行业是我国国民经济重要的民生产业和具有显著国际竞争力的产业。家居家装是指对房屋的整体布局、风格、色彩及空间使用进行重新设定&#xff0c;整体的工程服务包含设计、建筑施工、建材生产、装饰及家具产品制造等&#xff0c;涉及装饰装修行业和制造业。家居家装行业内大…

【Redis三】主从复制、哨兵以及Cluster集群

主从复制、哨兵以及Cluster集群 1.Redis高可用2.Redis主从复制2.1 主从复制的作用2.2 主从复制流程 2.3 搭建Redis主从复制2.3.1 安装部署Redis2.3.2 验证主从复制结果 3.Redis哨兵模式3.1 哨兵模式概述3.2 哨兵模式的作用3.3 故障转移机制3.4 主节点的选举3.5 搭建Redis哨兵模…

布尔运算-基于CGAL的布尔运算

前言&#xff1a;vtk提供的布尔运算接口vtkBooleanOperationFilter或是其他的接口&#xff0c;都存在运行不稳定且速度慢的情况&#xff1b;本博文主要使用CGAL库对布尔运算进行优化&#xff0c;希望给各位小伙伴有所帮助&#xff01; CAGL开源库 介绍 CGAL 是一个软件项目&a…

云原生之深入解析Docker容器的网络及其配置

一、Docker 容器网络 Docker 在安装后自动提供 3 种网络&#xff0c;可以使用 docker network ls 命令查看&#xff1a; [rootlocalhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE cd97bb997b84 bridge …