我正在玩PHP,经历一些安全教程。我试图展示一个非常基本的XSS攻击。如果我只是使用echo "Test<script>alert(1);</script>";
,它会显示一个javascript警告框,但是当我尝试使用表单发布相同的文本然后在浏览器上回显它时,不会给我javascript警报框。只需显示测试。
这是我的代码:
<?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 :(得分: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>