Довольно интересное исследование опубликовал Владимир Воронцов (aka d0znpp) на тему особенностей работы PHP с файловой системой в среде Windows. Началось все с того, что была замечена равнозначность следующих способов обращения к файлам:
any.phPany.phpany.ph<any.ph> name='more'>
Чтобы понять ценность найденного метода, приведу жизненную ситуацию. Предположим, перед нами со всех сторон дырявое, как дуршлаг веб-приложение. SQL-инъекцией выдернули хеши от паролей админов, восстановили их, но вот незадача, админку сайта отыскать никак не удается:( И вроде SQLi есть, но доступа к файловой системе нет. И вроде LFI есть, но цеплять то нечего:(( И тут на помощь приходит указанный метод! Проводим инклуд:
http://site/?file=a<<.php
http://site/?file=b<<.php
http://site/?file=c<<.php
...
И так до тех пор, пока не увидим что-нибудь полезное. Например, "полезное" вылезло на "http://site/?file=m<<.php". Начинаем перебирать второй символ:
http://site/?file=ma<<.php
http://site/?file=mb<<.php
... и т.д.
Для приведенного примера выше, можно было бы дойти до "myAdminPaneladmin.php".
Нужно отметить, что приводимый пример это частный случай. Возможности по использованию указанной фичи в PHP гораздо шире! Стоит также добавить, что метод работает во всех версиях PHP и только на платформе Windows.
С оригинальным исследованием можно ознакомиться по следующей ссылке: http://onsec.ru/onsec.whitepaper-02.eng.pdf
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
Что с нашим NGFW? Ответы — 14 апреля в Кибердоме
Конференцию откроет сессия с участием Минцифры, где оценят конкурентоспособность NGFW-решений.