RCE漏洞(代码执行&命令执行)总结

RCE漏洞

远程命令执行英文名称:RCE (remotecode execution) ,简称RCE漏洞,是指用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意构造的代码。 RCE漏洞分为代码执行和命令执行

代码执行

就是使用各种语言执行一些代码中的特定指令(这里以php为例)

PHP中的eval()函数把字符串按照 PHP 代码来代码执行。

例如

<?php
phpinfo();
?>

当我们在代码中执行这个代码的时候就可以执行phpinfo();的效果

我们使用eval()函数

<?
eval("phpinfo()");
?>

我们可以发现命令执行错误

但是如果我们加上一个;可以看见页面执行成功

<?php
eval("phpinfo();");
?>

这可以很好的说明,eval()函数将其中的内容当做了php语句进行执行,因为加上;是一个完整的正确的可执行php语句,但是没有分号的话就是一个错误的语句eval()函数无法正确解析

命令执行

执行的是系统命令(Linux的bash交互页面,windows的cmd命令行)

因为我环境搭建的是windows系统于是我们执行windows系统的命令就可以回显结果,这个就是系统命令执行

不过使用eval()函数也可以实现命令执行,就是在eval()里面执行system函数

我们可以看见系统命令进行了执行

eval()函数里面绕过不加"" 那么直接调用相关的命令函数也可以正常执行,但是当命令中出现空格会产生错误,为此,我们还是使用引号加分号的形式把语句当做代码去执行

漏洞发现

代码审计,查寻相关函数并寻找功能点,在这个功能点的地方可能存在着一些安全的过滤语法,为此我们需要在功能点处进行代码调试构造出可执行代码构造语句

还有一种情况就是利用已知漏洞,利用工具进行命令执行

写在最后 

如有错误,请及时指出,感谢

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值