DVWA—命令注入(Command Injection)

DVWA—命令注入(Command Injection)

原理

命令注入攻击,是指由于Web应用程序对用户提交的数据过滤不严格,导致黑客可以通过构造特殊命令字符串的方式,将数据提交至Web应用程序中,并利用该方式执行外部程序或系统命令实施攻击,非法获取数据或者网络资源等。在命令注入的漏洞中,最为常见的是PHP的命令注入。PHP命令注入攻击存在的主要原因是Web应用程序员在应用PHP语言中一些具有命令执行功能的函数时,对用户提交的数据内容没有进行严格的过滤就带入函数中执行而造成的。例如,当黑客提交的数据内容为向网站目录写入PHP文件时,就可以通过该命令注入攻击漏洞写入一个PHP后门文件,进而实施下一步渗透攻击。

low

查看源码

{$cmd}
"; } ?>

*命令连接符*

com1 && com2 先执行com1后执行com2,且com1成功后才会执行com2

com1 & com2 左边不管是否执行成功仍然会执行右边的com2(同时执行)

DVWA—命令注入(Command Injection)_第1张图片

com1 | com2 只执行com2,com1的输出作为com2的输出

DVWA—命令注入(Command Injection)_第2张图片

com1 || com2,如果com1成功执行则com2不会被执行,com1执行错误则执行com2

DVWA—命令注入(Command Injection)_第3张图片 DVWA—命令注入(Command Injection)_第4张图片

linux:com1;com2, 命令顺序执行 com1命令无法执行,com2命令才执行

medium

 '',
		';'  => '',
	);

	// 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
	$html .= "
{$cmd}
"; } ?>

$substitutions = array(
‘&&’ => ‘’,
‘;’ => ‘’, );****

这段代码表示过滤了“&&”和“;”,但没有过滤“||”

函数str_replace

DVWA—命令注入(Command Injection)_第5张图片 DVWA—命令注入(Command Injection)_第6张图片

high

 '',
		';'  => '',
		'| ' => '',
		'-'  => '',
		'$'  => '',
		'('  => '',
		')'  => '',
		'`'  => '',
		'||' => '',
	);

	// Remove any of the characters 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
	$html .= "
{$cmd}
"; } ?>

源码中暴露的问题:

看似过滤挺全面的,但其实’| ‘这个中是带空格的,所以我们依然可以使用’|'绕过

DVWA—命令注入(Command Injection)_第7张图片 DVWA—命令注入(Command Injection)_第8张图片

你可能感兴趣的:(DVWA通关教程,php,安全,web安全)