このコードの一部をWebアプリケーションで見つけました(簡略化):
<?php $password="very-secret-password"; $param = $_GET["param"]; ?>
<html> ...
Param: <?php echo $param; ?>
... </html>
これはXSSの呼び出しのようなものであることは知っていますが、攻撃者が自分のPHPここのコードを実行できるかどうかを確認します。これにより、パスワードを表示するようなものを意味します-page.php?param=; ?><?php echo $password; ?>
、しかし特にこれはうまくいきませんでした。
グーグルとOWASPのチートシートでは、この特定の問題に関する情報は提供されていません。
それで、攻撃者は自分の[〜#〜] php [〜#〜]コードをここで実行できますか、それとも不可能ですか?はいの場合、どのように? (PHP v5.6)
いいえ、CGIパラメータをエコーするだけでサーバーサイドコードを挿入することはできません。しかし、あなたが言うように、それは反映されたXSS攻撃を可能にします。
一方、コードに他の脆弱性がある可能性もありますnot質問に含めてください。
パラメータをエコーするだけの場合、攻撃者はPHPコードを挿入できません。しかし、XSS攻撃を可能にします。
ただし、eval($_GET["param"])
、またはGETまたはPOSTパラメータのいずれかを使用する他のコードを評価すると、PHPコードを挿入することができます。