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/760630.html

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

相关文章

鲁工小装载机-前后桥传动轴油封更换记录

鲁工装载机 因前后桥大量漏齿轮油,故拆开查看、更换油封 一: 如图圈起来的地方是螺丝和钢板相别,用200的焊接电流用电焊机点开一个豁口后拆除螺丝。 转轴是拆除传动轴后的样子。 这就是拆下来的样子,这玩意插上边那图&…

2024最新初级会计职称题库来啦!!!

16.根据增值税法律制度的规定,下列各项中,属于"提供加工、修理修配劳务"的是()。 A.修理小汽车 B.修缮办公楼 C.爆破 D.矿山穿孔 答案:A 解析:选项AB:修理有形动产(…

江协科技51单片机学习- p21 LED点阵屏(8*8)

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…

发那科机床采集数据

前面两篇重点介绍了理论,从这篇开始,我们开始进行实战。首先从发那科机床开始,为何第一个将发那科。因为发那科系统机床有三最。最广泛(中国保有量最多)、 最多资料(发那科系统的开发包历史悠久&#xff0c…

【效率提升】新一代效率工具平台utools

下载地址:utools uTools这款软件,是一款功能强大且高度可定制的效率神器,使用快捷键alt space(空格) 随时调用,支持调用系统应用、用户安装应用和市场插件等。 utools可以调用系统设置和内置应用,这样可以方便快捷的…

Python计算n的阶乘的多种方法

1 问题 在课上,我们学习了用递归函数去计算一个自然数n的阶乘。但计算一个自然数n的阶乘是否就这一种方法呢? 2 方法 关于计算一个自然数n的阶乘,通过搜索,我们寻找到了除运用递归函数外的其他三种方法: 方法一 通过导…

CSS-实例-div 水平居中 垂直靠上

1 需求 2 语法 3 示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>表格水平居中、垂直靠上示例…

解决Install/Remove of the Service Denied报错

1、问题概述&#xff1f; 在Windows系统中安装MySQL5.7.43的时候&#xff0c;运行mysqld install命令提示报错&#xff1a;Install/Remove of the Service Denied 意思是&#xff1a;安装/删除服务被拒绝 问题原因所在&#xff1a;就是你当前的权限不够&#xff0c;以管理员…

人工智能的目标分类

欢迎来到 Papicatch的博客 目录 &#x1f349;引言 &#x1f349;目标分类的概述 &#x1f348;背景 &#x1f348;分类的重要性 &#x1f34d;明确研究重点 &#x1f34d;促进应用推广 &#x1f34d;便于评估和比较 &#x1f348;分类的原则 &#x1f34d;基于应用领…

密钥库jks文件加载格式错误IOException:Invalid keystore format--已经解决

一、报错 java.lang.RuntimeException: java.io.IOException: Invalid keystore format Caused by: java.io.IOException: Invalid keystore format二、原因 原因&#xff1a;Java的密钥库jks文件放在/src/main/resources目录下,编译后jks文件被修改,导致keyStore.load读取…

支付宝支付之收款码支付

文章目录 收款码支付接入流程安全设计系统交互流程交易状态统一收单交易支付接口请求参数测试结果查询支付撤销支付退款支付退款结果退款说明 收款码支付 继&#xff1a;支付宝支付之入门支付 接入流程 安全设计 支付宝为了保证交易安全采取了一系列安全手段以保证交易安全。…

计网之IP

IP IP基本认识 不使用NAT时&#xff0c;源IP地址和目的IP地址不变&#xff0c;只要源MAC和目的MAC地址在变化 IP地址 D类是组播地址&#xff0c;E类是保留地址 无分类地址CIDR 解决直接分类的B类65536太多&#xff0c;C类256太少a.b.c.d/x的前x位属于网路号&#xff0c;剩…

kafka的工作原理与常见问题

定义 kafka是一个分布式的基于发布/订阅模式的消息队列&#xff08;message queue&#xff09;&#xff0c;主要应用于大数据的实时处理领域 消息队列工作原理 kafka的组成结构 kafka的基础架构主要有broker、生产者、消费者组构成&#xff0c;还包括zookeeper. 生产者负责发送…

高并发场景下的热点key问题探析与应对策略

目录 一、问题描述 二、发现机制 三、解决策略分析 &#xff08;一&#xff09;解决策略一&#xff1a;多级缓存策略 客户端本地缓存 代理节点本地缓存 &#xff08;二&#xff09;解决策略二&#xff1a;多副本策略 &#xff08;三&#xff09;解决策略三&#xff1a;热点…

计算机组成原理——锁存器和触发器

文章目录 1. SR锁存器 1.1 电路结构 1.2 电路解析 2. 带en输入的SR锁存器 2.1 ​​​​​​​电路结构 2.2 工作原理 3. ​​​​​​​带En输入的D锁存器 3.1 电路结构 3.2 工作原理 4. ​​​​​​​边沿触发的D触发器 4.1 电路结构 4.2 工作原理 1. SR锁存器 …

Python | Leetcode Python题解之第207题课程表

题目&#xff1a; 题解&#xff1a; class Solution:def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool:edges collections.defaultdict(list)indeg [0] * numCoursesfor info in prerequisites:edges[info[1]].append(info[0])indeg[info[…

C语言 | Leetcode C语言题解之第207题课程表

题目&#xff1a; 题解&#xff1a; bool canFinish(int numCourses, int** prerequisites, int prerequisitesSize, int* prerequisitesColSize) {int** edges (int**)malloc(sizeof(int*) * numCourses);for (int i 0; i < numCourses; i) {edges[i] (int*)malloc(0);…

AD PCB板子裁剪与泪滴设置

在剪裁板子时。首先&#xff0c;选择选择板子的机械层&#xff0c;之后选择画线。在原来的板子上画上自己想要裁剪的图形。如下下图 之后&#xff0c;选择按照所画的线裁剪板子即可&#xff0c;如下 在焊接PCB时&#xff0c;为了防止多次焊接导至焊盘脱落可以加大焊点的接触面积…

leetcode-19-回溯-组合问题(剪枝、去重)

引自代码随想录 一、[77]组合 给定两个整数 n 和 k&#xff0c;返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4]] 1、大致逻辑 k为树的深度&#xff0c;到叶子节点的路径即为一个结果 开始索引保证不…

[C++][设计模式][备忘录模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件构建过程中&#xff0c;某些对象的状态转换过程中&#xff0c;可能由于某中需要&#xff0c;要求程序能够回溯到对象之前处于某个点的状态。 如果使用一些公开接口来让其他对象得到对象的状态&#xff0c;便会暴露对象…