远程代码执行 RCE
👉 课件 PDF:SSRF&XXE&远程代码执行
简介
远程命令执行/远程代码执行(Remote Command/Code Execution, RCE),两者是有所区分的,远程命令执 行比如 ping
,远程代码执行比如 eval
。
RCE 漏洞可以让攻击者向后台服务器远程注入命令或者代码,从而控制后台。
DVWA 演示
Low
在 Command Injection 模块中,可以输入地址进行 ping:
利用多条命令执行语法:
A && B
:先执行 A,如果成功,再执行 BA || B
:先执行 A,如果失败,再执行 BA | B
:管道符,先执行 A,将 A 的结果作为 B 的输入,打印 B 的结果A & B
:先执行 A,无论成功,继续执行 B
Medium
查看源代码:
<?php
if( isset( $_POST[ 'Submit' ] ) ) {
// Get input
$target = $_REQUEST[ 'ip' ];
// Set blacklist
$substitutions = array(
'&&' => '',
';' => '',
);
// Remove any of the charactars in the array (blacklist).
$target = str_replace( array_keys( $substitutions ), $substitutions, $target );
// Determine OS and execute the ping command.
if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
// Windows
$cmd = shell_exec( 'ping ' . $target );
}
else {
// *nix
$cmd = shell_exec( 'ping -c 4 ' . $target );
}
// Feedback for the end user
echo "<pre>{$cmd}</pre>";
}
?>