burp学院信息泄露漏洞实验

注释处泄露敏感信息

题目要求: 这个实验页面有一个未受保护的admin面板,它位于一个不可预测的位置,但是它在网页的某个地方被泄露了. 本关的目的在于找到admin面板然后使用它去删除用户carlos
lab首页面:
burp学院信息泄露漏洞实验
查看首页源代码,可以找到以下js代码,大概意思就是如果当前是admin用户,就会多出一个a连接标签,可以指向 /admin-c8to55 页面,大概多出的内容如下:
Admin panel
burp学院信息泄露漏洞实验
便知道 /admin-c8to55 目录就是指向的admin面板,进入下面的url
https://ac2d1fe21fbe471e806240db00020052.web-security-academy.net/admin-c8to55
burp学院信息泄露漏洞实验
点击carlos旁边的Delete即可完成任务

报错信息

题目要求:通过本关的错误消息获取易受攻击的第三方框架版本号.
lab首页面
burp学院信息泄露漏洞实验

随便点击一个商品,使用burp抓包,发送到repeater模块
burp学院信息泄露漏洞实验
修改productId为"test",使其不是整数数据类型,从而导致异常,响应消息中出现报错信息,将显示完整的堆栈跟踪。最后显示出Apache Struts 2 2.3.31。
burp学院信息泄露漏洞实验
输入2.3.31可以通关

调试信息

题目要求:本题包含一个调试页面会泄露敏感信息,通过获取变量SECRET_KEY的值通过本关
使用burp随便抓取本关一个页面,使用"Engagement tools" > "Find comments"可以查看本页面的所有注释信息,也可以通过查看浏览器源码查找注释内容.
burp学院信息泄露漏洞实验
找到如下信息,大概是注释了一个调试连接
burp学院信息泄露漏洞实验

输入下面的连接
https://ac1f1fa51f9d92a18031032200fa007e.web-security-academy.net/cgi-bin/phpinfo.php
获取到敏感信息
burp学院信息泄露漏洞实验

查找SECRET_KEY
burp学院信息泄露漏洞实验

用户帐号

题目要求:本题存在一个访问控制漏洞,该漏洞的敏感信息泄露到重定向响应的正文中,使用wiener:peter登录页面,获取carlos用户的api**
burp学院信息泄露漏洞实验

登录帐号后,点击My account查看详细信息
burp学院信息泄露漏洞实验

发现连接如下,尝试修该id参数
https://ac221fc41f7045b780f60b9400f5008c.web-security-academy.net/my-account?id=wiener
burp学院信息泄露漏洞实验

修改id参数为不存在的用户时会报错,存在用户时会重定向到wiener用户的首页,也获取不到什么信息,尝试使用burp抓包来仔细查看响应包中的信息
发现响应包状态码为302暂时重定向,这里重定向的页面估计已经提前设置为首页.
burp学院信息泄露漏洞实验

不过在响应包的数据中可以看到已经泄露的carlos的api**
burp学院信息泄露漏洞实验

备份文件

备份文件泄露源代码

题目要求:本实验室通过隐藏目录中的备份文件泄漏其源代码。要解决此问题,请识别并提交数据库密码,该密码在泄漏的源代码中进行了硬编码。
查看robots.txt查看敏感文件,找到/backup
burp学院信息泄露漏洞实验

发现该目录下存在一个bak文件
burp学院信息泄露漏洞实验
点开发现里面保存的是源代码
burp学院信息泄露漏洞实验

找到数据库连接信息,最后的字符为密码字段,直接提交这串字符就能通过本关
burp学院信息泄露漏洞实验

任意对象注入

本题要求:该实验室使用基于序列化的会话机制,因此容易受到任意对象注入的影响。要解决此问题,请创建并注入一个恶意的序列化对象,从Carlos的主目录中删除morale.txt文件。您将需要
获得源代码访问权限才能解决此实验。
在burp中获取该页面的流量,发现cookie信息中有url编码信息,然后经过base解码得到原来的字符.发现这是一个序列化的php对象
burp学院信息泄露漏洞实验

在site中发现本页面有请求一个php文件,把这个请求发送到repeter模块
burp学院信息泄露漏洞实验

在php文件后面加上波浪号~可以看到源代码.(php的备份文件的两种格式 *.php~ 和 *.php.bat )
burp学院信息泄露漏洞实验
burp学院信息泄露漏洞实验

这段php代码的大概意思就是接收一个文件的路径,如果文件存在就使用unlink函数删除这个文件,如果文件不存在就抛出一个异常.
由于暂时没有学习序列化,先放到这里

配置不安全

通过信息公开进行身份验证绕过
题目要求:获取header信息,然后绕过本关的验证,通过admin接口去删除carlos帐号
(这里不知道admin接口是不是就是指的后台页面/admin,使用后台扫描目录,可能由于外网的缘故,扫描很慢.这里我就直接尝试admin页面了.)
首先普通用户访问admin页面会被限制,要使用admin用户登录才行.
burp学院信息泄露漏洞实验

重新发送这个url,使用burp抓包,发送到repeter模块,会得到相同的结果
burp学院信息泄露漏洞实验

burp学院信息泄露漏洞实验

这里存在配置不当的问题,没有禁用trace方法,修改请求方法为TRACE,该方法使得服务器原样返回任何客户端请求的内容,提交后发现我们的请求包被加上了一串东西,X-Custom-IP-Authorization的header信息
burp学院信息泄露漏洞实验

因为我的笔记本用的wifi,在百度上查到我连接外网的ip地址就是X-Custom-IP-Authorization中的地址.可以看到这有验证来源ip地址

在burp中proxy->options->Match and Replace中,add一个新的header消息,
burp学院信息泄露漏洞实验

换成本地ip地址
burp学院信息泄露漏洞实验

然后打开一个网页,发现每个request都自动添加了这条信息
burp学院信息泄露漏洞实验

把burp 拦截设置为off,这样就不用一个一个提交request了,刷新首页会发现首页多出了一个admin panel
burp学院信息泄露漏洞实验

使用这个功能删除carlos用户即可
burp学院信息泄露漏洞实验

历史控制版本泄露信息

当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞
(本关我做了很久,因为又去学习了git的知识,中间实验的链接都失效了很多次)
进入网站首页,浏览/.git页面查看是否存在这个漏洞
burp学院信息泄露漏洞实验

使用GitHack工具尝试一下,下载了两个文件
burp学院信息泄露漏洞实验

但是两个文件都没什么用
burp学院信息泄露漏洞实验

尝试把这个仓库下载到本地,这里会下载很多文件
wget -r https://ac501f831e6ff3f981ba038c0043006b.web-security-academy.net/.git
burp学院信息泄露漏洞实验

下载下来后先看下仓库状态(要先切换到这个目录下面去),会看到有两个文件被修改了,但是还没有提交
这里会想到工作区的文件已经被修改,但是还没有提交到版本库中,
burp学院信息泄露漏洞实验

查看下历史版本,发现有提交过两次,看注释,第一次应该是提交一个admin框架,第二次为从配置中删除admin的密码.看这个意思我要回到前面那个版本才能在原来配置文件中找到密码
burp学院信息泄露漏洞实验

回退到前面的版本(然后会发现当前目录生产两个文件,我的理解是现在的目录被当作工作区,回退版本后,文件回到之间的样子,自然在工作区生成了这个文件),查看admin.conf会获得密码ADMIN_PASSWORD=3kz2x48gkjzdoollp7kt
burp学院信息泄露漏洞实验
然后使用administrator/3kz2x48gkjzdoollp7kt登录完成剩下的任务就可以了(我试了半天admin用户…)
burp学院信息泄露漏洞实验