远程代码执行漏洞
作者:互联网
远程代码执行(Remote Code Execute)(Remote Command Execute)
RCE:可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,进而达到控制后台系统。
远程系统命令执行
一般出现这种漏洞,是因为应用系统从设计上需要给用户提供制定的远程命令操作的借口,比如常见见的路由器,防火墙,入侵检测等设备的web管理界面。
一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。而,如果设计者在完成该功能时,没有做严格的安全控制,则可能回导致攻击者通过该接口提交“恶意”的命令,从而让后台进行执行达到控制整个服务器。
远程代码执行
因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。不管是使用了代码执行的函数,还是使用了不安全的反序列化等。。。
因此,如果需要给前端用户提供操作类的API接口,一定需要对接口输入的内容进行严格的判断,比如实施严格的白名单策略会是一个比较好的办法。
漏洞危害
获取服务器权限、获取敏感数据文件、写入恶意文件getshell、植入木马病毒勒索软件...
实际漏洞:
CVE-2021-3177 Python RCE漏洞 CVE-2021-21972 VMWare RCE漏洞 CVE-2021-25646 Apache Druid RCE漏洞
CNVD-2020-46552 深信服EDR CNVD-2021-30101 网康下一代防火墙
http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword-RCE
命令command注入:
system();执行外部程序,并显示输出
exec()/shell_exec();通过shell环境执行命令并将完整的输出以字符串的方式返回
pcntl_exec();在当前进程空间执行指定程序
passrhru();执行外部程序并显示原始输出
popen();打开进程文件指针
proc_open(); 执行一个命令,并打开用来输入/输出的文件指针
eval();把字符串code作为PHP代码执行
assert();检查一个断言是否为false
preg_replace();执行一个正则表达式的搜索和替换
create_function();创建一个匿名函数并返回函数名称
call_user_func()/call_user_func_array();把第一个参数作为回调函数调用
usort()/uasort();是用户自定义比较函数对数组中的值进行排序并保持索引关联
标签:漏洞,2021,RCE,执行,远程,代码执行 来源: https://www.cnblogs.com/lxshen/p/16260446.html