远程代码执行漏洞的利用与防御

什么是RCE漏洞

全称:remote command/code execute

分为远程命令执行和远程代码执行

1.命令执行漏洞: 直接调用操作系统命令

2.代码执行漏洞: 靠执行脚本代码调用操作系统命令

一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口,比如我们常见的路由器、防火墙、入侵检测等设备的web 管理界面上一般会给用户提供一个 ping 操作的 web 界面,用户从web 界面输入目标 IP ,提交后,后台会对该 IP 地址进行一次 ping 测试,并返回测试结果。 而如果设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“ 意想不到 的命令,从而让后台进行执行,从而控制整个后台服务器。

原理

在利用调用系统命令的执行函数,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行漏洞。

php为例

eval();assert();preg_replace();create_function();
array_map();call_user_func();call_user_func_array();
array_filter();uasort();proc_popen();passthru();
system();exec();shell_exec();pcntl_exec();popen();

JAVA中

java.lang.Runtime#exec()、java.lang.ProcessBuilder#start()、java.lang.ProcessImpl#start()以及通过JNI的方式调用动态链接库

实战

对Pikachu进行实战

1. pikachu 网站的命令执行的地方抓包看效果

看代码

 直接开搞

 可以看到Pikachu没有做什么防御,就直接突破啦。

dvwa进行实战

低安全级别的时候,
pikachu 差不多的,这里就不演示了,我们直接看安全中级的效果
加上了过滤条件,将两个 & 和分号给替换了,但是我们想绕过的话,一个 & 符号就可以了,这就属于程序员没有考虑好。
再来看高安全级别的,添加的符号就多了,有细心的人可能发现,这里有一个 & ,那么我们使用两个&&是不是可以绕过啊,答案是不可以的,这个取决于它使用的替换方法:

 

看两个&&,也是不能绕过的。

 那么高安全级别的如何绕过呢? | ,注意看,高级别的防范中,有一个||和一个| ,而一个管道符号的仔细看的话,其实后面还有一个空格,那么我们就可以使用一个|并且不带空格来进行绕过。看示例:果然成功了。所以做代码审计,就是要细致!

 

再看它没有漏洞的级别,没有使用符号黑名单的形式,而是对你给我的数据进行 . 分割,然后看你每个部分是不是数字,这就比较狠了。

 RCE的防御

1 、开源框架,升级到最新版本
2 、尽量不要使用命令执行的函数
3 、如果必须使用,需要做白名单处理
4 、用正则表达式对用户输入的内容进行处理
5 、使用 WAF
对于OpenSSH远程代码执行漏洞的研究,重点在于理解其原理以及如何防御此类威胁,而不是具体利用工具的获取或使用。了解漏洞的工作机制有助于更好地构建防护措施。 ### OpenSSH远程代码执行漏洞分析 #### 漏洞概述 OpenSSH是一套基于安全外壳(SSH)协议的安全网络实用程序,提供强大的加密功能以确保隐私和安全的数据通信[^1]。然而,在特定版本范围内(8.5p1 <= version < 9.8p1),存在一个严重的远程代码执行漏洞CVE-2024-6387。该漏洞允许未经身份验证的攻击者通过竞争条件在Linux系统上以root权限执行任意代码[^3]。 #### 成因剖析 此漏洞的具体原因是在处理超时信号的过程中出现了竞态条件问题。当sshd进程接收到SIGALRM或其他定时器产生的信号时,如果此时恰好有其他线程正在修改全局状态,则可能导致不可预测的行为甚至使攻击者能够注入恶意指令[^4]。 #### 防护建议 鉴于上述风险,强烈推荐所有受影响系统的管理员尽快采取行动: - **立即升级**:官方已经发布了修复补丁,应立即将OpenSSH更新到最新稳定版(>9.8p1)。 - **监控日志**:密切注意服务器的日志记录,特别是任何异常活动迹象。 - **强化配置**:调整SSHD配置参数来减少潜在暴露面;例如设置更严格的访问控制策略、启用MFA多因素认证等附加安全性选项。 ```bash sudo apt-get update && sudo apt-get install openssh-server -y ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值