2015-03-31 3 views
1

Может ли эта комбинация символов, только в поле формы, использоваться для атаки XSS или SQL, если правильно «Html-Entity Encoded» в самом начале кода PHP?Html-Entity закодированный пустой тег HTML

<>

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

<?php 

    foreach ($_POST as &$_HTTP_FIELD) { 
    $_HTTP_FIELD = htmlentities($_HTTP_FIELD,ENT_QUOTES,'ISO-8859-1'); 
    } 
    foreach ($_GET as &$_HTTP_FIELD) { 
    $_HTTP_FIELD = htmlentities($_HTTP_FIELD,ENT_QUOTES,'ISO-8859-1'); 
    } 

?> 

<html><body> 
    <form action="/index2.php" name="abcd" method="post"> 
    <input type="text" name="texte" value="<? echo $_POST['texte'];?>"> 
    <input type="submit" name="Soumission" value="Submit"> 
    </form> 
</body></html> 

Я уверен, что это не следуйте лучшим методам кодирования, но сам по себе этот код не кажется рискованным, если переменная echo-ed находится в поле «значение».

Но когда мы попробуем «<>» в текстовом поле, брандмауэр веб-хостинга заблокирует запрос, отправив ошибку 403.

Я не указываю здесь кодировку документа по соображениям ясности, но на самом деле документ сделан в ISO-8859-1. Таким образом, он соответствует функции htmlentities.

+0

Существует не так много информации прямо сейчас, но давайте говорить, что мой веб-узел не будет препятствовать мою PHP кода пытаются самостоятельно дезинфицировать данные POST. Ошибка 403 вызывается, даже если я петлю во всех переменных POST и удаляю их. –

+0

Можем ли мы увидеть ваш PHP-код? – bigben3333

+0

См. Отредактированный вопрос. –

ответ

0

<> не может работать, но

" onmouseover="alert(1) 

, вероятно, удастся, как это отображается как

<input type="text" name="texte" value="" onmouseover="alert(1)"> 
+0

Как было сказано в моем первоначальном вопросе, я намерен преобразовать входные данные в html-объекты, поэтому двойные кавычки в вашем предложении будут отображаться как «"», что совершенно безвредно. Но в любом случае, если я «забыл» преобразовать в html-объекты, «<>» не будет делать ничего вредного, как вы говорите. Поэтому я считаю ваш ответ удовлетворительным. Это доказывает, что мой веб-узел завышает риск «<>». –

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