RCE命令执行

一、RCE介绍

远程命令执行或远程代码执行

渗透中能够执行命令或代码、拿到shell啥的都属于 RCE,规定的范围比较广

常见场景包括命令执行、代码执行、文件上传和文件包含、反序列化、写文件 Getshell

二、命令执行

Web 应用调用系统命令函数,对用户输入内容过滤不严,恶意命令被拼接执行

产生原因:

代码过滤不严

第三方组件存在漏洞

系统本身存在漏洞

PHP 常见执行函数

system() 直接输出

exec() 返回最后一行内容

shell_exec() 返回全部结果

passthru() 输出原始内容

``(这是反引号)可执行命令和shell_exec()一个意思

popen() proc_open() 执行命令并返回文件指针

命令连接符

& 前后命令都执行

&& 前一条成功后执行后一条

| 只显示后一条结果

|| 前一条失败后执行后一条

常用系统命令

Linux系统专用的

whoami

id

pwd

ls

cat,过滤了可换

uname -a

Windows专用的

whoami

ipconfig

dir

net user

calc这是计算器

漏洞危害

获取服务器权限。读取文件。写入木马。反弹 Shell。进行内网渗透

防御方法

禁用高危系统函数。严格过滤用户输入。上传目录设置不可执行。权限使用白名单校验

三、代码执行

原理

将用户输入的字符串当作脚本代码执行

常见函数

PHP:eval ()、assert ()

JS:eval ()

Python:exec

Java:反射、OGNL、SpEL

执行方式

eval ('phpinfo ();');

assert (phpinfo ());

${phpinfo ()};

危害

直接执行任意 PHP/Python/Java 代码,GetShell。

防御

禁止用户可控参数进入 eval/assert

过滤特殊字符

升级框架、补丁

最小权限运行

四、命令执行与代码执行区别

命令执行

执行系统命令 ipconfig whoami ls cat

代码执行

执行脚本代码 phpinfo eval assert

五、CTF 与实训常用 payload

命令执行

?ip=127.0.0.1&whoami

?ip=127.0.0.1|ipconfig

?cmd=system ('cat flag.php')

代码执行

?cmd=phpinfo ()

?cmd=eval ($_POST [123])

绕过过滤

cat或者tac /flag

nl /flag加行号

grep . /flag

head /flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值