RCE远程命令执行之 pikachu 靶场练习

RCE远程命令执行

RCE(remote command/code execute ,远程命令执行)
可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。

前面对rce 的一些基础知识进行学习:RCE学习

下面通过 pikachu 靶场对 rce 漏洞的两种形式进行测试。

exec“ping”

远程系统命令执行
后台对用户输入的IP地址进行一次 ping 测试,并返回测试结果。

尝试 ping 一下本地127.0.0.1
可以看到 ping 成功了。
不过这里存在乱码,靶场是放在 Windows 下的,用网上文章上的方法暂时无法解决。这里测试能 ping 成功就行。
在这里插入图片描述
用一下管道符执行两条命令:
可以看到除了上面执行了 127.0.0.1 ,还执行了 whoami 。
在这里插入图片描述
打开靶场根目录,查看源代码。
可以看到后台对我们输入的内容未做任何处理或校验。
在这里插入图片描述
——
——

exec“evel”

远程代码执行
后台把用户的输入作为代码的一部分进行执行,造成了远程代码执行漏洞。

尝试提交代码:phpinfo();
在这里插入图片描述
点击提交可以看到代码成功执行,来到了 php 版本界面。
在这里插入图片描述
打开靶场根目录里的源文件,可以看到不存在任何校验。直接把输入的内容放在 eval() 函数中。
在这里插入图片描述

### 关于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]。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goodric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值