$_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 (14)


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.

mecicdEmoft on Saturday, March 28, 2026 at 20:48

Гостевой дом WE REST в Подмосковье — это премиум-пространство для тех, кто ценит настоящий отдых за городом. Продуманные до мелочей дома, живая природа Пушкинского округа, активности на воде и костровые вечера — формула настоящего отдыха без компромиссов. Забронировать дом посуточно и узнать актуальные даты можно на <a href=https://we-rest.ru/>https://we-rest.ru/</a> — бронирование онлайн занимает пару минут. Территория закрытая, тихая, с чётко прописанными правилами проживания для комфорта каждого гостя.

rowuAbsok on Saturday, March 28, 2026 at 21:42

«Бумажный дом» — испанский сериал, превратившийся в настоящий мировой феномен криминального жанра. Таинственный Профессор вербует группу под именами городов с одной целью: захватить Королевский монетный двор и напечатать миллиарды, не прикасаясь к чужим средствам. Ищете <a href=https://bumazhnyy-dom-smotret.online/>бумажный дом все серии</a>? Все серии доступны на bumazhnyy-dom-smotret.online в отличном качестве с озвучкой LostFilm и других студий. Напряжение не спадает ни на минуту: заложники перестают быть безликой массой, грабители обнаруживают в себе человечность, а противоборство Профессора с инспектором становится партией в шахматы, где ошибка стоит жизни. 50 эпизодов пяти сезонов держат у экрана без остановки.

yudiebiall on Sunday, March 29, 2026 at 00:16

Учебная студия Юлии Бурдинцевой в Москве организует прикладные курсы для парикмахеров — практика на настоящих клиентах внедряется с четвертого учебного дня. Программы включают колористику, мужские стрижки, универсальные техники и повышение квалификации для действующих мастеров. Ищете <a href=https://j-center.ru/kontakt.html>j-center studio</a>? Записаться на курсы и узнать расписание можно на j-center.ru, где представлена вся информация о программах обучения. Наставник — специалист мирового уровня Юлия Бурдинцева обучает слушателей авторским техникам и умению взаимодействовать с посетителями.

juwaddPhich on Sunday, March 29, 2026 at 00:20

«Ведьмак» — культовый американо-польский фэнтези-боевик, снятый по знаменитому книжному циклу. Геральт из Ривии — хладнокровный мутант и профессиональный охотник на монстров — балансирует между миром людей и царством тварей. Его история переплетается с судьбами чародейки Йеннифэр и принцессы Цири, чья таинственная кровь меняет расклад сил на всём континенте. Ищете <a href=https://vedmak-smotret.online/>сериал ведьмак</a>? Все 33 серии четырёх сезонов доступны на vedmak-smotret.online с профессиональной озвучкой и без регистрации. Динамичные поединки, глубокие моральные конфликты и искусно выстроенные политические интриги ставят сериал в один ряд с лучшими образцами фэнтези.

zuhintig on Sunday, March 29, 2026 at 00:35

Британский «Шерлок» 2010 года — дерзкая и точная адаптация классики Конан Дойла, действие которой перенесено в современный Лондон со смартфонами, интернетом и медийным шумом. Знаменитый консультирующий детектив с феноменальными аналитическими способностями раскрывает запутанные преступления вместе с напарником-ветераном — их тандем и есть главная ось повествования. Каждый из 13 эпизодов по хронометражу и насыщенности не уступает полному метру: закрученный сюжет, блестящие реплики и уникальная визуализация дедуктивных цепочек героя. Ищете <a href=https://sherlok-smotret.online/>шерлок смотреть онлайн</a>? Все сезоны в отличном качестве собраны на sherlok-smotret.online — смотри бесплатно без регистрации. Захватывающий детектив, острый триллер и изысканный британский юмор — всё это в одном сериале с рейтингом 9.0 из 10.

judobelslurl on Sunday, March 29, 2026 at 02:33

Обручальное кольцо — это не просто украшение, а символ вечного союза, который будет на руке каждый день на протяжении всей жизни, и выбирать его стоит с особой тщательностью. Именно такой подход исповедует московский ювелирный магазин <a href=https://obruchalnyye-koltsa.ru/>https://obruchalnyye-koltsa.ru/</a>, предлагающий парные кольца из белого и жёлтого золота 585 пробы. Каждое изделие изготовлено из сертифицированного сплава: медь в составе придаёт металлу прочность и гипоаллергенные свойства, а мастера учитывают все нюансы — от толщины шинки до огранки вставок. Каталог охватывает широкий ценовой диапазон, позволяя найти кольцо мечты вне зависимости от бюджета.

nesevWew on Sunday, March 29, 2026 at 03:39

Looking for <a href=https://shautsova.com/>deportation lawyer usa</a>? Visit shautsova.com and learn all about Alena Shautsova, an American immigration attorney based in New York City who strives to provide her clients with the best short- and long-term solutions to their immigration needs. Find out what we offer or set up an introductory consultation at your convenience. We have successfully helped hundreds of clients navigate complex immigration processes. Visit our website to discover more.

kipiktMaddy on Sunday, March 29, 2026 at 10:21

Сдача отчётности в налоговую и другие ведомства давно перестала быть головной болью для тех, кто работает с компанией ЦЭК из Нижнего Новгорода. Специалисты компании подключают электронную отчётность прямо из программ 1С, берут на себя настройку и сопровождение, а клиент получает готовое решение без лишних усилий. Сервисы охватывают всё: от передачи отчётов в ФНС и СФР до юридически значимого ЭДО, кадрового и транспортного документооборота, а также оформления МЧД. Познакомиться с полным перечнем услуг и актуальными акциями можно на сайте <a href=https://astral52.ru/>https://astral52.ru/</a> — сейчас действует скидка 50% на электронную отчётность плюс пять сервисов в подарок. Команда профессионалов ЦЭК работает на рынке защищённого документооборота и ежегодно расширяет спектр решений для бизнеса любого масштаба.

lifiwujuire on Sunday, March 29, 2026 at 12:58

РАМТЕПЛО — компания, которая реализует весь комплекс работ по инженерным системам для частных домов в Москве и Московской области: отопление, водоснабжение, канализация, электромонтаж, вентиляция и «Умный дом». Специалисты берутся за проекты любой сложности — от котла и тёплого пола до промышленной автоматики. Среди действующих предложений — подготовка системы к отопительному сезону от 2900 р. и радиаторы Rifar Monolit по цене 750 р./сек. Подробности об услугах и ценах на <a href=https://ramteplo.ru/>https://ramteplo.ru/</a> — заявку можно оставить онлайн. Каждый реализованный проект сопровождается гарантией и последующим сервисным обслуживанием.

gohirerMab on Sunday, March 29, 2026 at 13:26

Современное строительство не прощает компромиссов в выборе теплоизоляции: некачественный утеплитель оборачивается хронически холодными стенами, промерзающими крышами и постоянно растущими счетами за отопление. Именно здесь на первый план выходит каменная вата «Базальтум» — материал, созданный из горных пород базальтовой группы и способный решить сразу несколько задач. На сайте <a href=https://basaltum.su/>https://basaltum.su/</a> представлена линейка продуктов для любого узла здания: Фасад, Вент, Руф, Флор, Акустик и Сэндвич. Каждая плита негорюча, гидрофобизирована, устойчива к грызунам и обладает превосходными звукоизолирующими свойствами. Доставка осуществляется по всей России, а стабильное качество материала подтверждено многолетней практикой применения в жилом и коммерческом строительстве.

mafunldemula on Sunday, March 29, 2026 at 16:03

«Мандалорец» — сериал Disney+ во вселенной «Звёздных войн», где космический вестерн встречается с классическим приключенческим кино. После краха Галактической Империи безымянный воин в броне из бескара берётся за опасные заказы на задворках галактики. Переломный момент наступает, когда вместо ожидаемой цели охотник обнаруживает таинственного малыша с даром управлять Силой. Ищете <a href=https://mandalorec-smotret.net/>сериал мандалорец</a>? На mandalorec-smotret.net все три сезона доступны бесплатно с профессиональной озвучкой. Стремительное повествование, харизматичные герои и подлинная вестерновая атмосфера вывели сериал в число самых громких хитов последних лет.

yefehgoBiT on Sunday, March 29, 2026 at 16:52

«Очень странные дела» — культовый сериал десятилетия: тихий американский городок, пропавший мальчик и череда событий, разрушающих границу между реальным и потусторонним. Компания школьников, таинственная девочка с паранормальными способностями и секретные опыты властей — всё это складывается в мощный жанровый коктейль из ужасов, фантастики и молодёжного приключения. Ищете <a href=https://ochen-strannye-dela-smotret.online/>очень странные дела все серии</a>? Все 42 серии в отличном качестве доступны на ochen-strannye-dela-smotret.online с множеством вариантов озвучки. Сериал умело балансирует между напряжённым триллером и трогательной историей о дружбе и взрослении.

vazimlFiecy on Sunday, March 29, 2026 at 20:26

Внедрили ИИ агента LeoAgent <a href=https://leoagent.ru/>https://leoagent.ru/</a> пару месяцев назад. Команда постоянно отвлекала повторяющимися вопросами — рутина нарастала. Закинули корпоративные документы, настроили Telegram и запустили сразу трёх агентов. Теперь ии агенты для бизнеса отвечают за нас. Нагрузка на поддержку упала процентов на 60, новички не дергают старших. Команда в полном восторге.

Add a comment

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

Comment: