从零学网络安全 - REC 漏洞简单案例

一、RCE 简介与危害

1. 什么是 RCE 漏洞

所谓 RCE 漏洞,即 Remote Code/Command Execution,远程代码执行和远程命令执行漏洞。

在很多 Web 应用中,开发人员会使用一些函数,这些函数以一些字符串为输入,功能是将输入的字符串当作代码或者命令来进行执行。当用户可以控制这些函数的输入时,就产生了 RCE 漏洞。

2. RCE 漏洞的危害

RCE 漏洞是非常严重的安全漏洞,一旦出现,就意味着攻击者可以获取服务器的命令执行权限,从而对服务器安全造成极大的影响。

下面将通过墨者学院展示两个简单案例。https://www.mozhe.cn/

二、案例一:命令注入执行分析

https://www.mozhe.cn/bug/detail/12

1. 背景介绍

某单位IT运维人员为了方便,在服务器上留了一个页面,用来ping内部服务器连通情况。安全工程师"墨者"在做月度检查时发现了这一文件,检查发现这一文件存在漏洞,要求运维人员立刻下线。

2. 实训目标

  1. 掌握Linux系统的基本命令
  2. 了解Linux中管道符的作用

3. 操作

已知信息:IP地址 : 182.44.114.36 端口 : 80 协议 : http http://182.44.114.36:46149 (tcp) -> 80

在火狐渗透版中按 F12,然后访问目标地址,获得头部信息,可知这是 Linux 系统,所以后续可用 Linux 命令。若是 Windows 系统,则用 Windows 命令。

image

如果在输入框中直接输入 127.0.0.1 | ls,会发现前端做了拦截

image

所以我们在输入框中输入 127.0.0.1,打开 Burp 代理进行拦截,点击 Ping 按钮后,在 BP 中进入重复模块

image

在第十三行中,我们修改一下,使用管道符,如图

image

点击发送,可以得到代码,在搜索栏里输入 key,可以发现这个文件,key_25637236778484.php

image

再次修改第十三行,使用 cat 重定向来显示 key_25637236778484.php 的内容,即 cat<key_25637236778484.php

image

点击发送,可以发现目标 key

image

三、案例二:PHP 代码分析溯源

https://www.mozhe.cn/bug/detail/13

1. 背景介绍

小明收到一个网址,打开后是一串加密的代码。小明需要你们的帮助,感受到时代在召唤了吗?

2. 实训目标

  1. 了解命令执行的基础知识
  2. 学习php代码的相关知识
  3. 了解加密解密的相关知识

3. 操作

已知信息:IP地址 : 182.44.114.36 端口 : 80 协议 : http http://182.44.114.36:46158 (tcp) -> 80

访问靶场,显示

image

复制代码,在本地新建一个 test.php 并粘贴代码。稍微修改下,把 eval 改成 print,并且括号里加双引号

image

启动 phpstudy,本地访问 http://127.0.0.1/test.php

image

REQUEST 类似于一个 GET/POST 请求,而``这对反引号中的内容会被 PHP 当作代码来执行,和单引号区别如下

如果是单引号,<?php echo 'ipconfig';?>,则会直接打印

image

如果是反引号,<?php echo `ipconfig`;?>,则会被当代码执行,显示

image

所以前面的变量 a 可以组装命令来执行,得到关键信息,http://182.44.114.36:46158/f.php?a=ls

image

再次组装、访问,http://182.44.114.36:46158/f.php?a=cat<key_343106225.php

右键网页,显示源代码,可以得到最终 key

image

posted @ 2026-03-31 23:18  CloverChu  阅读(5)  评论(0)    收藏  举报