1.13 后台口令暴力破解漏洞
账户探测
探测存在与否
第一梯队:Top500用户名、手机号
第二梯队:邮箱、员工编号
指定口令爆破用户名
1.指定类123456口令爆破用户名
2.正常的top500,top10000帐号;
3.单个字母、两个字母、三个字母、四个字母随机组合的帐号; a) 小工具pydictor值得推荐 python pydictor.py -base L --len 2 3 b) Burp也可以
4.一位数字、二位数字、三位数字、四位数字的随机组合
5.厂商名相关帐号 a) 如:facebook、fb_steven … b) 页面联系邮箱的规则学习及自创建
密码爆破
1、top500, top3000,top10000,自定义密码 a) Top系列,几乎安全从业都有自己的弱口令字典,常规就好,太大的字典跑起来也费劲,关键是定制 b) 定制字典,pydictor值得推荐:https://github.com/LandGrey/pydictor c) 社工库的使用,指定用户的历史密码,是一种尝试
2、厂商特色口令生成,如baidu@123 a) 适用于应用管理员类人员以及主机协议类密码 b) 更多定制类字典也可以pydicor c) 使用简单密码和厂商邮箱后缀组合
3、加密密码暴力破解 a) 普通编码类,如base64 b) 自定义加密算法(目标系统使用了可猜测的加密算法去加密口令) 可参考浮萍写的基于RSA算法加密口令后爆破脚本: https://github.com/fupinglee/MyPython/blob/master/web/RSADemo.py c) Selenium 自动浏览器提交模块(可适用与不明加密算法,模拟正常操作流)
防御
a) 阈值的设立 i. 单位时间内超过额定请求次数,封帐号&封IP段时间 ii. 支持逆向思路 b) 密码输入错误次数达到3次后增设验证码 i. 验证码自身的安全性参考下一个问题 c) 自身应用系统的健壮性 i. 强制要求用户注册时满足口令复杂度要求 ii. 定期检索数据库弱口令帐号的存在,可比对top500的密文值
Last updated