错误消息中的信息泄露
lab
实验室:错误消息中的信息泄露 |网络安全学院 (portswigger.net)
solve
- 在打嗝运行的情况下,打开其中一个产品页面。
- 在 Burp 中,转到“代理”>“HTTP 历史记录”,请注意对产品页面的请求包含一个参数。将请求发送到 Burp Repeater。请注意,根据您加载的产品页面,您的页面可能会有所不同。
GET
`productIDGET /product?productId=1
productId` 在 Burp Repeater 中,将参数的值更改为非整数数据类型,例如字符串。发送请求:
productId
GET /product?productId="example"
- 意外的数据类型会导致异常,并在响应中显示完整堆栈跟踪。这表明实验室正在使用 Apache Struts 2 2.3.31。
- 返回实验室,点击“提交解决方案”,输入2 2.3.31即可解决实验室问题。
调试页上的信息泄露
lab
实验室:调试页面上的信息泄露 |网络安全学院 (portswigger.net)
solve
- 打嗝运行后,浏览到主页。
- 转到“目标”>“站点地图”选项卡。右键单击实验室的顶级条目,然后选择“参与工具”>“查找注释”。请注意,主页包含一个 HTML 注释,其中包含一个名为“Debug”的链接。这指向 .
/cgi-bin/phpinfo.php
- 在站点地图中,右键单击 的条目,然后选择“发送到中继器”。
/cgi-bin/phpinfo.php
- 在 Burp Repeater 中,发送检索文件的请求。请注意,它揭示了各种调试信息,包括环境变量。
SECRET_KEY
- 返回实验室,点击“提交解决方案”,进入解决实验室的问题。
SECRET_KEY
通过备份文件泄露源代码
lab
实验室:通过备份文件泄露源代码 |网络安全学院 (portswigger.net)
solve
- 浏览并注意到它揭示了目录的存在。浏览到以查找文件 。或者,右键单击站点地图中的实验室,然后转到“参与工具”>“发现内容”。然后,启动内容发现会话以发现目录及其内容。
/robots.txt
`/backup/backup
ProductTemplate.java.bak`/backup
- 浏览到以访问源代码。
/backup/ProductTemplate.java.bak
- 请注意,在源代码中,连接生成器包含 Postgres 数据库的硬编码密码。
- 返回实验室,点击“提交解决方案”,输入数据库密码即可解决实验室问题。
通过信息泄露绕过身份验证
lab
实验室:通过信息泄露绕过身份验证 |网络安全学院 (portswigger.net)
solve
- 在 Burp Repeater 中,浏览到 。响应显示,只有在以管理员身份登录或从本地 IP 请求时,才能访问管理面板。
GET /admin
再次发送请求,但这次使用以下方法:
TRACE
(用于检查原始报文头)TRACE /admin
- 研究反应。请注意,包含您的 IP 地址的标头已自动附加到您的请求中。这用于确定请求是否来自 IP 地址。
X-Custom-IP-Authorization
`localhost` 转到“代理”>“选项”,向下滚动到“匹配和替换”部分,然后单击“添加”。将匹配条件留空,但在“替换”字段中输入:
X-Custom-IP-Authorization: 127.0.0.1
Burp Proxy 现在会将此标头添加到您发送的每个请求中。
- 浏览到主页。请注意,您现在可以访问管理面板,您可以在其中删除 .
carlos
版本控制历史记录中的信息泄露
lab
实验室:版本控制历史记录中的信息泄露 |网络安全学院 (portswigger.net)
solve
- 打开实验室并浏览到以显示实验室的 Git 版本控制数据。
/.git
下载整个目录的副本。对于 Linux 用户,最简单的方法是使用以下命令:
wget -r https://YOUR-LAB-ID.web-security-academy.net/.git/
Windows 用户需要找到替代方法,或安装类似 UNIX 的环境,例如 Cygwin,才能使用此命令。
- 使用本地 Git 安装浏览下载的目录。请注意,有一个带有消息的提交。
"Remove admin password from config"
- 仔细查看已更改文件的差异。请注意,提交将硬编码的管理员密码替换为环境变量。但是,硬编码的密码在差异中仍然清晰可见。
admin.conf
`ADMIN_PASSWORD` - 返回实验室并使用泄露的密码登录到管理员帐户。
- 要解决实验室问题,请打开管理界面并删除 .
carlos
评论0
暂时没有评论