$_SERVER['PHP_SELF'] and cross-site scripting

Monday, May 20, 2013


It's tempting to assume that PHP's $_SERVER array mostly contains fields out of the reach of an attacker, since these are "server" variables. However, that's not always the case; in particular, the seemingly innocuous PHP_SELF field can be a vector for cross-site scripting.

For example, consider the following foo.php:

<form method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    <!-- ...form elements... -->
</form>

If I visit http://www.example.com/foo.php, $_SERVER['PHP_SELF'] will be /foo.php and everything will work correctly.

But what if I visit http://www.example.com/foo.php/"><script>alert('hello');</script> instead? Then the rendered HTML will be:

<form method="POST" action="/foo.php/"><script>alert('hello');</script>">
    <!-- ...form elements... -->
</form>

This allows injection of arbitrary script running under the host site's context, also known as XSS. Two ways to fix this are:

  • Use $_SERVER['SCRIPT_NAME'] instead of $_SERVER['PHP_SELF']. The former is the name of the actual script file and can't normally be manipulated by an attacker.
  • Use htmlspecialchars(), which by default will escape double-quotes and prevent a user-supplied string from breaking out of an HTML attribute context.

By the way, this was pretty surprising behavior to me for two reasons:

  • The documentation of PHP_SELF is misleading: The first sentence says:

    The filename of the currently executing script, relative to the document root.

    It seems odd that PHP would refer to something like /foo.php/"><script>alert('hello');</script> as a "filename."
  • It's pretty bizarre default behavior that PHP will execute /foo.php for a request of /foo.php/bar/baz.

Tags: php, xss, security | Posted at 11:13 | Comments (15)


Comments

David Annis on Wednesday, June 25, 2014 at 06:32

I have used the fact that php will execute /foo.php from a request that contains /foo.php/bar to make search engine friendly URLs because many search engines will not index both wheretodrink.php?answer=bar and wheretodrink.php?answer=home because they fear an infinite set of URLs.

quzesspak on Monday, March 16, 2026 at 00:54

Автоматизация торговли и общепита невозможна без надежного контроля за кассовыми операциями. Облачный сервис ККМ Server Pro решает задачу удаленного мониторинга онлайн-касс для бизнеса любого масштаба — от одной точки до федеральной сети. Через личный кабинет владелец получает доступ к отчетам, контролирует смены и отслеживает продажи в режиме реального времени. Подробнее о возможностях сервиса — <a href=https://kkmserver-pro.ru/>https://kkmserver-pro.ru/</a> Система интегрируется с популярными CRM и учетными программами, исключает кассовые разрывы и упрощает взаимодействие с налоговой.

cuxayttDek on Monday, March 16, 2026 at 01:08

Полиграфический центр «повсюду» в москве выполняет широкий перечень работ — печать визиток, листовок, сувениров и элементов наружной рекламы. Современное оборудование позволяет выполнять заказы любой сложности в кратчайшие сроки с гарантией качества. Ищете <a href=https://povsyoudo.ru/>блокноты с логотипом москва</a>? Заказать печать можно на сайте povsyoudo.ru, где представлен полный каталог услуг с расчетом стоимости. Типография принимает персональные макеты, оказывает дизайнерские услуги и организует доставку по столице и подмосковью.

JamesFrumb on Monday, March 16, 2026 at 02:31

Посети официальный сайт компании > https://www.apelsin.su/wp-includes/articles/promokod_240.html

muxabdFut on Monday, March 16, 2026 at 07:22

Мебельная фабрика «Подольск» производит кухни и шкафы-купе на заказ по индивидуальным размерам для жителей Москвы и Московской области. Наличие собственного производства даёт возможность приобретать материалы напрямую и реализовывать мебель без наценок посредников. Ищете <a href=https://mf-podolsk.ru/>купить кухню</a>? На mf-podolsk.ru представлен полный каталог кухонь и фасадов с онлайн-конструктором для самостоятельного проектирования. Материалы — МДФ, пластик, массив дерева и плёнка ПВХ — позволяют создавать угловые, классические и современные интерьерные решения на любой бюджет. Доставка и сборка включены в сервис.

bijohamVit on Monday, March 16, 2026 at 07:24

Охранная компания «Вымпел-Альянс» работает с объектами разного масштаба: жилыми комплексами, торговыми центрами, банками, школами, ресторанами и производственными предприятиями. Компания предлагает полный спектр услуг — от вооружённой охраны и личной защиты до инкассации, сопровождения грузов и детективной деятельности. Ищете <a href=https://www.valliance.ru/chop-oxrana/>ооо чоп москва</a>? На valliance.ru представлены все направления работы и актуальные тарифы. Квалифицированный персонал, сертифицированное оборудование и отлаженный контроль гарантируют клиентам надёжную защиту в любое время суток.

lohimurob on Monday, March 16, 2026 at 07:27

Инденза (Энзалутамид) — передовое противоопухолевое средство для борьбы с кастрационно-резистентным раком предстательной железы на различных стадиях заболевания. Действующее вещество энзалутамид блокирует андрогеновые рецепторы, подавляя рост опухолевых клеток. Клинически доказано снижение риска смерти на 37% и увеличение общей выживаемости на 4,8 месяца. Ищете <a href=https://indenza.com.ru/>инденза</a>? На indenza.com.ru представлена полная информация о дозировках и схемах приёма. Стандартная суточная доза составляет 160 мг однократно в день — без сложной подготовки и особых условий хранения.

dacybeybog on Monday, March 16, 2026 at 07:53

Нужна срочная печать визиток, листовок или сувенирной продукции в Москве? Типография ПоВсёюДо работает в режиме 24/7 и выполняет заказы любой сложности — от простых визиток до эксклюзивных кашированных папок и брендированных кубиков-Рубика. Профессиональное оборудование и опытные специалисты гарантируют высокое качество печати при доступных ценах. Оформить заказ можно на сайте <a href=https://povsyoudo.ru/>https://povsyoudo.ru/</a>, где представлен полный каталог услуг с удобным калькулятором стоимости. Быстрая доставка по Москве и области, помощь дизайнера и гибкая ценовая политика — всё для вашего бизнеса.

Thomasamory on Monday, March 16, 2026 at 08:04

This is the kind of article that you may want to bookmark and revisit later <a href=https://git.kraft-werk.si//hirnelle155822/nelle2000/-/issues/1>https://git.kraft-werk.si//hirnelle155822/nelle2000/-/issues/1</a>

cacysedguece on Monday, March 16, 2026 at 08:09

Настоящая астраханская вобла давно стала символом традиционного рыбного вкуса России. Вся продукция поступает прямо от рыбаков Астрахани: вяленая вобла, сушёная, икра и чехонь — натуральный состав и засолка без химии. Ищете <a href=https://vobla-astrahanskaya.ru/>икра воблы купить</a>? На сайте vobla-astrahanskaya.ru представлен полный каталог с актуальными ценами и возможностью заказа от 1 кг. Вся Россия получает заказы через Озон с защитой покупателя — предоплата не требуется. Стоимость доставки держится на минимальном уровне среди аналогичных предложений.

nardshem on Monday, March 16, 2026 at 10:04

EtaLustra занимается созданием полноценных световых проектов для жилых, деловых и публичных интерьеров в столице и по всей стране. Организация создает проекты освещения для жилья, загородных домов, ресторанных пространств, офисных и торговых площадей, уличной подсветки с вычислением светотехнических параметров и оптимизацией сметы. Ищете <a href=https://etalustra.ru/projects_cats/zhilye-prostranstva/>проект освещения квартиры</a>? Ознакомиться с портфолио выполненных проектов и заказать консультацию можно на etalustra.ru Компания реализует проекты в разных бюджетных сегментах, анализирует запросы клиента и особенности быта, гарантирует экспертный выбор осветительных приборов и светотехники.

joqybdpew on Monday, March 16, 2026 at 10:28

НПФ ТОПСЕ — инжиниринговая компания с фокусом на разработке и внедрении систем промышленной газоочистки для предприятий РФ и стран СНГ. Предприятиям предлагаются полностью готовые решения по нейтрализации выбросов летучих органических соединений, пыли, оксидов азота и серы с применением технологии каталитического беспламенного окисления. На <a href=https://topsoe.pro/>https://topsoe.pro/</a> представлен полный спектр услуг: аудит и обследование систем газоочистки, разработка и производство катализаторов на основе переходных и благородных металлов, пилотные испытания и маркетинговые исследования рынка. Внедрённые системы дают ощутимый экономический эффект за счёт снижения энергопотребления и гарантируют соответствие предприятия актуальным экологическим стандартам.

zafygexinc on Monday, March 16, 2026 at 11:31

Ищете лучшие Кейсы CS2 (CS:GO) с гарантированными выплатами? Посетите <a href=https://amp.spark.ru/user/267982/blog/309947/gooddrop-ndash-luchshie-kejsi-cs2-cs-go-s-garantirovannimi-viplatami>https://amp.spark.ru/user/267982/blog/309947/gooddrop-ndash-luchshie-kejsi-cs2-cs-go-s-garantirovannimi-viplatami</a> там вы найдете источник информации о GoodDrop - это одна из самых популярных платформ для открытия кейсов в CS2 (Counter-Strike 2). Здесь можно выиграть дорогие скины, ножи, криптовалюту и другие ценные призы с высокими шансами.

hahirsdab on Monday, March 16, 2026 at 15:44

Visit <a href=https://friendlylikes.com/>https://friendlylikes.com/</a> and you can buy Instagram followers, likes, views, and comments at the best prices, with a quick start. We also offer services for other social networks. Our support is fast and available 24/7. Our service ensures the highest quality and reliability.

xofozdinasy on Monday, March 16, 2026 at 19:56

Вісті з Полтави - <a href=https://visti.pl.ua/>https://visti.pl.ua/</a> . Новини Полтави та Полтавської області. Довідкова, та корисна інформація про місто.

Add a comment

Name:
Email: (optional, not displayed to public)
URL: (do not fill this in — leave blank!)

Comment: