RCE漏洞简介

这篇具有很好参考价值的文章主要介绍了RCE漏洞简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天继续给大家介绍渗透测试相关知识,本文主要内容是RCE漏洞简介。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、RCE漏洞简介与危害

所谓RCE漏洞,即Remote Code/Command Execution,远程代码执行和远程命令执行漏洞。
在很多Web应用中,开发人员会使用一些函数,这些函数以一些字符串作为输入,功能是将输入的字符串当作代码或者命令来进行执行。当用户可以控制这些函数的输入时,就产生了RCE漏洞。
RCE漏洞是非常严重的安全漏洞,一旦出现,就意味着攻击者可以获取服务器的命令执行权限,从而对服务器安全造成极大的影响。

二、代码执行和命令执行区别

代码执行和命令执行的区别在于一个是执行的脚本代码,一个是执行的系统命令。以PHP代码为例,常见的命令执行函数有:
system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()等。
我们可以使用system()函数执行Windows系统下的dir命令,代码如下所示:

<?php
system("dir");
?>

该页面访问结果如下所示:
rce漏洞,渗透测试,RCE,命令执行,代码执行,渗透测试,Web安全
我们可以使用system()函数执行Windows系统下的ping命令,代码如下所示:

<?php
system("ping www.baidu.com");
?>

该页面访问结果如下所示:
rce漏洞,渗透测试,RCE,命令执行,代码执行,渗透测试,Web安全
尽管在上述页面中,浏览器出现了乱码,但是我们可以使用火狐浏览器修改编码格式,就可以得到正常的回显了,如下所示:
rce漏洞,渗透测试,RCE,命令执行,代码执行,渗透测试,Web安全
常见的代码执行函数有:
eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()等。
我们可以使用eval()函数执行PHP代码中的phpinfo()函数,代码如下所示:

<?php
eval("phpinfo();");
?>

该页面访问结果如下所示:
rce漏洞,渗透测试,RCE,命令执行,代码执行,渗透测试,Web安全
我们可以使用eval()函数执行PHP代码中的echo命令,代码如下所示:

<?php
eval("echo 123;");
?>

该页面访问结果如下所示:
rce漏洞,渗透测试,RCE,命令执行,代码执行,渗透测试,Web安全
从以上示例中可以看出,代码执行执行的PHP代码而命令执行执行的是Windows系统命令(如果服务器运行在Linux操作系统上,执行的就是Linux系统命令)。漏洞究竟是代码执行还是命令执行,是根据网站源代码中使用的函数决定的。我们不能用命令执行漏洞来执行PHP代码,因为system()等函数不能将输入的字符串转换为PHP代码来执行。但是,我们可以通过另一种手段,间接的将代码执行漏洞来替换成命令执行漏洞,代码如下所示:

<?php
eval("system('dir');");
?>

该页面访问结果如下所示:
rce漏洞,渗透测试,RCE,命令执行,代码执行,渗透测试,Web安全
可以看出,我们在eval()函数中增添了system()函数,就可以将本来的代码执行转化为命令执行,从而执行Windows脚本代码了。

三、RCE漏洞产生与防护

尽管上述内容说明了代码执行和命令执行的区别,但是其实由于用户不能够控制这些RCE函数中的输入,因此在上述示例中RCE漏洞并不存在。RCE漏洞产生的必要条件有两个,一是存在RCE函数,二是用户可以通过不同的手段,控制RCE函数中的全部或者部分字段。
实际上,除了在源码中由于开发人员不慎产生的RCE漏洞外,有些RCE漏洞还产生于中间件平台以及其他环境中,这样的RCE漏洞,并不是代码配置产生的漏洞,而是由于环境产生的漏洞。例如,Tomcat、Apache Struts2、Redis等平台产生的RCE漏洞等。
针对网站开发引起的RCE漏洞,要慎重使用相关RCE函数,如果业务环境中不需要使用RCE函数,则应该在PHP配置中禁用这些函数。如果业务环境必须要使用RCE函数,那么就应该对用户输入的部分进行过滤,避免用户输入恶意命令或代码。此外,使用WAF也可以在一定程度上防止RCE漏洞。
针对中间件和框架产生的RCE漏洞,则要求网站管理员多关注框架或环境版本迭代,以及安全事件。当中间件或框架产生漏洞后,要及时打官方补丁,对当前系统环境进行升级,如果漏洞已经产生,但是还没有发布相应的官方补丁,则可以使用WAF,针对exp针对性的进行防护。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200文章来源地址https://www.toymoban.com/news/detail-648574.html

到了这里,关于RCE漏洞简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 4.9、漏洞利用 smb-RCE远程命令执行

    目录 1、samba服务介绍 2、漏洞相关信息 3、探测samba 4、metasploit利用 5、samba历年漏洞 1.1 samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 1.2 SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域

    2024年02月07日
    浏览(57)
  • HVV爆火漏洞:最新 WPS RCE (远程命令执行) 复现

    最近HVV爆出的很火的WPS命令执行漏洞,其实并不是0DAY,早在2019年就出现了,只不过最近EXP才公开。接下来我们来复现一遍。 WPS Office 2023 个人版 11.1.0.15120 WPS Office 2019 企业版 11.8.2.12085 wps版本: WPS V11.1.0.12300 靶机: windows 10 攻击机: ubuntu 20.04     IP:192.168.2.103 WPS 内置了一

    2024年02月11日
    浏览(41)
  • RCE代码及命令执行(详解)

      RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。   1)调用第三方组件存在的代码执行漏洞。   2)用户输入的内容作为系统命令的参数拼接到命令中。   3)对用户的输入过滤不严格。   4)可控变量或漏洞函数。   像

    2024年02月11日
    浏览(48)
  • Thinkphp5.0.23 rce(远程代码执行)的漏洞复现

    框架介绍: ThinkPHP是一款运用极广的PHP开发框架。 漏洞引入: 其5.0.23以前的版本中,获取method的方法中没有正确处理方法名,导致攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。 1、访问靶机地址+端口号 进入首页 2、Burp抓包修改传参方式为Po

    2024年02月06日
    浏览(35)
  • CVE-2021-22204 GitLab RCE之exiftool代码执行漏洞深入分析(二)

    文章写于2022-01-19,首发在天融信阿尔法实验室 1 前言 2 前置知识 2.1 JPEG文件格式 2.2 Perl模式匹配 3 exiftool源码调试到漏洞分析 3.1 环境搭建 3.2 漏洞简介 3.3 exiftool是如何解析嵌入的0xc51b标签 3.4 exiftool是如何调用parseAnt函数 3.5 parseAnt函数分析 3.6 parseAnt漏洞分析 4 漏洞利用 4.1

    2024年02月14日
    浏览(25)
  • RCE漏洞简介

    今天继续给大家介绍渗透测试相关知识,本文主要内容是RCE漏洞简介。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备进行渗透测试! 所谓RCE漏洞,即Remote Code/Command Execution,远

    2024年02月13日
    浏览(45)
  • 【CTF】命令执行RCE

    *方法一* : 查看靶场内容,其中过滤了flag字样,那么也就是说可以执行phpinfo()、system()等的命令。一般目标的敏感文件位于tmp目录下,使用命令c=system(“ls /tmp”)查看tmp目录下的文件,由结果可看出其中有flag.php文件。然后使用命令system(“cat /tmp/flag.php”)即理论上可以查看

    2024年02月03日
    浏览(36)
  • YApi分析从NoSQL注入到RCE远程命令执行.md

    这个是前几个月的漏洞,之前爆出来发现没人分析就看了一下,也写了一片 Nosql注入的文章,最近生病在家,把这个写一半的完善一下发出来吧。 YApi是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台。 YApi 是 高效 、 易用 、 功能强大 的 api 管理平台,旨在为

    2023年04月24日
    浏览(39)
  • Ctfshow web入门 命令执行RCE篇 web29-web77 与 web118-web124 详细题解 全

    pregmatch 是正则匹配函数,匹配是否包含flag, if(!preg_match(\\\"/flag/i\\\", $c)) , /i 忽略大小写 可以利用system来间接执行系统命令 flag采用 f* 绕过,或者 mv fl?g.php 1.txt 修改文件名,或者 cat 反引号ls反引号 linux通配符:https://www.cnblogs.com/ysuwangqiang/p/11364173.html 多了对system和php的过滤 用

    2024年02月07日
    浏览(42)
  • CTFHub笔记之技能树RCE:eval执行、文件包含、远程包含、php://input、读取源代码

    小白一个,记录解题过程,如有错误请指正! 知识点:         eval():把字符串 code 作为PHP代码执行。函数eval()语言结构是非常危险的,因为它允许执行任意 PHP 代码。它这样用是很危险的。如果您仔细的确认过,除了使用此结构以外别无方法, 请多加注意,不要允许传入

    2024年02月01日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包