gpt4 book ai didi

javascript - 是什么让输入容易受到 XSS 攻击?

转载 作者:太空狗 更新时间:2023-10-29 13:53:52 26 4
gpt4 key购买 nike

我一直在阅读有关 XSS 的文章,我制作了一个带有文本的简单表单并提交了输入,但是当我执行 <script>alert();</script> 时在它上面,什么也没有发生,服务器得到那个字符串,仅此而已。

我该怎么做才能让它变得脆弱?? (然后我会学习我不应该做的事嘿嘿)

干杯。

最佳答案

实际上只是让服务器输出它,以便输入字符串有效地嵌入到返回给客户端的 HTML 源中。

PHP 示例:

<!doctype html>
<html lang="en">
<head><title>XSS test</title></head>
<body>
<form><input type="text" name="xss"><input type="submit"></form>
<p>Result: <?= $_GET['xss'] ?></p>
</body>
</html>

JSP 示例:

<!doctype html>
<html lang="en">
<head><title>XSS test</title></head>
<body>
<form><input type="text" name="xss"><input type="submit"></form>
<p>Result: ${param.xss}</p>
</body>
</html>

或者,您可以重新显示输入元素中的值,这也很常见:

<input type="text" name="xss" value="<?= $_GET['xss'] ?>">

回复

<input type="text" name="xss" value="${param.xss}">

用这种方式“怪异”地攻击像 "/><script>alert('xss')</script><br class=" 这样的字符串将起作用,因为服务器毕竟会将其呈现为

<input type="text" name="xss" value=""/><script>alert('xss')</script><br class="">

XSS 预防解决方案等 htmlspecialchars() fn:escapeXml() 分别用于 PHP 和 JSP。这些将取代其他< , >"通过 &lt; , &gt;&quot;这样最终用户的输入不会最终嵌入到 HTML 源代码中,而是在输入时显示出来。

关于javascript - 是什么让输入容易受到 XSS 攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2905886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com