Pikachu练习平台(暴力破解)
因为下面要用到burp suite,这里先简单介绍一下intruder模块的东西
Target选项: 设置攻击目标,可以通过proxy发送
Pasitions选项:指定需要暴力破解的参数并设置成变量,同时选择攻击模式
Sniper(狙击手):
一个payload,先将第一个变量使用字典进行测试,然后将第二个变量使用字典进行测试
Battering ram(冲撞车):
可以设置多个payload,所有变量一起用字典内容被替换,然后一起尝试
Pitchfork(草叉型):
每个payload设置对应的字典内容,进行破解
Cluster bomb(焦束炸弹):
为每一个变量设置一个payload,分别使用字典内容组合对变量进行替换
Payloads选项:设置字典,并对字典进行统一的策略处理
Options选项:对扫描的线程、失败重试等进行配置;
对结果设置匹配的flag:通过一个标识符来区别结果,并在结果栏中flag出来
基于表单的暴力破解
首先我们随便输入账户和密码 tt ttt
我们打开burp suite进行抓包,发送到intruder模块;
Sinper:一个变量设置一个payload进行攻击
Battering ram:可以设置两个变量,把payload同时给两个变量
Pitchfork:两个变量分别设置payload,然后按顺序一一对应进行破解
Cluster bomb:两个变量分别设置payload,然后交叉列所有情况进行破解(常用)
positions 攻击位置:
payloads 攻击有效载荷:
开始爆破:
使用admin 123456 进行登录,
登陆成功,爆破成功。
验证码绕过(on client)在客户端
查看页面源码,可以看到,输入的验证码是通过前端的js进行验证,很轻松就可以绕过;
输入数据后,进行抓包,并发送到 Reperter;
我们可以对验证码进行修改,发现不输入验证码,或者输入错误的验证码,代码都没有对验证码进行验证;
在前端检测验证码,可以轻松绕过,然后发送到intruder模块进行暴力破解,步骤和上面相同。
验证码绕过(on server)在服务器端
输入之后进行抓包,发送到reperter,
在前端刷新页面,得到新的验证码在reperter修改;
修改验证码后,我们再次输入用户名和密码,验证码也不再被校检,说明此验证码可以重复使用;
我们可以利用此漏洞,将数据包发送到intruder进行暴力破解;
爆破成功;
token不能防爆破
查看源代码,可以发现会有一个防爆破的的隐藏表单token值(每次你打开前端页面,后端收到请求后,就会生成一个token值,每次刷新token值都不一样);
查看php文件,知道只有token先判断完了之后再判断账号密码,如果token值验证不通关 是不会再验证用户名和密码的
所以利用token值防爆破是不可以的,因为在认证之前这个可以以字符串铭文获取到表单里面,攻击者写一个工具在认证前获取这个值填到字典里面就可以进行连续性的重放
在csrf里会用到