Brute Force(暴力破解)
两个字:撞库
三个字:枚举法
暴力破解的意思是指hacker利用密码字典、穷举法暴力猜解以此获得用户名和密码的手段,也是常见的比较简单的攻击方式,直到尝试出正确的组合,成功登录系统。理论上,只要字典足够大,破解总是会成功的。
阻止暴力破解的最有效方式是设置复杂的密码(英文字母大小写、数字、符号混合)。
如果你的字典是从某网站泄露出来的,你使用它试图登陆其他网站,就便是撞库。撞库攻击的成功率高于暴力破解,因为你在A网站的用户名、密码通常和B网站的用户名、密码一致。
low低级
查看源码
![](https://i-blog.csdnimg.cn/blog_migrate/7c0156966f2dcc133a08a3ecf6dc5e17.png)
源码发现在输入字段的地方没有任何过滤,这里可以使用SQL注入
第一步,输入用户名密码抓包: 暴力破解,直接利用工具BP来操作:设置好代理,随便输入username和password 抓包
![](https://i-blog.csdnimg.cn/blog_migrate/6316064708140c4abdc075c763dc2cfa.png)
这里是用GET方式来验证的,直接Ctrl+I将数据包发送到Intruder模块:
进入Intruder模块:
先clear§只需要选定我们需要的用户和密码字段作为爆破点即可,攻击类型选择Cluster bomb
Cluter bomb是两个字典进行交叉枚举,适用于用户名密码的破解。
![](https://i-blog.csdnimg.cn/blog_migrate/24ab28ab5f68d93dd13dfe7050deda38.png)
设置好payloads
![](https://i-blog.csdnimg.cn/blog_migrate/4f309473540b4188e4ae82b729c1dbda.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8850a17960bfa73b3b633a93d70417f7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c2089efd24ca15499dc61f893c628a6b.png)
看结果,length长度不一样的三个即为正确用户名和密码~
![](https://i-blog.csdnimg.cn/blog_migrate/a29a7082431cf5828dbfeedc169a8389.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ffcf7d3ab4d89092cfa79ace0eae9de4.png)
medium中级
分析源码:
![](https://i-blog.csdnimg.cn/blog_migrate/e3f0533ca368946a0a62632fa3fc134f.png)
加入了mysqli_real_escape_string()函数,防止了部分SQL注入1
其他方法跟低级爆破方式一致。
![](https://i-blog.csdnimg.cn/blog_migrate/616abcde939cdb2defd8a89e692c96bb.png)
high高级
分析源码
![](https://i-blog.csdnimg.cn/blog_migrate/c50bec3a9ac73c1648a3f3a3fd58e759.png)
加入了Anti-CSRF token验证 的方式同CSRF的高级相似
![](https://i-blog.csdnimg.cn/blog_migrate/02b23e76918e809064b043dc00a9d813.png)
发现请求包数据
![](https://i-blog.csdnimg.cn/blog_migrate/20769b3cdf7cc4bf883f359ce82ec634.png)
![](https://i-blog.csdnimg.cn/blog_migrate/409d1d9bb6dd5abe4db43002d9f93615.png)
找到规律利用burp suite爆破模块进行token和密码请求参数的爆破
攻击类型设置为Pitchfork,将password和user_token同时作为爆破点
![](https://i-blog.csdnimg.cn/blog_migrate/24bcaf8ae77675fb77ec7c84ded99f27.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f1c4448215702b2d2bcb5d798cab0126.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6a964f9cc42db96bf885c4826ed7876b.png)
然后找到Redictions重定向,选择always:
![](https://i-blog.csdnimg.cn/blog_migrate/bf441d3a0e5a31d90a65489c92dd6078.png)
然后设置payload
![](https://i-blog.csdnimg.cn/blog_migrate/5d6da33c13010e0bad9e6dfc933a7e08.png)
![](https://i-blog.csdnimg.cn/blog_migrate/646c004032d3f316b26f6a1f0cb0ba74.png)
选择攻击等待结果
![](https://i-blog.csdnimg.cn/blog_migrate/c81fe8be6a7a639d2e9897fa99c02d0b.png)
这里需要将线程设置为1:
递归group线程问题
在Resource Pool中重新创建一个新的Resource Pool并把Max concurrent requests改为1
![](https://i-blog.csdnimg.cn/blog_migrate/42cb539c7936898a49c6e9fc50de6c9d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4f1ce6a9438cd2fb09371b5565cc7b86.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1300e5d888de6ceb06e6a0ffd7f1a977.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5f02ea4d1e58faabf037eed661623.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5421512f4d5f414af8c4c4d5b2955f19.png)