DVWA--命令执行(high)

<?php
//isset()检测变量是否被声明且值不能null
//判断$_POST[ 'Submit' ]是否接收了一个名为Submit的参数
if( isset( $_POST[ 'Submit' ]  ) ) {
    // 通过REQUEST方式接收一个名为ip的参数,并使用trim()函数将参数的值两侧的空白字符去掉,最后将结果赋值给target
    $target = trim($_REQUEST[ 'ip' ]);

    // 定义了一个数组substitutions
    $substitutions = array(
        '&'  => '',
        ';'  => '',
        '| ' => '',
        '-'  => '',
        '$'  => '',
        '('  => '',
        ')'  => '',
        '`'  => '',
        '||' => '',
    );

    // array_key提取出数组中所有键的名字,放在一个新的数组中
  	// 使用str_replace()函数将变量target中的包含的substitutions数组健名查找并替换为数组的值
  	// 最后将替换的结果重新赋值给target
    $target = str_replace( array_keys( $substitutions ), $substitutions, $target );

    // php_uname('s')获取操作系统的名称
    // 在操作系统名称中不区分大小写地查找Windows NT字符串
    if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
        // 如果操作系统名称中包含指定字符串,则进行拼接
        // 拼接之后,使用shell_exec()函数执行并输出,并将输出的结果赋值给变量cmd
        $cmd = shell_exec( 'ping  ' . $target );
    }
    else {
        // 如果操作系统名称中包含指定字符串,则进行拼接
        // 拼接之后,使用shell_exec()函数执行并输出,并将输出的结果赋值给变量cmd
        $cmd = shell_exec( 'ping  -c 4 ' . $target );
    }

    // 输出执行结果
    echo "<pre>{$cmd}</pre>";
}

?>

trim

去除字符串两侧空白字符(或其他预定义字符)的函数

<?php

$str= " Hello,World! ";
$new= trim($str);
echo(':'.$str.':');
echo('<br>');
echo(":".$new.":");

?>

str_replace

用于替换字符串中的部分内容的函数

<?php

$str= "My name is wzx";
$new= str_replace('wzx', 'GGB', $str);
echo($new);

?>

array_keys

PHP中的一个数组函数,用于获取一个数组中所有键名或值为指定值的元素的键名。

<?php

$arr= array(
    'a'=> 1,
    'b'=> 2,
    'c'=> 3,
    'd'=> 4
);

var_dump($arr);
echo('<br>');
$new =array_keys($arr);
var_dump($new);

?>

stristr

PHP 中的一个字符串处理函数,用于在字符串中执行不区分大小写的查找操作。

<?php

$str= "This is zz,GGB,wzx,jj";
$name1= "zz";
$name2= "GGB";
$result1= stristr($str, $name1);//false或省略,匹配之后的部分,包括当前位置
$result2= stristr($str, $name2,true);//true输出匹配位置之前的部分
echo ($result1.'<br>');
echo $result2;

?>

php_uname

PHP 中用于获取操作系统相关信息的函数

<?php

//获取系统相关信息:a或省略
$a= php_uname();
echo($a.'<br>');
//获取操作系统名称:s
$s= php_uname("s");
echo($s.'<br>');
//获取主机名:n
$n= php_uname("n");
echo($n.'<br>');
//获取操作系统发行版本:r
$r= php_uname("r");
echo($r."<br>");
//获取操作系统版本:v
$v= php_uname("v");
echo($v."<br>");
//返回硬件类型:m
$m= php_uname("m");
echo($m."<br>");

?>

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值