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
本文来自博客园,作者:{Zeker62},转载请注明原文链接:https://www.cnblogs.com/Zeker62/p/15167732.html