我一直在使用 XSS 进行一些测试,并创建了一个带有一个文本输入的简单表单,页面顶部的 php 回显了该值,如下所示:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Mysite</title>
</head>
<body>
<?php if(isset($_POST['name'])) {
$name = $_POST['name'];
echo $name;
}
?>
<form action="" method="post">
<input type="text" name="name"/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
我在文本输入中输入了一个javascript代码,如下所示:
<script type="text/javascript">alert('XSS!');</script>
当我在 Google Chrome 中执行此操作时,我什么也得不到,没有输出,没有警报框,也没有错误。但是当我在 Internet Explorer 中查看它时,我得到了预期的警报框。
为什么会这样?