测试身份验证和会话管理

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中包含一组非常有用的密码字典和单词列表。所有失败的登录尝试得到相同的响应,但是一个状态为 200OK),在这种情况下长度为 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,没有必要设置任何用户名或密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值