SQL注入学习笔记(三)–类型以及提交注入

参数类型以及请求方法

1
2
3
4
5
6
7
8
#简要明确参数类型
数字,字符,搜索,JsoN
#简要明确请求(提交)方法
1GET, POST,COOKIE(不是请求方法,仅仅是数据包内的东西),REQUEST,HTTP头部注入(User-Agent注入、Referer注入)等--这几种都存在注入。
大数据、重要数据、表单用post提交;小数据用get提交;request全部(GET,POST)接收。
2、其中sql语句干扰符号: ',",s,),}等,具体需看写法,自己尝试。
3、对方采取什么方式提交数据,那么你就应该采取那种方式注入。
4、$_SERVER('HTTP_USER_AGENT'),获取对方网站硬件配置(如操作系统)信息--拓展原有注入思路,在原有数据包进行注入(HTTP头部注入)。

请求方法讲解以及此类注入演示:17:00处
猜某网站是何种请求方法:35:00处
各种注入方法以及靶场位置(供自己练习–burp+watefox):44:00

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
学习中遇到的问题:
1、有时候在?id=1后面输入and 1=1或and 1=2返回的页面无任何区别。
答:这是由于1可能是字符,你可以在and前加一个单引号,把这一块闭合:' and 1=1--+(有时候这个注释符要换成#)。
get用--+,post用#。
也可以不注释,' and '1'='1。
2、若无回显,那么就是盲注。
3、有时候不一定要闭合',还有可能,",s,),}等,具体需看写法,自己尝试。
4、post类型的注入通常产生在登陆界面,先考虑两个问题:提交方式以及参数类型。
5、当使用post提交数据时,若搞来搞去没任何反应,这时候就应该是对post过滤了,可以尝试get或cookie注入。
6、json的文件格式(APP常见):
{
"user":"xiaodi 'and 1=1"//闭不闭合,是看SQL语句的,若SQL语句默认用''接受这个JSON文件(例如数据是字符),那么要闭合。
"password":"xiaodi"//SQL的闭合是要闭合后端代码,这个双引号是前端json的格式。
}
注入的时候要注意注入的格式(其实就是格式不同而已),保证注入语句成功带入数据库执行。

cookie注入演示:1:20:00处
Json文件相关介绍以及此类型的注入:1:41:00处

字符型注入

1
2
3
eg:
select * from user where name=xiaodi
注入语句是:在xiaodi后加上 ' and 1=1 --+(# 只针对MYSQL)