Нередко на веб-сайтах можно обнаружить php-файл содержащий одну-единственную php-функцию - phpinfo(). К тому же, файл этот обычно лежит в открытом доступе и имеет легкоподбираемое имя, например, phpinfo.php. При аудите веб-сайтов я постоянно встреачаю подобное и всегда рекомендую владельцам сайтов удалить/спрятать/переименовать этот файл. Почему? Во-первых, это наверное всем известно, информация, содержащаяся в выводе phpinfo() нередко может помочь взломщику провести другие веб-атаки (например, из phpinfo() можно узнать полный путь до "DOCUMENT_ROOT" и использовать это при наличии sql-инъекции с чтением файлов, и т.д.). Но phpinfo() опасна не только этим. Сама по себе эта функция в некоторых версях PHP содержит ошибки, которые можно использовать для проведения XSS. Поискав в гугле можно найти несколько оповещений об XSS-уязвимостиях в phpinfo(): • PHP XSS exploit in phpinfo() by Silent Needle • PHP 4.4.3 - 4.4.6 phpinfo() Remote XSS Vulnerability by Stefan Esser • phpinfo() Cross Site Scripting PHP 5.1.2 and 4.4.2 by Maksymilian Arciemowicz • Тут китайцы показывают как можно провести атаку на IE7 через phpinfo() методом Algol'а Код: http://vuln.site/status/index.php?action=phpinfo&xss[ ]=%3Cscript%3Ealert(/hi, i am xss!/)%3C/script%3E Набрав в гугле запрос "php version" inurl:status/index.php?action=phpinfo можно быстро найти с десяток сайтов с WHMCompleteSolution и уязвимыми версиями PHP. Кстати, XSS в phpinfo() можно использовать для обхода HTTPOnly, ведь содержимое cookies выводится на странице, и их можно взять из нее, не используя метод cookies: Код: http://vuln.site/phpinfo.php?xss[ ]=%3Cscript%3Ealert(document.getElementsByTagName('*')[xxx].innerHTML)%3C/script%3E Значение 'xxx' в данном примерe - это номер элемента массива, возвращаемого методом getElementsByTagName, содержащий значение cookies. • Author: cr0w