RCE漏洞

                       RCE(远程代码/命令执行)漏洞


前言

       个人观点,若有误请指教


简介

  • RCE(Remote Code/Command Execute)为远程代码/命令执行的漏洞
  • 漏洞产生的原因:在Web应用中开发者为了灵活性,简洁性等会让应用去调用代码或者系统命令执行函数去处理。同时没有考虑用户是否可以控制这些函数的参数问题(若不能控制这些参数,自然也没有这个漏洞;若能控制这些参数,也可能出现考虑了但没有完全防住或者压根没考虑 😕),以至于这个漏洞的产生。

漏洞挖掘

  • 白盒测试,查看命令执行函数是否做过滤。命令执行函数如下:

PHP代码执行函数:eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()
PHP系统执行函数:system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()
注1:若代码执行函数的输入参数被``反引号包含时,则此时相当于系统执行函数,如输入值为echo (反引号)dir(反引号);
注2:由反引号括起来的字符串被当做shell命令执行,其标准输出结果取代整个反引号部分。
注3:反引号不区分操作系统,无论Window还是Linux都有这个现象。

  • 黑盒检测
    ①漏洞扫描工具。
    ②公开漏洞。
    ③手工看参数及其功能,根据其特点来判断有没有漏洞。

代码命令执行函数利用

  • 这里以最普通的eval函数为例,下面给出php漏洞代码
<?php
      $code = $_GET['x'];
      echo $code;
      
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值