DVWA靶场 Command Injection(low)

1.代码

<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
	// Get input
	$target = $_REQUEST[ 'ip' ];

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

?>

 

提交后从post请求中得到参数ip,php_uname()返回操作系统的类型,参数s是返回系统名称。

其他参数介绍:

‘a’:此为默认。包含序列 “s n r v m” 里的所有模式。

’s’:操作系统名称。例如: FreeBSD。

‘n’:主机名。例如: localhost.example.com。

‘r’:版本名称,例如: 5.1.2-RELEASE。

‘v’:版本信息。操作系统之间有很大的不同。

‘m’:机器类型。例如:i386

如果当前系统是’window nt’,cmd命令执行ping ip。

如果是其他系统,执行 ping -c 4 ip 命令(发送指定数量的数据包)。

函数 string shell_exec ( string $cmd ),通过shell环境执行命令,结果以字符串的方式返回。

2.windows命令拼接

A | B:不管A成功还是失败,两个命令都会执行,但只输出B的结果

A & B: A、B都会执行并输出

A || B: 先执行命令A,如果失败则再执行命令B。但是如果A成功,就不执行B

A && B: 如果命令A成功执行,则执行命令B,并输出两个结果. 如果命令A没有执行成功,就不会执行命令B.

3.靶场实验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值