RCE(远程命令/代码执行)

文章探讨了远程命令执行漏洞的原理,利用条件(如未过滤用户输入),并通过PHP示例展示了如何通过分号、管道符号执行系统命令。讨论了创建用户、写入木马文件和CS上线的攻击方式,并强调了命令执行与代码执行的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、远程命令(command)执行

原理

系统对用户输入的参数过滤不严,导致用户可以输入&、|、||等命令连接符,拼接并执行命令

利用条件

1、应用调用执行系统命令的函数
2、将用户输入作为系统命令的参数拼接到了命令行中
3、没有对用户输入进行过滤或过滤不严

危害

1、继承Web服务程序的权限去执行系统命令
2、反弹shell
3、控制整个网站甚至控制服务器
4、进一步内网渗透

拼接符

示例 含义
cmd1 | cmd2 只执行cmd2
cmd1 || cmd2 只有当cmd1执行失败后,cmd2才被执行
cmd1 & cmd2 先执行cmd1,不管是否成功,都会执行cmd2
cmd1 && cmd2 先执行cmd1,cmd1执行成功后才执行cmd2,否则不执行cmd2

Linux系统中支持用分号 (;)执行多个命令,cmd1;cmd2 按顺序依次执行,先执行cmd1再执行cmd2

二、示例

利用代码

<?php
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值