2016-12-30 2 views
0

Я играю с PHP, просматривая некоторые учебные пособия по безопасности. Я попытался продемонстрировать очень базовую атаку XSS. Если я просто использую echo "Test<script>alert(1);</script>";, он отображает окно предупреждения javascript, но когда я пытаюсь установить POST тот же текст, используя форму, а затем повторять ее обратно в браузере, не дает мне окно предупреждения javascript. Просто отображает Тест.Javascript не работает с PHP

Вот мой код:

<?php 

$text = isset($_POST['text'])? $_POST['text']: NULL; 
if ($text) { 
    echo $text; 
} 

$test = "Test<script>alert(1);</script>"; 
echo $test; 
?> 


<!DOCTYPE html> 
<html> 
<head> 
<title>Security</title> 
</head> 
<body> 
<form method="POST"> 
<label for="text">Put some random text here:</label> 
    <input type="text" name="text"> 

    <input type="submit" name="submit"> 
</form> 
</body> 
</html> 
+0

работает me.what Ваш браузер? –

+0

Какой браузер вы попробовали, в котором он не работает? Попробуйте в другом браузере. Если я правильно помню, хром предотвращает запуск JavaScript, который появляется в querystring или post. – Ultimater

+0

@Ultimater Я пытался в Chrome. В Firefox отлично работает. благодаря –

ответ

0

вы должны проверить исходный код после отправки формы .....

<script>alert(1);</script>Test<script>alert(1);</script> 

<!DOCTYPE html> 
<html> 
<head> 
<title>Security</title> 
</head> 
<body> 
<form method="POST"> 
<label for="text">Put some random text here:</label> 
    <input type="text" name="text"> 

    <input type="submit" name="submit"> 
</form> 
</body> 
</html> 
Смежные вопросы