RCE漏洞

    RCE漏洞概述

  远程命令执行/代码注入漏洞,英文全称为Reote Code/CommandExecute,简称RCE漏洞。PHPJava等Web开发语言包含命令执行和代码执行函数,攻击者可以直接向后台服务器远程执行操作系统命今或者运行注入代码,进而获取系统信息、控制后台系统或写入恶意文件Webshell,从而达到攻击网络的目的。

RCE 漏洞产生条件主要包含以下三个方面:

(1)用户可以控制前端传给后端的参数,
(2)传入的参数被漏洞函数执行。
(3)用户输入参数未被验证或有效过滤。

漏洞分类

   RCE漏洞分为命令执行漏洞和代码注入漏洞,在利用RCE漏洞的时候经常使用到操作系统的管道符。

命令执行漏洞

    在PHP开发语言中,包含命令执行函数:eval、assert、preg_replace、create_function、array_mapcall user fimc、call user func array、anray filter、uasort 等,这类函数可以执行系统命令,使用不当会造成命令执行漏洞。
下面我们基于pikachu平台,演示一个完整的命令执行漏洞测试过程

1.进去到pikachu训练平台打开RCEping

2.查看源码

后端对接收到的参数未做任何过滤和处理,并使用shellexec函数执行命令,从而造成远程命令执行漏洞。

if(isset($_POST['submit']) && $_POST['ipaddress']!=null){
    $ip=$_POST['ipaddress'];
//     $check=explode('.', $ip);可以先拆分,然后校验数字以范围,第一位和第四位1-255,中间两位0-255
    if(stristr(php_uname('s'), 'windows')){
//         var_dump(php_uname('s'));
        $result.=shell_exec('ping '.$ip);//直接将变量拼接进来,没做处理
    }else {
        $result.=shell_exec('ping -c 4 '.$ip);

3.在编辑框输入127.0.0.1点击ping查看

4.漏洞利用

输入 ping & ipconfig

代码注入漏洞

    在PHP开发语言中,包含代码执行函数:system、exec、shell exee、pentl exec、popen、proc_popenpasthmn等,这类函数可以执行PHP代码,使用不当会造成代码注入漏洞上下面基于pikachu平台,演示一个完整的代码注入漏洞测试过程

1.源码分析

使用eval函数执行命令,对后端的参数未进行过滤。

$html='';
if(isset($_POST['submit']) && $_POST['txt'] != null){
    if(@!eval($_POST['txt'])){
        $html.="<p>你喜欢的字符还挺奇怪的!</p>";

    }

2.在输入框输入phpinfo();

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值