Команда PHP XSS при использовании $ _SERVER [‘PHP_SELF’]

Оригинальный пример можно найти Вот:

Резюме

Элемент формы:

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

Часть вредоносного кода, введенная кем-то в адресную строку браузера: http://www.example.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E

В примере говорится, что элемент формы будет преобразован в следующее:

<form method="post" action="test_form.php/"><script>alert('hacked')</script>

Пока я понимаю, я не понимаю, почему

  1. Это даже работает, когда веб-адрес не существует. не должны
    этот человек получает страницу с ошибкой о том, что веб-сайт
    не может быть найден? Так же, как когда мы случайно вводим неправильный
    адрес и ничего не получил?
  2. Несмотря на то, что это работает, как кто-то еще, кроме самого «хакера», может повлиять, если изменения не сохраняются в файле php на
    сервер? Я имею в виду, что это хакер, который вручную ввел вредоносный
    код, и это его браузер, который будет загружать уязвимую сеть
    стр.

Должно быть, я неправильно понял некоторые концепции. Пожалуйста, поправьте меня. Спасибо

2

Решение

Это даже работает, когда веб-адрес не существует. Разве этот человек не должен получить какую-то страницу с ошибкой, говорящую, что веб-сайт не может быть найден? Например, когда мы случайно набрали неправильный адрес и ничего не получили?

Нет, если веб-сервер настроен на разрешение дополнительных данных после пути сценария. В Apache это настраивается Директива AcceptPathInfo.

Несмотря на то, что это работает, как кто-то еще, кроме самого «хакера», может повлиять, если изменения не сохраняются в файле php на сервере? Я имею в виду, что именно хакер вручную ввел вредоносный код, и именно его браузер загрузит уязвимую веб-страницу.

Атака XSS потребует от злоумышленника заставить цель посетить этот URL, чтобы вредоносная полезная нагрузка запускалась в браузере цели. Один из способов сделать это — обмануть цель, щелкнув по вредоносной ссылке.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector