Надеюсь, кто-то сможет ответить на этот вопрос мне, потому что я довольно любопытно об этом в течение некоторого времени, но, похоже, не смог получить ответ. Тем не менее, я уверен, что кто-то здесь сможет, так как здесь есть очень умные люди.
Теперь, на вопрос. В качестве примера я воспользуюсь уязвимостью выполнения удаленных команд.
<?php echo preg_replace('/(.*)/e', 'strtoupper("\\1")', $argv[1]); ?>
Чтобы использовать это, злоумышленник просто вводит {${phpinfo()}}
, например.
Мои вопросы таковы:
- Что такое фигурные скобки
{}
, и почему это выглядит как переменная? - Есть ли у него какое-то имя? Я не верю, что это переменная функция, поскольку они разные, нет?
Спасибо!