Обложка канала

ANTICHAT Channel

7910 @antichat

Официальный канал https://forum.antichat.ru одного из лучших форумов для специалистов в области IT

ANTICHAT Channel

4 года назад
Открыть в
Современный PHP уже не про магические кавычки. Ругать его сейчас практически не за что. Тем не менее, популярность и низкий порог входа делают своё. И много кодеров, до сих пор, продолжают тянуть устаревшую жуть языка. С одной из них, приходится сталкиваться время от времени. Ею является эмуляция Register Globlas. То ли из-за банальной лени, то ли из-за распиздяйства, разработчиком в проект добавляется костыль аля extract($_GET) или $$v в цикле. Например:
https://expressionengine.com/?this=1
https://www.whmcs.com/members/?this=1
https://www.1c-bitrix.ru/auth/?this=1

К чему такие финты приводят, можно почитать на нашем форуме - $this - это специальная переменная. А теперь взгляните на скриншот и попробуйте найти уязвимость. Ответ: https://expressionengine.com/?protected=1&_SERVER=1 Тем самым, в условном проекте использующем эту ветку CI, можно зануллить глобальную переменную $is_installed и переустановить приложение. Вот так, гвозди можно забивать микроскопом. Но как всегда, во всём обвинят PHP 🤷‍♂️