命令注入漏洞练习
在这个练习环境中,你将学习如何识别和利用命令注入相关的漏洞。每个挑战都模拟了真实世界中的场景。
挑战1:基本命令注入
简单目标:通过命令注入漏洞执行系统命令。
// 目标代码
$ip = $_GET['ip'];
system("ping " . $ip);
// 正常输入
127.0.0.1
使用分号或管道符来分隔命令。
挑战2:绕过过滤
中等目标:绕过输入过滤执行命令。
// 目标代码
$command = $_GET['command'];
if (preg_match('/[;&|`$]/', $command)) {
die('Invalid input');
}
system($command);
使用编码或通配符来绕过过滤。
挑战3:反弹Shell
困难目标:通过命令注入建立反弹Shell连接。
// 目标代码
$url = $_GET['url'];
system("curl " . $url);
使用bash或python建立反向连接。