文章目录
$_GET
:接收get请求,传输少量数据,URL是有长度限制的;
$_POST
:接收post请求;
$_COOKIE
:接收cookie,用于身份验证;
$_REQUEST
:收集通过 GET 、POST和COOKIE 方法发送的表单数据;
$_SERVER
:接收数据包中的一些内容,如浏览器信息、当前访问url地址等;
网站功能点:
-
后台要记录操作访问IP
IP要进行代码的获取,获取到之后,IP会不会记录到数据库中?IP要写到数据库,如果IP能够自定义数据,是不是就能尝试SQL注入。 -
网站要根据用户的访问设备给予显示页面
用手机和电脑访问同一个网站,页面显示不一样。后端判断方式:判断User-Agent字段。具体做法:接收访问的UA信息,将各种UA进行数据库整理后,用户访问后对比数据库中的UA值进行判断(涉及数据库查询)。 -
网站要进行文件上传、用户登录
用户登录,接受账号密码后进行数据库查询后对比。
sqlmap使用POST方式提交数据:
header注入用sqlmap跑的时候,在需要注入的地方加
*
,命令python sqlmap.py -r xxx.txt
限制登录次数
-
一般通过IP来进行判断,然后进行数据库查询。(白盒)
-
它怎么知道是你访问的?或者说后端凭什么确定你的登录次数。一般通过获取IP,这里可以换个IP看看返回情况。若换了IP,发现仍然显示可以尝试4次。说明通过IP来确定登录次数。
黑盒测试:功能点分析;
白盒测试:功能点分析&关键代码追踪。
总结:
- 数据库类型决定攻击手法、payload不一样;
- 数据类型注入,payload考虑闭合、数据格式;
- 提交方式,数据请求不同,注入需要按照知道的方式去测试
- url没有参数并不代表没有注入,有些数据会在数据包才有体现;
- http数据包任何一个地方只要被接受,就有可能产生漏洞。