我正在测试我在PHP中用于HTML注入的页面,但它没有按照我的预期工作。
我试图插入
for idx, i in enumerate(l):
if i:
for j in i:
print(j)
if idx < len(l) - 1:
print()
在textarea内。服务器方面,我只想暂时用var_dump显示$ _GET,但它甚至没有达到这个目的:当我点击按钮时,它只会将我带回主页并添加<div onmouseover="alert(1)" style="position:fixed;left:0;top:0;width:9999px;height:9999px;">
</div>
URL。我没有在PHP中收到任何错误,所以可能是服务器问题(Apache 2.4)。
我猜测堆栈的某些部分是防御性的,比如当你将#3377832596384266514
添加到URL并且浏览器摆脱它时,但我不知道在哪里看。我也试过了
javascript:
和其他变体,但随后<script>alert(foo);</script>
和其他一些字符被剥离。
<
编辑:textarea而不是输入。
编辑:添加了所有代码。
答案 0 :(得分:0)
输入标记不能包含任何内容,这就是为什么您可以将其设置为自闭元素<input />
也许你需要另一种方法
答案 1 :(得分:0)
将表单方法从GET
更改为POST
。
GET
可能会导致服务器处理网址中某些标记的问题。
OP验证了解决了这个问题。