练习部分
暴力破解攻击即:连续性尝试+字典+自动化。根据网站信息优化字典,可以提高破解效率。
打开pikachu靶场,第一题先尝试输入随机数登录,得到网址回应不存在该用户名
打开burpsite用proxy抓包可见请求中的用户名和密码为之前随机输入的www
由于请求中只包含用户名和密码,无验证码等其他因素,可知此题目可暴力破解
右键请求文本选择发送到intruder,在intruder里查看,攻击模式选用sniper
这里对要进行爆破的数据,即用户名和密码,从原来的静态变量替换为动态变量。具体操作为选中原数据www,点击添加payload按钮进行替换。点击上方选项卡中的payload,切换到字典配置界面。先选择payload类型为简单列表,然后在payload设置中,点击添加在右边文本框输入若干常见密码数字
单击右边的开始攻击键得到攻击结果
单击任意一个攻击请求,可在下方请求报文中看到sniper攻击方式是将字典里的所有字符替换给第一个动态变量。将攻击方式切换为battering lam,重复上述操作,可见该攻击方式是把所有的动态变量替换为字典字符
把攻击方式切换为pitchfork,可在payload界面选择payload集,可见不同的集可以选择不同的payload字典。即第一个动态变量使用1号字典,第二个动态变量使用2号字典。随意设置2号字典字符后点击开始攻击
可见该攻击方式将一号字典和二号字典结果一一对应进行攻击,如果有任一字典有缺少的则会选择留空。
攻击方式切换为clusterbomb,进行攻击,可见相比pitchfork该攻击模式会将字典交叉写入攻击
回到题目,选用集束炸弹攻击方式,字典一设置常用的用户名,包括admin,字典二设置常用的密码字符,000000。在前面的测试中可知当登录失败的时候网页会弹出提示username or password is not exists~,利用该提示在brupsite中找到payload旁的设置选项卡,利用里面的检索匹配功能帮助我们进行对结果的筛选。
添加username or password is not exists~关键词,开始攻击
攻击完毕后点击创建的username or password is not exists选项标进行排序,可见其他所有的选项标此列数据均为1,唯一一个不为0的数据项被排序到了第一位。且该请求响应长度也与其他结果长度不同,猜测该选项使用的用户名密码即正确的用户名密码。
将该用户名密码填入网站,网站提示登录成功,完成暴力破解。