1 用户名枚举
一、相关知识与技能
如果正在测试一个需要用户名和密码才能执行操作的 web 应用程序,需要寻找攻击者发现有效的用户名和密码的方法。在登录、注册和密码恢复页面中,对有效和无效用户的响应稍有不同,就会让找到一个有效信息。
二、实验内容:
1.从 Kali Linux 的浏览器打开 WebGoat ,如果弹出登录对话框,则使用 webgoat作为用户名和密码。
2.进入 WebGoat 后,转到 AuthenticationFlaws | Forgot Password。
3.将请求发送 Intruder 模块。
4.进入 Intruder 模块,设置用户名作为唯一要破解的位置。
5.然后,转到 Payloads 来设置将在攻击中使用的用户字典列表。
6.现在知道了用户不存在时的响应,可以使用 Burp 告诉该消息何时出现在结果中。
7.添加一个新的字符串来匹配 Not a validusername。
8.开始攻击。
2 使用 Burp Suite 对登录页面进行字典攻击
一、相关知识与技能
KaliLinux 在/usr/share/wordlists中包含一组非常有用的密码字典和单词列表。所有失败的登录尝试得到相同的响应,但是一个状态为 200(OK),在这种情况下长度为 813 个字节,因此假设成功的一个必须是不同的,在最小的长度(因为它必须重定向或将用户发送到他们的主页)。
二、实验内容:
1.首先,将 Burp Suite 设置为浏览器的代理。
2.浏览到http://192.168.56.11/WackoPicko/admin/index.php?page=login
3.将看到一个登录表单。尝试测试用户名和密码。
4.现在,在 Proxy 的历史记录里查找刚刚通过登录尝试发出的 POST 请求,并将其发送给 Intruder。
5.单击【Clear§】按钮,清除预先选择的插入位置。
6.现在,通过突出显示参数的值并单击【Add§】按钮,将位置置于两个 POST参数(adminname 和 password)的值上。
7.由于密码列表针对所有用户,因此选择Cluster bomb 作为攻击类型。
8.下一步是在 Intruder 中选择输入测试值。转到 Payloads 选项卡。
9.在 Payloads Options[Simple list](选项[简单列表])部分的文本框中。
10.从 Payload Set 框中选择列表 2。
11.开始攻击。
3 使用 Hydra 对基本身份验证进行暴力破解攻击
一、相关知识与技能
与其他身份验证方法(例如基于表单的身份验证方法)不同,基本身份验证在发送到服务器的内容、如何发送以及期望从服务器得到的响应方面是标准的。这允许攻击者和渗透测试人员节省宝贵的分析时间,这些工作涉及的参数包含用户名和密码、如何处理,发送这些参数以及如何区分成功响应和不成功响应。
二、实验内容:
1.打开终端运行 hydra,或者使用 Kali Linux 应用程序|05 中的 Applications 菜单—密码攻击|在线攻击|hydra。
2.不输入任何参数。
3.在终端中:写入以下命令发动攻击:
hydra-L user_list.txt -P top25_passwords.txt -u -e nshttp-get://192.168.56.11/WebGoat/
4 用 Metasploit 爆破 Tomcat 密码
一、相关知识与技能
默认情况下,tomcat 服务会开启在 8080 端口,管理界面目录在/manager/html。
使用的 tomcat_mgr_login 模块有一些参数:
l BLANK_PASSWORDS: 为每一个账号提供一个空密码测试
l PASSWORD: 设置这个可以一密码多用户的方式进行测试
l PASS_FILE: 输入你想使用的密码字典路径
l Proxies: 为了避免被检测到源地址,可以使用这个代理功能
l RHOSTS:填写要测试的主机(可以是多个,以空格分隔。也可以是一个清单文件)
l RPORT:设置目标 tomcat 运行端口
l STOP_ON_SUCCESS:当破解成功后停止攻击
l TARGERURI:管理界面的目录路径
l USERNAME:定义要测试的用户名(可以使单个,也可以是一个字典文件)
l USER_PASS_FILE:使用用户名/密码格式的字典文件
l USER_AS_PASS:尝试使用测试中的用户名作为密码
二、实验内容:
1.靶机 VM_1 有一个 tomcat 服务跑在 8080 端口,浏览器访问
http://192.168.56.11:8080/manager/html
2.可以看到弹出了一个认证界面要求输入账号密码。
3.打开终端,输入 msfconsole 启动 msf
4.启动后需要加载 tomcat 爆破模块,在 msf>后输入
use auxiliary/scanner/http/tomcat_mgr_login
5.可以用这个命令看看需要什么参数:
showoptions
6.现在可以设置目标主机 ip 了!输入以下内容:
setrhosts 192.168.56.11
7.为了使运行速度快一点(不能太快!),可以用这个命令设置线程:
setthreads 5
8.为了不使服务器因为太大量请求而奔溃,破解速度降低一点:
setbruteforce_speed 3
9.其余参数使用默认值,设置完成后,输入 run 来启动攻击!
10.在一些失败结果后,发现了一个有效的密码!
5 手动识别 Cookie 中的漏洞
一、相关知识与技能
在这个小节中,仅仅检查了 Cookie 的配置,但是在真实的渗透测试中 Cookie 的安全配置检查是必要的。
二、实验内容:
1. 在浏览器中:http://192.168.56.11/WackoPicko/。
2. 可以使用 Cookies Manager 来查看 cookie 中的值,只需要在浏览器右上角点击它的图标即可打开 CookieManager。
3. 任选一个 cookie,例如来自 192.168.56.11 的 PHPSESSID,双击它或者是选中后单击 Edit 按钮,便可打开一个新的窗口用来编辑它内部存储的值。
4. 也可以使用浏览器的默认开发者工具来查看的修改 cookie的值。
6 会话固定攻击漏洞
一、相关知识与技能
通过向受害者发送包含恶意链接的电子邮件,其中涉及了社会工程学。这个链接利用了一个会话固定攻击漏洞,攻击者已经提前就发现了这个漏洞,当受害用户登录到应用程序时,它保留攻击者提供的会话 ID 并将其链接到用户,这使攻击者能够在应用程序中操作自己的参数来复制相同的 ID,从而劫持有效用户的会话。
二、实验内容:
1. 在虚拟机 Kali 中,登录 WebGoat,进入菜单中的 SessionManagement Flaws |Session Fixation。
2.试图发送钓鱼电子邮件给受害者,以强制使用选择的会话 ID。
3. 单击 Send Mail 进入第二阶段
4. 在第二阶段,从受害者阅读恶意电子邮件的角度出发。
5. 点击链接进入第三阶段。
6. 现在受害者已经使用所提供的登录凭据,登录到了登录界面。
7. 现在是第 4 阶段,回到了攻击者的视角,有个链接指向 GoatHills Financial,点击它进入到登录页面。
8. 注意地址栏现在有了不同的 SID 值,如果不经过验证就去登录页面会发生这样的事。
9. 当 SID 值更改时,单击 Login,没有必要设置任何用户名或密码。