Pikachu靶场-暴力破解详解
从来没有哪个时代的黑客像今天一样热衷于猜解密码 —奥斯特洛夫斯基前言可以上网找一下字典。包括用户名字典密码字典之类的。暴力破解Brute Force是一种最原始、最经典的密码攻击方法其核心思想很简单“穷举所有可能性”。攻击者会系统地遍历所有可能的密码组合直到找到正确的那一个。这就像拿着一串包含所有可能形状的钥匙一把一把地去试锁。1. 暴力破解的核心要素一次暴力破解攻击能否成功主要取决于三个变量密码空间Keyspace即所有可能密码的集合。它取决于密码的长度和可选字符集数字、大小写字母、特殊符号。公式可能的组合数 字符集大小 ^ 密码长度。破解速度Rate即每秒能尝试多少次密码。这取决于攻击者的硬件CPU、GPU、FPGA和加密算法。时间Time即 时间 密码空间 / 破解速度。2. 暴力破解的三种常见形式在实际网络安全中暴力破解通常表现为以下三种形态在线暴力破解Online直接对着目标网站的登录页面不停提交用户名和密码。特点速度极慢受网络延迟和服务器响应限制且极易被验证码、IP封锁、账户锁定尝试5次错误即锁定等机制防御。现实中纯粹“硬试”成功的案例较少。离线暴力破解Offline攻击者已获取了数据库的密码哈希值如 Windows NTLM 哈希、Linux Shadow 文件在自己的本地机器上高速计算哈希并比对。特点速度极快现代GPU每秒可尝试数十亿次这是真正的威胁所在。例如利用彩虹表预先计算好的哈希链也属于这类优化手段。撞库/凭证填充Credential Stuffing严格来说不属于暴力“生成”但常被混为一谈。它是利用用户在别处泄露的用户名/密码批量在目标网站尝试登录。基于表单的暴力破解最为经典笔者当时最开始做的CTF新手题的一种。这里准备了一个经典的密码字典TOP3000密码字典。笔者也不知道这些TOP字典是否都一致。用户名写admin密码随便反正是要爆破的。代理后打开Burpsuite。添加爆破对象这里是password。导入字典开始爆破这里注意正常是通过长度来判断也可以通过指定回显部分来判断这一部分在设置里面进行自定义验证码绕过(on server)需要输入验证码这里这里我们其实有两种思路一种是用脚本或者插件进行读取破解这个方法比较通用。另一种就是绕过这类验证码通常是分为服务端和客户端的绕过。这题显然是服务端。把数据包放入重放器改一下密码发现验证码不变可以直接进行密码爆破。一样的步骤正常服务器端的验证码绕过或者说验证码校验有以下三种服务端返回验证码图片和验证码明文或者直接在前端进行校验服务端返回验证码图片服务端返回验证码图片当验证码的有效期长且使用后依旧有效验证码绕过(on-client)都长这样了明显是前端验证码校验。禁用一下前端JS直接消失了。不输入验证码也可以。禁用JS后进行爆破或者输入一次正确的JS代码后进行爆破这里没禁JS但是既然JS在前端进行验证只用输入一次正确的验证码后把验证码删除依旧可以进行。直接删除验证码部分后进行爆破就行token防爆破?每个token只能用一次发现返回包里有下一次使用的token。使用草叉模式和正则匹配。Pitchfork草叉模式多载荷集一对一并行替换使用 N 个载荷集N等于载荷位置数量每个载荷集对应 1 个载荷位置。每次请求从每个载荷集的同一索引位置取一个值组合成请求。标记对象第一个正常第二个换成递归搜索匹配下一次是tokenpyload这里正常出现调整为单线程攻击因为token在这里被用了一次所以第一个密码可以重复扫一次。