crlf
15.11.2018, 10:59
В общем, не уязвимость, а скорее метод эксплуатации.
По всей видимости, лара была написана под вдохновлением от RoR. Давно известный факт, что при лике секретного ключа рельсов, у атакующего автоматически появляется RCE. Ну, а Laravel чем плох? Ответ - ничем!
Наверно многие замечали наличие строки APP_KEY в конфигурационном файле .env, который является стандартным для каждой сборки (как всегда, не точно).
Так же, подробную инфу об параметрах и окружении можно увидеть в отладочной информации, если её по каким либо причинам забыли отключить. Аппкей светится и там.
Так вот, эта строка является ключом для шифрования данных, в частности, информации о текущей сессии и инфе для CSRF протекции, на клиенте, в виде кук.
В подавляющем числе случаев, там лежат сериализованные данные, которые в последствии десериализуются средствами функции unserialize, ну вы поняли... имеем слепое выполнение кода!
Долгое время использовал архив с развёрнутым фреймворком для генерции нагрузки, но по некоторым причинам это меня задолбало, что вылилось в написание небольшого скрипта, которым не стыдно поделиться:
[PHP]
PHP:
[COLOR="#0000BB"][COLOR="#007700"]
По всей видимости, лара была написана под вдохновлением от RoR. Давно известный факт, что при лике секретного ключа рельсов, у атакующего автоматически появляется RCE. Ну, а Laravel чем плох? Ответ - ничем!
Наверно многие замечали наличие строки APP_KEY в конфигурационном файле .env, который является стандартным для каждой сборки (как всегда, не точно).
Так же, подробную инфу об параметрах и окружении можно увидеть в отладочной информации, если её по каким либо причинам забыли отключить. Аппкей светится и там.
Так вот, эта строка является ключом для шифрования данных, в частности, информации о текущей сессии и инфе для CSRF протекции, на клиенте, в виде кук.
В подавляющем числе случаев, там лежат сериализованные данные, которые в последствии десериализуются средствами функции unserialize, ну вы поняли... имеем слепое выполнение кода!
Долгое время использовал архив с развёрнутым фреймворком для генерции нагрузки, но по некоторым причинам это меня задолбало, что вылилось в написание небольшого скрипта, которым не стыдно поделиться:
[PHP]
PHP:
[COLOR="#0000BB"][COLOR="#007700"]