我正在测试我用 PHP 制作的用于 HTML 注入的页面,但它没有按我预期的方式工作。
我正在尝试插入
<div onmouseover="alert(1)" style="position:fixed;left:0;top:0;width:9999px;height:9999px;">
</div>
在文本区域内。在服务器端,我现在只想显示带有 var_dump 的 $_GET ,但它甚至没有做到这一点:当我单击按钮时,它只会将我带回主页并#3377832596384266514
添加到 URL 中。我在 PHP 中没有收到任何错误,所以可能是服务器问题(Apache 2.4)。
我猜堆栈的某些部分是防御性的,例如当您添加javascript:
到 URL 并且浏览器摆脱它时,但我不知道在哪里看。我也试过
<script>alert(foo);</script>
和其他变体,但随后<
和其他一些字符被剥离。
test.php
<!doctype html>
<head>
<meta charset="utf-8">
<title>Test</title>
</head>
<body>
<form method="get" action="select.php">
<p>
<label for="select">Words
<textarea id="select"
name="select"
cols="50"
rows="1"
maxlength="100"
required
autofocus></textarea>
</label>
</p>
<p>
<button>Send</button>
</p>
</form>
</body>
</html>
select.php
<?php
var_dump($_GET);
编辑:文本区域而不是输入。
编辑:添加了所有代码。