RCE代码命令执行

RCE

分类

  • 代码执行(执行脚本代码)
  • 命令执行(执行系统命令)

插一句不相关的
所有漏洞形成的条件
可控变量,漏洞函数
poc是用来检测有没有漏洞的
exp是用来利用漏洞的

代码执行

举例


$code = $_GET['x'];
eval($code);//该函数就是将括号内容当作php语句执行
?>

结果
RCE代码命令执行_第1张图片
检测

  • 白盒
  1. 代码审计
  • 黑盒
  1. 漏扫工具
  2. 公开漏洞
  3. 手工看参数

命令执行

举例


        $code=$_GET['x'];
        echo system($code);//函数作用,把变量当作命令行命令执行
        #linux在bash中,$( )与` `(反引号)都是用来作命令替换的。
?>

结果
RCE代码命令执行_第2张图片

实例

PHP代码分析溯源(第4题)

打开之后显示如下,可以看出来是php代码,将eval的内容在php在线平台运行一下。
RCE代码命令执行_第3张图片
运行结果如下,从中得知eval(命令行执行)要执行的为输入的变量a,咱给他值(从运行结果看出来是linux系统 echo是linux的写入函数)
在这里插入图片描述
我们看到了目录,到这里大家都懂了把,查看key_226611717819823.php文件
RCE代码命令执行_第4张图片
也不知道为什么cat查看不到,只能用tac查看,明明差不多。
RCE代码命令执行_第5张图片

命令注入执行分析
打开之后我们直接输入命令执行和用管道符|直接执行都不行
RCE代码命令执行_第6张图片
看来有验证,抓包改数据包,继续用管道符
在这里插入图片描述
结果不错有key了
在这里插入图片描述
继续改
在这里插入图片描述
结束
RCE代码命令执行_第7张图片

Webmin未经身份验证的远程代码执行
打开发现是登录框,既然不知道密码,那就抓包
RCE代码命令执行_第8张图片
发现明文传输,我们百度Webmin未授权访问漏洞,直接看人家的payload
RCE代码命令执行_第9张图片
我们根据它的改,id那个位置应该是命令位置,而且是linux系统(只有linux采用id,Windows不用)
RCE代码命令执行_第10张图片
从中看不到key,可能在根目录,不过我们的目的已经达到。

防御

  • 禁用不安全的函数
  • 防火墙防御(安全狗等)

你可能感兴趣的:(渗透测试,web安全)