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

ユーザー入力によるファイル読込

深刻度: 致命的 CWE-98 OWASP A03:2021 Injection rule: include_user

なぜ危険か

リクエストの値でincludeパスを作ると、攻撃者がシステムファイルやPHP入りの画像、外部コードを読み込めます。サーバー全体を乗っ取られる最短ルートの一つです。

✕ 脆弱なコード
include $_GET['page'] . '.php';
✓ 安全なコード
$pages = ['home' => 'home.php', 'about' => 'about.php'];
$page = $pages[$_GET['page'] ?? 'home'] ?? 'home.php';
include __DIR__ . '/pages/' . $page;

対策

許可したページ名だけを固定ファイルに対応させるホワイトリストを使いましょう。

コードを検査する

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

コードを検査する →