SQL注入基础-3

ops/2024/9/25 4:25:02/

一、宽字节注入

1、宽字节:字符大小为两个及以上的字节,如GBK,GB2312编码

2、数据库使用GBK编码时,会将两个字符合并为一个汉字(宽字节)。特殊值字符如单引号都会被转义【'--->\'】,如sqli-lads第32关,输入单引号会被转义为\'

3、URL编码

(1)URL字符转义:百分号(%)+字符的十六进制

(2)常见的URL编码

  • 空格 ---》%20
  • 井号 ---》%23
  • 单引号 ---》%27
  • 反斜杠 ---》%5C

4、宽字节解法(以32关为例):想办法将单引号单独出来。将反斜杠和一个字符形成一个汉字。

5、利用%df(使用其他字符也可以,前128的特殊字符不行)把转义吃掉,后面就可以使用sql语句注入

二、堆叠注入

1、堆叠注入:一堆sql语句一起执行

2、原理:结束一个sql语句后继续构造下一条sql语句。

3、测试:1';select database()--+

三、二次注入

1、在第一次插入数据的时候,数据中带有单引号,直接插入到了数据库,然后在下一次使用中,在拼凑过程中,形成了二次注入。

2、例子(修改admin的密码)

(1)管理员账户为admin,密码为admin。

(2)新创一个用户为admin'#,密码为123。

(3)找到修改密码的地方修改。admin'#的密码为123456。

(4)返回登录界面,尝试。


http://www.ppmy.cn/ops/34462.html

相关文章

VRRP基础

1.基本概念 VRRP(Virtual Router Redundancy protocol,虚拟路由冗余协议) VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。 VRRP协议版本为VRRPv2&…

c语言:打印任意行数的菱形

例如&#xff1a;以下图片形式 #include <stdio.h> int main() {int line 0;scanf_s("%d", &line);int i 0;//打印上半部分for (i 0; i < line; i){//打印空格数int j 0;for (j 0; j < line - 1 - i; j){printf(" ");}//打印*数量for…

迅饶科技 X2Modbus 网关 AddUser 任意用户添加漏洞复现

0x01 产品简介 X2Modbus是上海迅饶自动化科技有限公司Q开发的一款功能很强大的协议转换网关, 这里的X代表各家不同的通信协议, 2是T0的谐音表示转换, Modbus就是最终支持的标准协议是Modbus协议。用户可以根据现场设备的通信协议进行配置,转成标准的Modbus协议。在PC端仿真…

Docker部署PostgreSQL

1. 指令&#xff1a; # 拉取镜像 docker pull postgres# 创建容器 docker run --name postgres -e POSTGRES_PASSWORDpostgres -p 5432:5432 -v /mydata/docker/postgres/data:/var/lib/postgresql/data -d postgres# 或&#xff1a; docker run \--name postgres \-e POSTGRE…

Linux 设置一个程序开机启动的几种方式

在 Alpine Linux 系统中,你可以通过以下几种方式设置程序开机自启动: 使用 OpenRC 服务管理工具 OpenRC 是 Alpine Linux 默认的初始化系统和服务管理器。你可以编写一个 OpenRC 服务脚本并将其放置在 /etc/init.d 目录下。然后使用以下命令启用该服务: rc-update add 服务名…

【Java基础】设计模式——单例设计模式

单例设计模式&#xff08;Singleton Design Pattern&#xff09;是一种创建型设计模式&#xff0c;它确保⼀个类有且只有⼀个实例&#xff0c;并提供一个全局访问点来访问这个唯一实例。 单例模式主要解决的是&#xff0c;⼀个全局使⽤的类频繁的创建和消费&#xff0c;从⽽提…

2010NOIP普及组真题 2. 接水问题

线上OJ&#xff1a; 一本通&#xff1a;http://ybt.ssoier.cn:8088/problem_show.php?pid1950 解法一、朴素模拟 核心思想&#xff1a; 朴素模拟&#xff1a; 1、先给每个b[i]水龙头分配一个人a[i]&#xff0c;b[i] 表示水龙头的剩余时间。同时标记该水龙头为 used 使用中 2…

React 之 使用 ref 引用值(七)

当你希望组件“记住”某些信息&#xff0c;但又不想让这些信息 触发新的渲染 时&#xff0c;你可以使用 ref 。 //通过从 React 导入 useRef Hook 来为你的组件添加一个 ref import { useRef } from react;export default function Counter() {//在组件内&#xff0c;调用 useR…