远程代码执行漏洞

远程代码执行漏洞(Remote Code Execute,简称RCE)但也有另一个含义,即远程命令执行(remote command execute)无论是执行代码还是执行命令,都统称为RCE漏洞。它也可以被称为命令注入漏洞,因其与命令相关。远程代码执行漏洞指的是在程序中,为实现某些业务目的而预留的执行命令或代码的接口。这些接口被提供给外部用户使用,但最终被黑客所利用。

漏洞出现的地方

在常见的一些路由器、防火墙和入侵检测系统的外部管理界面上,系统会提供一个pin的操作界面。其原本用法是用户输入一个IP,然后查看pin的返回结果。此外,现在还有一些系统或公司使用了自动化的运维系统,为了方便直接在网页里执行一些服务器命令,它们也提供了相关的接口。

漏洞危害

1 获取服务器权限

2 获取敏感数据文件

3 写入恶意文件getshell

4 植入木马病毒勒索软件等

php相关函数

windows命令拼接符

Linux命令拼接符

如下代码可以过滤非法输入

// Get input
$target = $_REQUEST['ip'];
$target = stripslashes($target); //反引用一个引用字符串

//explode()函数以.为边界点分割字符串返回一个数组,每个元素都是string的一个子串
$octet = explode( ".", $target );

//检查数组元素是否都是数字
if((is_numeric($octet[0])) && (is_numeric($octet[1])) && (is_numeric($octet[2])) && (is_numeric($octet[1])) );

//拼接
$target = $octet[0] . '.' $octet[1] . '.' $octet[2] . '.' $octet[3];

漏洞防御

1 开源框架,升级到最新版本

2 尽量不要使用命令执行的函数

若发现系统中可能使用了此类函数,应从两个角度去发现:一是从业务功能角度,基于业务了解,对可能执行命令或函数的功能进行审计;二是基于已掌握的函数,进行白盒代码审计或使用相关工具进行检查。

3 如果必须要使用,需要做白名单处理

4 用正则表达式对用户输入内容进行处理

5 使用WAF

WAF自带的规则库较为全面,且可更新维护。若出现新的攻击方式,只需更新规则库,无需修改代码,较为方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值