Lab: Username enumeration via response timing 通过响应时间来甄别用户名靶场复盘

靶场内容

This lab is vulnerable to username enumeration using its response times. To solve the lab, enumerate a valid username, brute-force this user’s password, then access their account page.

Your credentials: wiener:peter
Candidate usernames
Candidate passwords

Hint:
To add to the challenge, the lab also implements a form of IP-based brute-force protection. However, this can be easily bypassed by manipulating HTTP request headers.

WriteUp

  • 搞我一小时才搞完
  • 因为这个是有IP限制的,也就是说,如果我们在同一个IP下多次修改密码,可能会被禁止修改。
  • 但是我们可以使用X_Forwarded_For这个参数来生成随机的值以便于IP检测器检查不到。
  • X_Forwarded_For指的是HTTP报文最原始的IP地址,此靶场没有IP地址过滤工具,所以这也有可能有一个命令注入在里面,先不管这些。这个靶场只看得到IP是不是多次重复,所以我们设置随机数就可以了
  • 将此请求报文发送到 Intruder 并选择攻击类型为“Pitchfork”。清除默认负载位置并添加X-Forwarded-For标头。
  • 这个Pitchfork类型是将payload随着请求数而遍历,也就是两个字典的输入值是一一对应的
  • 为X-Forwarded-For标头和username参数添加payload。将密码设置为很长的字符串(大约 100 个字符即可)。
  • 考虑到这个可能先判断用户名是否是正确的,再判断密码,长密码会增加判断的时间。
  • 在“Payloads”选项卡上,选择第一个payload。选择“Numbers”payload type。输入范围 1 - 100 并将步长设置为 1。将最大小数位数设置为 0。这将用于欺骗 IP。
  • 然后将用户名payload导入字典,开始攻击
  • 把response received和response completed都打开,查看时间,如果时间间隔太近,多试几次。
  • 然后发现耗时最多的是:athena这个用户
  • 再用这个用户去爆破密码,记住,X_Forwarded_For依然需要。
  • 密码是:zxcvbnm
  • 结束

关键截图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 一天十篇博客上限,发不了了hhh
posted @ 2021-08-19 08:34  Zeker62  阅读(157)  评论(0编辑  收藏  举报