操作系统命令注入-5个实验(全)
前言:
介绍:
博主:网络安全领域狂热爱好者。
殊荣:华为云博主、CSDN网络安全领域优质创作者(CSDN:黑色地带(崛起)),2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。
擅长:对于技术、工具、漏洞原理、黑产打击的研究。
导读:
面向读者:对于网络安全方面的学者。
本文知识点:
(1)掌握基本命令(√)
(2)掌握BP提供的服务器(√)
(3)掌握拼拼接命令(√)
目录
助你一臂之力
📋问题1:需要准备些什么?
🎯掌握基础的命令,尝试各种拼接(前期的信息收集)
🎯带外工具(dnslog),自己的服务器
一、操作系统命令注入
1、意义
1、简述:操作系统命令注入(也称为外壳注入)是一个Web安全漏洞,允许攻击者在运行应用程序的服务器上执行任意操作系统(OS)命令
2、危害:通常会完全危害应用程序及其所有数据,攻击者可以利用操作系统命令注入漏洞来危害托管基础架构的其他部分,利用信任关系将攻击转向组织内的其他系统。
2、有用的命令
3、注入操作系统命令的方式
1、简述:
各种外壳元字符可用于执行操作系统命令注入攻击,许多字符用作命令分隔符,允许将命令链接在一起
————
2、分析观察
不同的shell元字符具有细微不同的行为,这些行为可能会影响它们在某些情况下是否有效,以及它们是否允许带内检索命令输出,还是只对盲目利用有用
有时,控制的输入出现在原始命令的引号内。在这种情况下,在使用合适的shell元字符插入新命令之前,需要终止加引号的上下文(使用"或')
4、防止操作系统命令注入攻击
防止操作系统命令注入漏洞的最有效方法是永远不要从应用层代码调用操作系统命令(在每种情况下,都有使用更安全的平台API实现所需功能的替代方法)
二、执行任意命令
1、示例:
涉及实验:
实验1:操作系统命令注入(简单)
实验1:操作系统命令注入(简单)
part1:
使用Burp Suite拦截和修改检查库存水平的请求
part2:
发送到repeater
修改storeID参数(带入一个命令)
part3:
修改数据包,并关闭拦截
三、盲操作系统命令注入漏洞
1、简述
许多操作系统命令注入实例都是隐蔽漏洞。这意味着应用程序不会在其HTTP响应中返回命令的输出。盲漏洞仍然可以被利用,但需要不同的技术
2、示例
一个网站允许用户提交有关该网站的反馈。用户输入他们的电子邮件地址和反馈信息,服务器端应用程序向站点管理员生成包含反馈的电子邮件
————
它将调用邮件程序,其中包含提交的详细信息,如:
————
mail命令的输出(如果有的话)不会在应用程序的响应中返回,因此使用echo有效负载不会有效。在这种情况下,可以使用各种其他技术来检测和利用漏洞
3、使用时间延迟检测盲OS命令注入
1、可以使用将触发时间延迟的注入命令,从而根据应用程序响应所需的时间来确认命令是否已执行
————
2、ping命令是一种有效的方法,因为它允许您指定要发送的ICMP数据包的数量,从而指定命令运行所需的时间:
此命令将使应用程序ping其环回网络适配器10秒。
————
涉及实验:
实验2:具有时延的操作系统命令盲注入
实验2:具有时延的操作系统命令盲注入
part1:
填写反馈信息
使用Burp Suite拦截和修改提交反馈的请求
part2:
发送到repeater
修改email参数
观察响应,时间基本上为10s,存在系统命令注入
part3:
修改数据包,并关闭拦截
等10s后刷新一下页面,就完成了
4、通过重定向输出利用盲目操作系统命令注入
1、可以将注入命令的输出重定向到Web根目录中的文件中,然后可以使用浏览器检索该文件。例如,如果应用程序从文件系统位置/var/www/static提供静态资源,则可以提交以下输入:
2、解释:>字符发送来自whoami命令添加到指定文件(这里是输出到whoami.txt,没有就自动创建)。然后可以使用浏览器获取https://vulnerable-website.com/whoami.txt以检索文件,并查看插入命令的输出。
涉及实验:
实验3:带有输出重定向的盲操作系统命令注入
实验3:带有输出重定向的盲操作系统命令注入
part1:
填写反馈信息
使用Burp Suite拦截和修改提交反馈的请求
part2:
发送到repeater
修改email参数
在数据包中修改,并关闭拦截
part3:
通过filename参数文件包含,读取输出到output.txt文件的信息
第三个数据包(老演员了)
发送到repeater
在数据包中修改,并关闭拦截
5、利用带外(OAST)技术
1、简述:
可以使用一个注入命令,该命令将触发与您使用OAST技术控制的系统的带外网络交互。例如:
此有效负载使用nslookup命令对指定的域进行DNS查找。攻击者可以监视指定查找的发生,从而检测到命令已成功插入。
2、带外通道还提供了一种从注入命令中提取输出的简单方法:
这将导致对攻击者的域进行DNS查找,该域包含whoami命令:
2、涉及实验:
实验4:具有带外交互的盲OS命令注入实验5:具有带外数据泄漏的盲操作系统命令注入
实验4:具有带外交互的盲OS命令注入
part1:
填写反馈信息
使用Burp Suite拦截和修改提交反馈的请求
part2:
打开BP的Collaborator客户端
复制服务器URL(这个是我的BP的提供的服务器)
4injhpna543tc1766dwv1466ux0noc.burpcollaborator.net
part3:
发送到repeater
修改email参数,将其更改为:
part4:
修改数据包,并关闭拦截
实验5:具有带外数据泄漏的盲操作系统命令注入
part1:
填写反馈信息
使用Burp Suite拦截和修改提交反馈的请求
part2:
打开BP的Collaborator客户端
复制服务器URL(这个是我的BP的提供的服务器)
fl45n2ug5x4nmill7s67s7u7jypodd.burpcollaborator.net
part3:
发送到repeater
修改email参数,将其更改为:
part4:
修改数据包,并关闭拦截
part5:
完成实验
我的用户peter-WKvUPX
- 点赞
- 收藏
- 关注作者
评论(0)