TangGo测试平台 | 身份切换测试模块使用

admin 2024年3月20日22:06:28评论9 views字数 4039阅读13分27秒阅读模式

TangGo测试平台 | 身份切换测试模块使用

阅读须知

本文的知识内容,仅供网络安全从业人员学习参考,用于已获得合法授权的网站测试,请勿用于其它用途。请勿使用本文中的工具、技术及资料,对任何未经授权的网站、系统进行测试,否则,所造成的直接或间接后果,均由您自行承担。

工具名称 工具版本
更新内容
HTTP抓包测试工具 v1.6.2 1、增加用户会话身份管理模块,支持用户登陆凭据记录及Keep-Session,支持用户身份快速切换,可用于多用户身份切换测试(如越权测试等)。
2、增加证书管理模块,支持证书导入,支持证书双向认证。

3、部分界面优化。

4、修正部分机器启动卡住的bug。

5、优化跟踪重定向模块。

01
身份切换模块使用场景

在涉及多用户体系的相关功能的测试中(比如多用户交互的业务流程测试、垂直越权漏洞测试),经常需要频繁切换多个不同的账号,需要频繁地输入账号密码和验证码进行登陆,需要频繁的修改账号Cookie测试越权。这样的测试过程非常繁琐,大大降低了测试的效率。

在最新版本的 HTTP抓包测试工具中,增加了身份测试模块,可帮助你解决以下问题:

1. 账号管理繁琐:多个账号时,需频繁寻找账号、密码进行输入以完成登陆。

2. 登录验证频繁:频繁切换测试账号进行登陆,需要多次输入验证码或者进行其他身份验证。

3. 登陆限制风险:如果频繁尝试登录或者切换账号,可能会触发网站的账号锁定机制,如短信认证次数限制等,导致测试被迫中断。

4. 身份切换麻烦:对于某些越权测试,需要同时登陆多个账号,通过修改不同用户的登陆凭据(如Cookie)以检测是否能垂直越权,操作麻烦,且某些账号可能因为长时间未操作而会话过期,需要重新登陆。

02
使用实操

本文通过测试靶场来演示新功能“用户会话身份测试模块”。

测试靶场:https://github.com/zhuifengshaonianhanlu/pikachu

测试漏洞:垂直越权漏洞。

使用工具:HTTP抓包测试工具。

TangGo测试平台 | 身份切换测试模块使用

垂直越权

常见的垂直越权测试流程如下:

1.创建不同权限的用户:首先,在系统中创建两个用户,分别是普通权限的用户A和管理员用户admin。用户A具有普通用户的权限,而管理员用户admin则拥有执行特定管理操作的权限。

2.登录并记录身份信息:使用用户A和管理员用户admin分别登录系统,并记录下各自登录后的身份信息,包括cookie、JWT等用户标识,以及角色或权限等。

3.执行管理员操作并抓取数据包:以管理员用户admin的身份登录后,执行一些只有管理员权限才能执行的特定增、删、改、查操作。在执行这些操作时,同步抓取并存储相应的数据包。数据包中包含了管理员用户的身份信息和请求的操作内容。

4.替换管理员cookie为用户A的cookie:在抓取到的管理员用户admin的数据包中,将管理员的cookie替换为用户A的cookie。这一步是为了模拟普通用户A尝试执行管理员权限的操作。

5.使用替换后的cookie执行操作:使用替换后的cookie重新发送请求,尝试执行之前的管理员操作。

6.验证操作结果:验证使用用户A的cookie替换后执行的管理员操作是否生效。如果操作生效,那么说明普通用户A能够执行原本只有管理员才能执行的操作,证明了垂直越权漏洞的存在。

测试流程

获取不同权限的用户

此处已经注册两个权限不同的用户,普通用户“pikachu”和管理员用户“admin”。普通用户只有拥有查看用户列表的权限,管理员用户可以对用户进行添加和删除

TangGo测试平台 | 身份切换测试模块使用

登录并记录身份信息(新功能)

打开 HTTP抓包测试工具,点击右上角的按钮TangGo测试平台 | 身份切换测试模块使用,进入会话配置页面:

TangGo测试平台 | 身份切换测试模块使用

点击“用户会话身份配置”TangGo测试平台 | 身份切换测试模块使用进入以下界面:

TangGo测试平台 | 身份切换测试模块使用

接下来登录用户“pikachu”和记录登录的信息。

1.添加用户会话身份

点击“添加用户会话身份”,在弹出的页面中填写“身份标识”,此处填写为“pikachu”。

TangGo测试平台 | 身份切换测试模块使用

TangGo测试平台 | 身份切换测试模块使用

2.打开用户会话身份配置向导

点击 “pikachu”会话身份中的配置向导:

TangGo测试平台 | 身份切换测试模块使用

2.1 记录登录凭据

在弹出的页面中,点击"打开浏览器并记录登录凭据",注意:如果你访问的网页需要使用代理服务器,请“代理服务器”中填入代理服务器地址,并且后续的 keep-session 的请求也会走此代理。本次测试中代理服务器为空。

TangGo测试平台 | 身份切换测试模块使用

在弹出的内置浏览器中,访问靶场地址,输入账号和密码并点击登录:

TangGo测试平台 | 身份切换测试模块使用

成功登录用户“pikachu”:

TangGo测试平台 | 身份切换测试模块使用

回到 HTTP抓包测试工具,发现已经记录了两条数据,分别记录了登录的 Cookie 和非标头。

TangGo测试平台 | 身份切换测试模块使用

点击下一步,继续配置。

2.3 会话保持设置

使用场景:大部分站点会在用户停止操作一段时间后,自动退出用户的登录状态。使用会话保持功能,并设置保持策略,可以在测试过程中防止用户登录状态失效。

选择需要保持会话存活的网站域名,并设置保活数据包发送地址,建议选择登陆成功后所在的页面地址:

TangGo测试平台 | 身份切换测试模块使用

此处登录成功的界面为,xxx/pikachu/vul/overpermission/op2/op2_user.php,既保活地址填写“/pikachu/vul/overpermission/op2/op2_user.php”。

TangGo测试平台 | 身份切换测试模块使用

设置保持会话的数据包发送周期,可以根据网站的判定或者自己的需要设置,本次设定意思为:每隔 30 秒向保活地址(xxx/index.aspx)发送一次请求,确保登录状态存活(简称保活)。

TangGo测试平台 | 身份切换测试模块使用

设置好以上选项后,点击勾选选择对应需要保活的地址,然后点击右下角保存即可完成设置。

TangGo测试平台 | 身份切换测试模块使用

完成后可以看到该页面会显示已经记录的“Cookie 和非标准请求头”:

TangGo测试平台 | 身份切换测试模块使用

接下来使用同样的方法配置好“admin”,在内置浏览器登录成功的页面中很明显看到管理员账户操作权限比普通用户多一些。注意:此处管理员的保活地址和普通用户是不同的。

TangGo测试平台 | 身份切换测试模块使用

配置完成后,点击右上角内置浏览器TangGo测试平台 | 身份切换测试模块使用,当我们在浏览器中直接访问登录后的地址(xxx/pikachu/vul/overpermission/op2/op2_user.php),即保活地址的时候,会因为没有登录账户直接跳转到登录界面:

TangGo测试平台 | 身份切换测试模块使用

这是因为尝试使用一个没有包含任何登录信息的身份访问网站,所以会有该提示。

回到 HTTP抓包测试工具中,在左上角,切换用户身份,使用之前配置的“pikachu”用户身份:

TangGo测试平台 | 身份切换测试模块使用

回到内置浏览器中,再次访问对应的网站:

TangGo测试平台 | 身份切换测试模块使用

成功登录普通用户“pikachu”的后台,网页提示该用户只有查看权限。

尝试使用普通用户权限直接访问管理员保活地址(/pikachu/vul/overpermission/op2/op2_admin.php),会发现页面直接跳转到登录主页,说明普通用户无权直接访问管理员界面。

TangGo测试平台 | 身份切换测试模块使用

切换为管理员账号“admin”:

TangGo测试平台 | 身份切换测试模块使用

再次访问此界面,进入管理员界面后台。

TangGo测试平台 | 身份切换测试模块使用

成功解决了多个账户反复切换和省略了需要每次输入密码的烦恼,极大的提高了测试效率。

执行操作并抓取数据包

进入下一步流程,接下来需要测试是否存在普通用户“pikachu”是否可以执行本属于管理员“admin”才能执行的操作。

当前身份会话属于“admin”账号权限,该账号拥有对普通用户的“添加、删除”功能:

TangGo测试平台 | 身份切换测试模块使用

点击添加用户,会跳转到一个新页面,在该页面中填入需要添加用户的必要信息:

TangGo测试平台 | 身份切换测试模块使用

在 HTTP抓包测试工具中,开启抓包拦截,回到内置浏览器中,点击创建按钮提交请求TangGo测试平台 | 身份切换测试模块使用,在 HTTP抓包测试工具中已经成功抓取到管理员用户“admin”创建用户请求的数据包:

TangGo测试平台 | 身份切换测试模块使用

替换不同权限用户的cookie后执行操作

使用身份切换到时候,可以在请求拦截中模块中和 HTTP 重发模块中使用,接下来分别介绍两种位置使用的方法:

方法一:在请求拦截模块使用身份切换。

在 HTTP抓包测试工具中,切换用户身份为“pikachu”,在放行之后就会把管理员“admin”的 cookie 替换为“pikachu”的 cookie,(当前编辑器的 cookie 不会被修改):

TangGo测试平台 | 身份切换测试模块使用

TangGo测试平台 | 身份切换测试模块使用

点击拦截关闭TangGo测试平台 | 身份切换测试模块使用后,内置浏览器直接跳转到登录界面,暂时还不知道是否成功添加。

TangGo测试平台 | 身份切换测试模块使用

方法二:在数据重放模块中使用切换身份模块。

单击右键发送到数据重放模块,等待页面自动跳转:

TangGo测试平台 | 身份切换测试模块使用

单击左上角切换身份选项,更换为普通用户“pikachu”,在发送之后就会把管理员“admin”的 cookie 替换为“pikachu”的 cookie,(当前编辑器的 cookie 不会被修改):

TangGo测试平台 | 身份切换测试模块使用

使用普通用户“pikachu”身份,点击发送TangGo测试平台 | 身份切换测试模块使用按钮,页面 HTTP 响应显示 302,跳转到登录页面:

TangGo测试平台 | 身份切换测试模块使用

验证操作结果

因为有之前设置了会话保活机制,目前的会话身份为“pikachu”,所以直接访问“pikachu”用户的登录页面,发现已经成功添加用户:

TangGo测试平台 | 身份切换测试模块使用

至此说明,该网站确实存在垂直越权漏洞。

03
使用总结

HTTP抓包测试工具中的身份切换测试模块基础的使用方法和流程已经介绍完毕。

1.解决了多个账号之间反复切换的繁琐问题:

 对于那些需要测试并管理多个账号的用户来说,频繁切换账号不仅耗时,还容易出错。能够解决这一问题的工具或应用可以大大减轻用户的负担。

2.使用保活机制解决了登录会话过期的问题:

 登录会话过期是许多在线服务为了安全考虑而设置的机制,但这也给用户带来了不便。尤其是在长时间不操作或网络不稳定的情况下,会话过期会导致用户需要重新登录,打断工作流程。保活机制可以确保会话在合理的时间内保持活跃,减少用户因会话过期而需要重新登录的次数。

3.一键切换用户身份,无需手动登录:

 一键身份切换功能对于那些需要经常在不同身份或角色之间切换的用户来说非常有用。它不仅可以减少用户输入登录信息的错误率,还可以节省大量时间,让用户能够更快速地进入工作状态。

注意:工具使用内容请以最新版本为主。

下载和反馈

01

TangGo社区版本下载:

· https://tanggo.nosugar.tech/

02

反馈问题:

· https://tanggo.nosugar.tech/#/feedback

· 通过微信交流群反馈:关注【无糖反网络犯罪研究中心】公众号,回复“TangGo”,加入交流群进行反馈。

TangGo测试平台 | 身份切换测试模块使用

原文始发于微信公众号(无糖反网络犯罪研究中心):TangGo测试平台 | 身份切换测试模块使用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月20日22:06:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   TangGo测试平台 | 身份切换测试模块使用https://cn-sec.com/archives/2590222.html

发表评论

匿名网友 填写信息