目录
用户名枚举
1.靶场/靶机 :OWASP BWA
2.打开靶机kali-linux 2022.4
1. 点开左上角的蓝色图标 在搜索栏输入burp,打开burpsuite
2.打开后会弹出一个方框 点击OK,接着点击右下角Next
3.接着点击右下角的start burp等待反应进入到该页面
4.点击第三个prory下的intercept下的 openbrowser跳出一个弹窗点击ok
5.点开有一个小例如设置小图标的选项 点击Tools下的Burp’s browser勾选
6.点击Open Browser
7.在搜索栏输入靶机的地址 :192.168.8.139
8.点OWASP WebGoat 接着跳出一小窗口 输入用户名和密码webgoat
10.点击Authentication Flaws,选择Forgot password,弹出输入User Name的页面,如果没有可以点击Restart this Lesson
11.提交任意用户名(例如xshell),我们提交任意用户名,而该用户在数据库中不存在,我们将收到一条消息,说该用户名无效:
12. 然后可以假设,当提供了有效的用户名时,响应是不同的。下面要对此进行测试,请将请求发送Intruder模块。在Burp的Proxy/HTTP history中,我们找到刚才输入User-name是xshell的那个数据包,如下图示:
13.对该数据包单机右键选择Send to Intruder
14. 进入Intruder模块,设置用户名作为唯一要破解的位置:点击Clear
15.点击Clear§,选择xshell,在点击Add§按钮
16.然后,转到Payloads来设置我们将在攻击中使用的用户字典列表。保持默认类型为简单列表,然后单击Load按钮来加载/usr/share/wordlists/metasploit/http_default_users.txt文件:
17.现在我们知道了用户不存在时的响应,我们可以使用Burp告诉我们该消息何时出现在结果中。转到Options | Grep – Match清除列表。
18.勾选Flag result items with responses matching these expressions,添加一个新的字符串来匹配Not a valid username:然后点击Add。
19.请注意,有一些名称(如admin),其中无效用户名的消息没有使用Burp Suite标记,这些名称在应用程序中是有效的:
总结
用户名枚举
要破解用户/密码验证机制的第一步是发现有效的用户名。方法之一是通过枚举,枚举web应用程序中的用户是通过分析在登录、注册和密码恢复页面等位置提交用户名时的响应来完成的。几乎所有的应用程序都为用户提供了在忘记密码时恢复或重置密码的渠道。当不存在用户名时,这些应用程序也能识别出来,这可以用来枚举出的方式。这里使用一个普通用户名列表向应用程序提交多个请求,并通过比较响应来确定哪些提交的名称属于现有用户。
1.靶场/靶机 :OWASP BWA
靶机的IP :192.168.8.139
2.打开靶机kali-linux 2022.4
1. 点开左上角的蓝色图标 在搜索栏输入burp,打开burpsuite
2.打开后会弹出一个方框 点击OK,接着点击右下角Next
3.接着点击右下角的start burp等待反应进入到该页面
4.点击第三个prory下的intercept下的 openbrowser跳出一个弹窗点击ok
6.点击Open Browser
7.在搜索栏输入靶机的地址 :192.168.8.139
8.点OWASP WebGoat 接着跳出一小窗口 输入用户名和密码webgoat
9.登录到webgoat页面 点击start webgoat
10.点击Authentication Flaws,选择Forgot password,弹出输入User Name的页面,如果没有可以点击Restart this Lesson
11.提交任意用户名(例如xshell),我们提交任意用户名,而该用户在数据库中不存在,我们将收到一条消息,说该用户名无效:
12. 然后可以假设,当提供了有效的用户名时,响应是不同的。下面要对此进行测试,请将请求发送Intruder模块。在Burp的Proxy/HTTP history中,我们找到刚才输入User-name是xshell的那个数据包,如下图示:
13.对该数据包单机右键选择Send to Intruder
14. 进入Intruder模块,设置用户名作为唯一要破解的位置:点击Clear
15.点击Clear§,选择xshell,在点击Add§按钮
17.现在我们知道了用户不存在时的响应,我们可以使用Burp告诉我们该消息何时出现在结果中。转到Options | Grep – Match清除列表。
18.勾选Flag result items with responses matching these expressions,添加一个新的字符串来匹配Not a valid username:然后点击Add。
返回Intruder | Positions,点击Start attack,开始攻击。
19.请注意,有一些名称(如admin),其中无效用户名的消息没有使用Burp Suite标记,这些名称在应用程序中是有效的:
21.输入用户名admin,What is your favorite color?输入green,可以看到密码,也就是用户名admin是正确的,用户名root的颜色是green
总结
如果正在测试一个需要用户名和密码才能执行操作的web应用程序,需要寻找攻击者发现有效的用户名和密码的方法。在登录、注册和密码恢复页面中,对有效和无效用户的响应稍有不同,就会让找到一个有效信息。 分析对类似请求的响应差异是作为渗透测试人员需掌握的技能。可以使用Burp Suite等代理工具来记录原始请求,Intruder模块通过变量(用户名)的值的变化多次重放该请求。Intruder模块还允许自动搜索回包字符串,并指示在哪个响应中找到该字符串。