可以利用 XSS 的方法之一是使用以下标记:
"><script>alert(document.cookie)</script>
在这里,">
before script(<script>
标签)是什么意思,为什么要使用它?
可以利用 XSS 的方法之一是使用以下标记:
"><script>alert(document.cookie)</script>
在这里,">
before script(<script>
标签)是什么意思,为什么要使用它?
这样,您可以从双引号属性 ( "
) 中转义并关闭前一个标签 ( >
),然后再打开包含您的有效负载的脚本标签。它是最基本的 XSS 模式之一。
例子:
<input type="text" value=" $XSS ">
随着你的序列,它变成:
<input type="text" value=" "><script>alert(document.cookie)</script> "> ^- 一个完整的标签 ^- 有效载荷垃圾 -^
请注意,您的矢量仅在未过滤 HTML 实体时才有效。
因此,如果您无法摆脱该属性,则它是 XSS 安全的。这不会触发:
<input type="text" value=" <script>alert(document.cookie)</script> ">
');
您可以在 Javascript 中使用 XSS(例如结束字符串和函数调用)或使用 SQL 注入看到相同的想法。注入序列的第一个字符通常具有逃避当前上下文的目的。
至于@Mindwin 的强制性SQL 注入 xkcd strip,我徒手圈出了我所指的部分: