2015-10-08 5 views
-2

Немного фона. XSS сканер моей компании обнаружили, что login.php уязвима для:Почему слэш после входа в систему после входа в систему.

https://uzypav/login.php/ab7e7%22%3E%3Cimg%20src%3da%20onerror%3dalert(1)%3E47eee 

Это было адресовано с htmlentities().

Я заметил, однако, что косая черта ("/") после моего имени сценария (https://uzypav/login.php/) останавливает изображения от отображения, и пока не отображает мой контент.

  1. Это нормально?
  2. Есть ли способ защититься от этого?
  3. Это ситуация 404?

Посмотрите мой код ниже. Заранее благодарны за Вашу помощь.

<div style="background-image:url(images/back.jpg)"> 
<h1>LOGIN</h1> 
<form action="login.php" method="POST"> 
    <input id="username" type="text" name="username" value="" /><br> 
    <input id="password" type="text" name="password" value="" /><br> 
    <input id="submit" name="submit" type="submit" value="submit" /> 
</form> 
</div> 

<?php 
if(@$_POST["submit"] == "submit") 
    echo "submitted"; 


?> 

ответ

0
  1. Да это нормально посмотреть ответ от @RoyBass
  2. Да вы можете установить полный путь изображения https://uzypav/images/back.jpg в url вещь от css
  3. Возможно, вы, возможно, хотите получить доступ к чему-то, чего он не должен, но вы можете сделать 2. и просто проигнорировать это.
+0

Wow. RoyBass и Jannis оба правы. Но насколько это возможно, чтобы изменить полный путь изображения от машины разработки до производства? Это случай использования глобальной полной корневой переменной url? – uzy

+0

@uzy, вы также можете использовать ''/images/back.jpg'', тогда вам не нужно добавлять домен – jmattheis

+0

FYI: я не могу правильно определить ответы. Мне сказали, что у меня недостаточно очков. @ Jannis, я сомневаюсь, что /images/back.jpg обращается к моей проблеме, но полный url делает. Но как я могу применить его к существующему сайту с учетом; javascripts, jquery, dhtml_goodies и т. д.? – uzy

0

Во-первых, я бы предложил открыть веб-отладчик и просмотреть http-запросы. Вероятно, вы увидите запросы на недостающий ресурс.
Поскольку путь изображения не начинается с «/», это относительный путь. Относительно текущего каталога, который является корневым каталогом в случае https://uzypav/login.php.
При добавлении прямой слэш, текущий каталог https://uzypav/login.php/ и браузер делает запрос на https://uzypav/login.php/images/back.jpg - который не существует (возможно)

+0

Мне нужно запретить все запросы с завершающим «/» (косой чертой). Я читал, что с помощью Apache mod_rewrite можно переадресовать 'https: // uzypav/*. Php /' на 'https: // uzypav/error404.php'. Все примеры, которые я нашел, не касались моего конкретного случая. Обратите внимание, что у меня также есть скрипты в подпапках, например 'https: // uzypav/schedule_jobs/bulk/*. Php' FYI: Я не ожидаю и не обрабатываю значения $ _GET. Его все значения $ _POST. – uzy

+0

Спасибо всем, ребята. Я искал и заменил все относительные изображения и /Images/ src = 'images/to src =' /Images /, etc – uzy

Смежные вопросы