RCE

发布时间 2023-06-08 16:30:50作者: 数星观月

1、RCE概念

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

2、eval()代码执行

eval()函数是php里面的一个函数,会将可控变量传入的字符串当成php代码来执行,如果后台代码中有这个函数就有可能出现代码执行漏洞。

3、system()命令执行

system()函数是php里面的一个函数,会将可控变量传入的字符串当成系统命令来执行,如果后台代码中有这个函数就有可能出现命令执行漏洞。

4、检测
白盒:代码审计

黑盒:漏扫工具、公开漏洞、手工看参数值和功能点

===========================================================

墨者学院的命令注入执行分析

打开靶场,里面输入127.0.0.1ping执行ping命令,可见可能有命令执行漏洞。

命令执行首先看是什么操作系统,因为windows和linux两者的系统命令不一样。在网络中重新加载一下,可以看出是linux的ubuntu。

这个有个前端验证,会检验输入的是否是ip地址。我们可以抓包加管道符和其他命令来执行其他系统命令,这里使用ls看一下目录。这里前面的ip地址还是要输入的,后台代码应该使用ping拼接输入的ip地址。

看到上面有个关于key的php文件,我们打开查看一下。

===========================================================