Burpsuite靶场中信息泄露相关的实验通关

目录

第一关:错误消息中的信息披露

第二关:调试页面信息披露

第三关:通过备份文件披露源代码

第四关:通过信息披露绕过身份验证

第五关:版本控制历史中的信息披露


最近看大佬的文章,发现了很对自己没有注意到的关于信息泄露的点,感谢大佬,这里参考大佬的文章在这里使用burpsuite的靶场来练习一下信息泄露相关的知识点和操作

靶场地址:

可以看到关于信息泄露的一共有5关卡,那么就分别来进行练习

第一关:错误消息中的信息披露

进入后介绍如下:

此实验室的详细错误消息显示,它使用的是第三方框架的易受攻击版本。若要求解实验室,请获取并提交此框架的版本号。

然后点击进入到靶场中可以看到如下页面:

根据提示,让我们去查看一下GET /product?productId=1

这里我使用burpsuite抓到该数据包后,发送到重放器中,然后发包,可以看到显示了第一个商品的信息

修改productid为2后会显示第二个商品的信息


但是当我将productid为1'后,可以看到页面报错了

但是这样并不是单纯的报错,而是显示了Apache Struts 2 2.3.31,那么我们是不是可以去查找一下对应版本的历史漏洞,进行下一步的利用了

所以说,这种将后端服务器组件相关的信息返回给用户是很危险的行为

然后将获取到的中间键信息提交:

成功通关

第二关:调试页面信息披露

来到第二关,是这样介绍的:

本实验包含一个调试页,用于公开有关应用程序的敏感信息。要求解实验室,请获取并提交SECRET_KEY环境变量。

这里补充一下调试数据泄露的知识点:

1、泄露原因:出于调试目的,许多网站生成自定义错误消息和日志,其中包含有关应用程序行为的大量信息。

虽然此信息在开发过程中非常有用,但如果在生产环境中泄漏,它对攻击者也非常有用。

2、调试消息有时可能包含开发攻击的重要信息: 可通过用户输入操作的关键会话变量的值 后端组件的主机名和凭据 服务器上的文件名和目录名 用于加密通过客户端传输的数据的密钥

进入到靶场后可以看到如下信息:

然后点击任意一页面后,将数据包发送到站点地图中(sitemap)

然后在sitmap中,我们有件点击相关工具,点击搜索注释

点击后可以查看到如下页面:

这时一个链接,我们可以拼接访问一下

可以看到成功的访问到了phpinfo页面,然后我们可以搜索一下要求的SECRET_KEY:

提交:

第三关:通过备份文件披露源代码

来到了第三关,介绍如下:
这个实验室通过隐藏目录中的备份文件泄露其源代码。为了解决实验室的问题,识别并提交数据库密码,该密码是在泄露的源代码中硬编码的。

源码泄露:获得源代码访问权限使攻击者更容易理解应用程序的行为并构造高严重性攻击。敏感数据有时甚至被硬编码在源代码中。这方面的典型示例包括用于访问后端组件的API密钥和凭据。

进入到靶场中可以看到如下页面:

根据提示,实验通过隐藏目录中的备份文件中代码中使用硬编码对数据密码进行了存储,那么我们就是要找到隐藏备份文件:

我们尝试使用robots.txt来查看网站的目录结构:

这里就有一个backup目录,一看就是备份文件的目录,访问:

访问备份文件:

可以看到成功的访问到了数据库的密码,提交:

第四关:通过信息披露绕过身份验证

来到第四关后,还是先来看看靶场的介绍:

该实验室的管理接口存在身份验证绕过漏洞,但在不知道前端使用的自定义HTTP标头的情况下进行攻击是不切实际的。
要解决实验室问题,请获取标头名称,然后使用它绕过实验室的身份验证。

访问管理员界面并删除用户carlos。
您可以使用以下凭据登录到自己的帐户:wiener:peter

访问靶场后,可以看到如下页面:

通过介绍,我们可以知道,主要的目的是要想办法通过伪造/修改HTTP头部来登录管理员admin的账号中,然后删除用户carlos

那我先试用提供的普通用户的账号登录一下:

wiener:peter

登录成功后,尝试访问一下admin页面:


可以看到如下报错
管理员界面仅对本地用户可用

这里并不是告诉我们我们的权限不够,而是说仅本地用户可用,这里细细思考一下,那是不是我伪装一下,变成本地用户就可以了呢?

我们在访问的同时抓取数据包,并且将方法修改为TRACE:

TRACE请求是一种用于回显服务器收到的请求的HTTP方法。

当客户端发送TRACE请求时,服务器将原始请求报文作为响应返回给客户端,用于检查或调试请求的传输过程。

可以看到这里有一个字段是X-Custom-IP-Authorization: 113.201.75.6,这可能就是我们不是本地用户的原因了,下面进行伪造:

X-Custom-IP-Authorization: 127.0.0.1

可以看到,来到了删除用户的页面,将carlos用户删除即可

在代理这里也可以设置:

然后访问admin页面,删除用户

第五关:版本控制历史中的信息披露

来到了第五关,介绍如下:

该实验室通过其版本控制历史记录披露敏感信息。要解决实验室问题,请获取管理员用户的密码,然后登录并删除用户carlos。

访问靶场可以看到如下页面:

分析提示,通过版本控制历史泄露敏感信息,我一下就想到了.git、.svn...之类的,这里尝试访问一下:

果然,存在.git文件泄露,那么下面就可以利用了

下载整个目录的副本

进入到下载的目录中,然后使用下列命令查看一下当前工作目录和暂存区的状态

git status

仔细查看更改后的admin.conf文件的差异(提交用环境变量ADMIN_PASSWORD替换了硬编码的管理员密码。但硬编码密码在diff中仍然清晰可见)

消息提示:“从配置中删除管理员密码”(删除了2个admin文件)

使用git log命令显示提交日志信息

git log

使用 git diff命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别

git diff + 上面 git log显示的的文件名
git diff f1c286a58446ccffd5b42bce3db384024d9deb67

可以看到成功的显示出了admin_password

下面我们登录到管理员账号中+访问admin目录删除用户

完美通关,还是所有都是√看着舒服哈

 

参考文章:

【web渗透思路】敏感信息泄露(网站+用户+服务器)_渗透测试,敏感信息泄露-CSDN博客

【burpsuite安全练兵场-服务端6】信息泄露漏洞-5个实验(全)_应用程序调试信息泄露-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IOS Swift 从入门到精通:ios 连接数据库 安装 Firebase 和 Firestore

创建 Firebase 项目 导航到Firebase 控制台并创建一个新项目。为项目指定任意名称。 在这里插入图片描述 下一步,启用 Google Analytics,因为我们稍后会用到它来发送推送通知。 在这里插入图片描述 在下一个屏幕上,选择您的 Google Analytics 帐户(如果已创建)。如果没…

FFT的IP核使用报错的检查流程

一、config部分 拉出clk resetn, s_axis_config_tdata, s_axis_config_tready, s_axis_config_tvalid .这四个信号。 时序行为解释:

【python - 数据】

一、序列 序列(sequence)是一组有顺序的值的集合,是计算机科学中的一个强大且基本的抽象概念。序列并不是特定内置类型或抽象数据表示的实例,而是一个包含不同类型数据间共享行为的集合。也就是说,序列有很多种类&…

第0章_项目方案介绍

文章目录 第0章 项目方案介绍0.1 功能介绍0.2 硬件方案0.3 软件方案0.3.1 上位机方案0.3.2 **中控方案**0.3.3 **传感器方案**0.3.4 **技术难点** 第0章 项目方案介绍 0.1 功能介绍 本课程来自一个真实项目:多个气体传感器的管理。由于气体传感器比较昂贵&#xf…

mysql5.7安装使用

mysql5.7安装包:百度网盘 提取码: 0000 一、 安装步骤 双击安装文件 选择我接受许可条款–Next 选择自定义安装,下一步 选择电脑对应的系统版本后(我的系统是64位),点击中间的右箭头,选择Next 选择安装路径–Next 执行…

第1章:计算机系统知识

第1章:计算机系统知识 校验码 海明码 1、数据怎么分组,为什么这样分组? 分组1:1、3、5、7 分组2:2、3、6、7 分组3:4、5、6、7 目的就是为了纠错,从下面图便可以知道 2、为什么检验位在2∧…

动态应用安全测试 (DAST) 与渗透测试:应用程序安全测试综合指南

二十多年来,Web 应用程序一直是许多企业的支柱,因此其安全性至关重要。 动态应用程序安全测试 (DAST) 和渗透测试对于识别和缓解 Web 应用程序安全中的安全漏洞至关重要。 虽然两者都旨在增强应用程序安全性,但它们在方法、执行和结果方面存在很大差异。 本综合指南将探讨…

[SAP ABAP] 数据字典

ABAP数据字典是定义和管理数据库对象的工具 系统的所有全局数据类型以及数据库表结构等都需要在数据字典中创建和维护(数据字典中的对象对所有ABAP程序都是全局的) 通过数据字典,我们可以把数据库对象管理好,后续才能顺利的进行功能开发,SA…

【MySQL基础篇】SQL指令:DQL及DCL

1、DQL DQL - 介绍 DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据表中的记录。(在MySQL中应用是最为广泛的) 查询关键字:SELECT DQL - 语法 SELECT 字段列表 FROM 表名列表 WHER…

1262. 可被三整除的最大和(leetcode)

1262. 可被三整除的最大和(leetcode) 题目描述 给你一个整数数组 nums,请你找出并返回能被三整除的元素 最大和。 示例1 输入:nums [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和…

Redisson框架

1. Redisson锁与Redis订阅与发布模式的联系: Redisson锁中,使用订阅发布模式去通知等待锁的客户端:锁已经释放,可以进行抢锁。 publish channel_name message:将消息发送到指定频道 解锁时,在Lua解锁脚本…

Python: PyCharm 2023.1 调试

1.设断点 (行号对应的红色点,在需要设置断点的代码行与行号之间鼠标点击即可以设置) 2.shiftF9,或 altshiftf9 选择文件 或是在菜单 Run->debug "main" 或是在菜单Run->debug 选择文件 (鼠标光标放在设置第一个…

Linux下安装RocketMQ:从零开始的消息中间件之旅

感谢您阅读本文,欢迎“一键三连”。作者定会不负众望,按时按量创作出更优质的内容。 ❤️ 1. 毕业设计专栏,毕业季咱们不慌,上千款毕业设计等你来选。 RocketMQ是一款分布式消息中间件,具有高吞吐量、低延迟、高可用性…

环回接口处理 IP 数据报的过程及 Loopback 接口的主要作用

环回接口处理 IP 数据报的过程 IPv4 中 传给环回地址(127.0.0.1)的任何数据均作为 IP 输入,直接送到环回接口(环回:IP 输入队列)。 传给广播地址或多播地址的数据报,会复制一份传给环回接口&…

GPT-5:AI新时代的领航者与我们的未来

一、引言:GPT-5的崭新时代 在科技的浪潮中,人工智能(AI)领域正迎来一个崭新的纪元。GPT-5,作为OpenAI的最新成果,无疑将成为这个新时代的领航者。从GPT-1到GPT-4,我们见证了AI在自然语言处理领域…

科普文:贝叶斯

概叙 贝叶斯推断(Bayesian inference)是一种统计学方法,用来估计统计量的某种性质。 它是贝叶斯定理(Bayes theorem)的应用。英国数学家托马斯贝叶斯(Thomas Bayes)在1763年发表的一篇论文中&am…

FreeBSD虚拟化解决之道:高效、安全、灵活的虚拟解决方案全览

FreeBSD下的虚拟化技术 虚拟化软件可让一台计算机同时运行多个操作系统。这种用于个人电脑的系统软件通常涉及一个运行虚拟化软件的宿主机(host)操作系统,并支持任何数量的客户机(guest)操作系统。 FreeBSD下的虚拟解…

在高并发场景下,怎样避免 PostgreSQL 的死锁问题?

文章目录 (一)不当的事务设计(二)不正确的锁使用(三)并发操作冲突(一)优化事务设计(二)正确使用锁(三)调整数据库参数(四&…

热管的原理和棒芯的加工

当热管的一端受热时,毛细芯中的液体蒸发汽化,蒸汽在微小的压差下流向另一端,放出热量凝结成液体,液体再靠毛细力(或重力)的作用,沿多孔材料流回蒸发段。如此循环不已,热量便从一端传…

Nginx 通过代理服务器访问目标接口

需求:某Nginx需要通过一个http代理服务来访问目标URL。 如果下图所示: 服务器B仅提供一个代理出来,不允许在该服务器上安装和进行任何其他配置操作。 在这种需求场景下,网络请求过程和域名解析的工作流程大致如下: 1…