Это действительно уязвимость XSS. Я понимаю, что вы считаете, что это не может повредить вашему сайту, но это не значит, что он ненастоящий.
Если вы не верите этому, попробуйте следующее:
Мы предполагаем, что у вас есть страница, такая как "registration.php".
Мы предполагаем, что у вас есть форма, где действие:
<?php echo $_SERVER['PHP_SELF']; ?>
как ты и положил на самом деле:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<!-- form contents -->
</form>
Теперь просто добавьте строку ниже
%27%22/%3E%3Cscript%3Ealert(1)%3C/script%3E
На самом деле это не сложно понять, поскольку PHP_SELF - это отражение URL, ваше приложение будет читать все, что вы вставили в URL, и отображать его. Это так просто.
htmlspecialchars должен позаботиться об этом, без оснований оспаривать доказательства.
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
<!-- form contents -->
</form>
Тем не менее, даже это первый шаг в создании файла cookie, а не в том, что он происходит автоматически. Даже если провести атаку довольно легко (поскольку злоумышленник зарегистрируется на вашем сайте и увидит, как выглядит файл cookie ... и т. Д.), Ряд других факторов должен быть правдой, чтобы добраться до момента, когда файл cookie стал активным. ситуация. Например, срок действия файла cookie не должен истекать. Чем это зависит от того, насколько сложным является cookie. Чем, возможно, у вас есть другие меры предосторожности при размещении на сервере, это не обязательно должна быть вся аутентификация, основанная на наличии куки!
Хотя я верю, что это довольно сложное и очень плохое программирование для всех условий (даже если yahoo.mail, например, имел такую уязвимость и если вы посмотрите в Интернете, вы найдете даже эксплойт и cookie-декодер), XSS реальна, и кто знает, что может сделать хитрый злоумышленник, если ваш сайт от этого пострадает. Лечение простое ...