SQL注入学习笔记(三)–类型以及提交注入
参数类型以及请求方法
1 2 3 4 5 6 7 8
| #简要明确参数类型 数字,字符,搜索,JsoN等 #简要明确请求(提交)方法 1、GET, 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后加上
|