所谓暴力破解,就是穷尽所有可能的密码来尝试,从而猜解出用户口令。
Security: Low
我们将安全级别设为Low,然后查看一下源代码
可以看到,服务器只是验证了参数Login是否被设置(isset函数在php中用来检测变量是否设置,该函数返回的是布尔类型的值,即true/false),没有任何的防爆破机制,且对参数username、password没有做任何过滤,存在明显的sql注入漏洞
打开burpsuite工具
一、抓包
第二步,ctrl+I将包复制到intruder模块,因为要对password参数进行爆破,所以在password参数的内容两边加$
第三步选中Payloads,载入字典,点击Start attack进行爆破
最后,尝试在爆破结果中找到正确的密码,可以看到password的响应包长度(length)“与众不同”,可推测password为正确密码,手工验证登陆成功。
爆破成功。
Security: Medium
这一等级是在LOW的基础上做了一点防护,当用户名和密码输错后会让用户在两秒后才能进行下一步的尝试。
此种方法只会延长暴力破解的时间,并不能阻止暴力破解。
Security: High
可以看到代码中加入了user_token,每次提交需要将username、password、Login和user_token四个参数一起提交到后台,因此要想解决每次变化的user_token需要每次重新获取,破解难度提升
爆破成功: