PortSwigger-01-信息泄露
一:漏洞原理
- 信息泄露是指网站无意向中向其他用户泄露敏感信息:网站可能会将各种信息泄露给潜在的攻击者,常见的网站敏感信息
1.有关其他用户的数据
2.敏感的商业或者业务数据
3.有关网站及其基础设施的技术细节
- 信息泄露的常见场景
1.通过文件或者目录列表显示隐藏目录的名称、结构和内容
2.备份文件和源码的泄露
3.在错误信息中显示体积数据库或列名称
4.在源码中泄露API密钥、IP地址、数据库凭证等等
二:PortSwigger靶场
1、错误信息中的信息泄露
‘(1)原理:int溢出报错导致敏感信息泄露,int的取值范围:
-2147483648——2147483647
(2)构造字符串或者超出范围就会导致int溢出,产生报错,然后在报错信息中显示出了敏感信息
Apache Struts 2 2.3.31
2、调试页面上的信息泄露
(1)题目要求:该实验包含一个调试页面,该页面泄露了有关应用程序的敏感信息。要解决实验室问题,请获取并提交SECRET_KEY环境变量
(2)本题目就是在网站源码中隐藏了一些注释,其中有关键的api接口(使用bp中的爬虫协议对网站源代码进行检索)
/cgi-bin/phpinfo.php
访问泄露的接口拿到题目所需要的KEY
cfq2w90ti8n19664gmuchk0ex5zn3umm
3、通过备份文件泄露源代码
(1)题目要求:
该实验室通过隐藏目录中的备份文件泄露其源代码。为了解决这个实验室问题,需要识别并提交数据库密码,该密码是硬编码在泄露的源代码中的。
(2)首先就是对目标网站的目录扫描,扫描出了/robots.txt,这个文件是一个爬虫协议文件,各大搜索引擎会定期爬取网站的目录,而这个文件就是允许搜索引擎爬取那些目录,根据回显访问 /backup,bp抓包重发暴露出敏感接口
/backup/ProductTemplate.java.bak
访问发现数据库文件泄露:(看不懂可以丢给al帮助你分析)
m9yy7ksctrxosk2o59ezfvzvnv36wgb2
4、通过信息泄露绕过身份验证
(1)题目要求:
该实验室的管理界面存在身份验证绕过漏洞,但在不了解前端使用的自定义 HTTP 标头的情况下利用该漏洞是不切实际的。
要解决该实验室问题,请获取标头名称,然后使用它来绕过实验室的身份验证。进入管理界面并删除用户carlos。
您可以使用以下凭据登录您自己的帐户:wiener:peter
(2)访问/admin目录提示管理员界面仅对本地用户可用,尝试使用 TRACE方法,发现就需要自定义的请求标头
(3)直接使用bp的Proxy设置
放包,根据题目要求删除用户(完成的身份认证的限制)
5、版本控制历史中的信息泄露
(1)题目要求:该实验室通过其版本控制历史记录披露敏感信息。要解决该实验,请获取该用户的密码administrator,然后登录并删除该用户carlos。
(2)就是经典的git文件泄露,直接使用githack工具dump源码然后进行分析,或者使用wget命令也是一样的
wget -r https://0af900b5041c217281fc711500900023.web-security-academy.net/.git
dump源码
,成功拿到密码,然后登录后台删除指定用户
ADMIN_PASSWORD=s496p4tmlvahza1uwdtd