RCE(远程执行/命令执行)
产生的原理:
在web应用中,为达到灵活性、简洁性,会在代码中调用代码或命令执行函数去处理,同时没有对这些函数进行过滤,导致攻击者通过这些函数进行对系统注入命令或代码
远程代码执行漏洞产生常见的函数:
php中命令执行函数:system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()
<?php
$params = $_GET['x'];
system($params);
?>
系统命令执行漏洞常见的函数:
php中代码执行函数:eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()
<?php
$params = $_GET['x'];
eval($params);
?>
墨者靶场–命令注入执行分析:
- 输入ip地址可以能够进行ping命令
- 通过分析响应头的数据可以发现目标靶机属于linux系统
-
通过burpsuit抓取数据包,将输入的ip地址后面加上|ls 拼接成两条命令,查看目录内容
-
返回的数据为:
- 继续拼接系统命令查看key.php拿到key: