Web安全测试学习笔记-DVWA-登录密码爆破(使用Burp Suite)
密码爆破简单来说,就是使用密码本(记录了若干密码),用工具(手工也可以,if you like...)一条条读取密码本中的密码后发送登录请求,遍历密码本的过程中可能试出真正的密码。
本文学习在已知登录名的情况下,使用Burp Suite破解密码的过程,对于一个初学者来说,Burp Suite使用起来比较恼火,所以我把操作步骤详细记录下来了。
还是DVWA,先设置security=low,密码输入错误和正确时,页面下方会给出相应提示:
破解过程如下:
1. 首先我们去网上下个密码本(github上就很多),命名为:password.lst,密码本长这样:
2. 用Burp Suite抓登录请求,把抓到的请求放到Intruder里面
3. 在Positions面板看到,我们只需要设置password一个参数作为爆破对象,账号名就是admin
----------------------------------------------------
4.在Payloads面板加载密码本并开始爆破
----------------------------------------------------
----------------------------------------------------
5.结果面板中有一条请求的Length和其他请求的Length不一样,这个就是真正的登录密码
接下来设置security=high,high模式下多了一个token,token放在隐藏input的value中,如果再用low模式的爆破方法就不行了,因为token是变化的,这个时候需要绕过token。
破解过程如下:
1. 设置宏,目的是让Burp Suite自动生成token
找到token所在的web页面:
----------------------------------------------------
----------------------------------------------------
2.设置rule
----------------------------------------------------
----------------------------------------------------
3.设置rule的生效scope
将dvwa的域名加到scope里面:
4.爆破设置
----------------------------------------------------
----------------------------------------------------
----------------------------------------------------
----------------------------------------------------
5. 如果宏设置成功,请求应该返回200而不是302,下图中的每一个请求的token都是不一样的:
----------------------------------------------------
一点点感悟:
1. 虽然理论上来说,只要密码本够强大时间够多,密码被破解只是时间问题,因此建议使用强密码,越强越好~
2. 比起token,随机图片验证码更靠谱
3. 多次密码错误就锁用户(虽然这种操作也会带来副作用)
如需转载,请注明出处,这是对他人劳动成果的尊重~
相关文章
- [PHP] php使用event扩展的io复用测试
- [PHP]正则表达式\w和\W区别
- [MySQL] 使用force index强制使用索引
- [HTTP]解决406 not acceptable 错误
- [PHP] 接口增加recaptcha行为验证
- [PHP] Workerman中的注册树模式
- [日常] 解决mysql localhost可以连接但是127.0.0.1不能连接
- [日常] ubuntu下安装php pdo扩展和导入数据库
- [Nginx] nginx配置域名反代后端端口
- [PHP] 使用适配器模式处理数据库对象
- [PHP]使用策略模式消除if else
- [日常] win10开启和安装ubuntu子系统
- [PHP] 解释FastCGI与PHP-FPM的关系
- [PHP] stream_set_blocking非阻塞模式影响fgets fread函数
- [日常] 解决PHP Warning: Module 'mysqli' already loaded in Unknown on line 0
- [PHP]PHP请求在PHP-FPM下的生命周期
- [PHP]解决500错误问题-nginx以及fpm没有任何错误日志
- [日常] windows下使用vscode配合xebug调试php脚本
- [PHP] cli环境下php设置进程名字
- [PHP]解决 Call-time pass-by-reference has been removed