前言:
在真实SQL注入安全测试中,我们一定要先明确提交数据及提交方法后再进行注入,其中提交数据类型和提交方法可以通过抓包分析获取,后续安全测试中也必须满足同等的操作才能进行注入。
简要明确参数类型
数字,字符,搜索,JSON等
数字:如果是数字的话可能不存在单引号,对方在数字上加单引号也是有可能的,要看对方的写法。
字符:一般采用单引号,如果参数是字符则一定有单引号的,即使有注入也会带入单引号里,产生不了任何作用,所以要提前把它的单引号闭合掉,也有可能是括号,注入时只有尝试出来。
搜索:将数据进行搜索并进行展示,搜索符号是%,在过滤的时候要过滤掉单引号和百分号,不然语句全部在单引号和百分号里面
简要明确请求方法
根据网站的情况来获取响应的请求方法,请求方法可以通过在访问网站的时候审查元素里数据包的前缀查看,找到request headers(请求头)
不同的请求方式所请求的数据类型或者大小都不相同。一般会采用post提交。
在注入的时候需要按照网站的请求方法去注入:GET,POST,COOKIE,REQUEST,HTTP头等。
l GET方法无法接受POST的值
l 在POST情况下GET的值只要在网址后面就能接收
l GET、POST接收单个
l REQUEST全部接收
网站在访问的时候由于我们大多数是黑盒测试,不知道对方代码写法,如果对方采用REQUEST接收方式,就不需要考虑用何种方法去提交,因为用GET、POST都可以。如果对方是单一接收方式,那么在注入的时候需要用它的方法去注入。$_SERVER是PHP里内置变量,全局变量,PHP写脚本时用它来获取系统的值,在数据包的某一个地方可以进行注入,其中 SQL 语句干扰符号:',",%,),}等,具体需看写法。 标签:请求,GET,单引号,提交,SQL,POST,注入 From: https://www.cnblogs.com/cx330ki/p/17020188.html