phpsafe 𝕏 GitHub
公式CA 421DTkQ3TSG3n7F9SkNZj9NxvdFGbypwkctPd2uupump 公式アドレスはこちらのみです。

シェルコマンドの実行

深刻度: 致命的 CWE-78 OWASP A03:2021 Injection rule: exec

なぜ危険か

シェルに渡された入力に ; や | を入れると別のコマンドを追加でき、攻撃者にサーバーを乗っ取られます。値を厳密に検証し、すべての引数をエスケープしましょう。

✕ 脆弱なコード
system('ping -c 1 ' . $_GET['host']);
✓ 安全なコード
$host = $_GET['host'] ?? '';
if (!filter_var($host, FILTER_VALIDATE_IP)) {
    exit('Invalid address');
}
system('ping -c 1 ' . escapeshellarg($host));

対策

シェル呼び出しは避けましょう。必要なら引数ごとに escapeshellarg() を使ってください。

コードを検査する

ファイルを貼り付けると、このルールに該当する行をすべて示します。

コードを検査する →