私はかなり長い間それについてかなり興味がありましたが、答えを得ることができなかったようです. しかし、ここには非常に知的な人たちがいるので、誰かができると確信しています。
では、質問へ。例として、リモート コマンド実行の脆弱性を使用します。
<?php echo preg_replace('/(.*)/e', 'strtoupper("\\1")', $argv[1]); ?>
これを悪用するには、攻撃者は単純に入力{${phpinfo()}}
します。私の質問は次のとおりです。
- 中括弧は何の
{}
ためのもので、変数のように見えるのはなぜですか? - それは何かの名前を持っていますか?それらは異なるので、変数関数だとは思いませんよね?
ありがとうございました!