RCE和命令注入
在 Web 应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用代码或命令执行函数去处理。比如当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能控制这个字符串,将造成代码执行漏洞。同样调用系统命令处理,将造成命令执行漏洞。
一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口
代码执行和命令执行的区别就是,一个是由脚本语言类型决定能执行什么代码,一个是由操作系统决定能执行什么命令
如代码执行
<?php
$code=$_GET['x'];
eval($code); //eval()函数会将输入当成php执行
?>
如命令执行
<?php
$code=$_GET['x'];
system($code); //system()函数会将输入当成系统命令执行
?>
程度读取Windows的目录
eval(echo `$_REQUEST['a']`); 如这个在Linux环境下,反引号跟echo结合可以当成系统命令执行,故这里应该是执行的是系统命令
poc验证代码,exp利用代码
系统函数参考文章:https://blog.csdn.net/qq_43625917/article/details/98802320
版权声明:本文为原创文章,版权归 Bill's Blog 所有,转载请注明出处!如相关链接出现404,可以在文章下面评论留言。