我正在学习 XSS(出于道德目的),我想知道如何在不使用 <script>
的情况下执行一些 JavaScript 代码。标签。这是在
HTML 标记内:
"The search term" <p> *JavaScript here* </p> "returned no results"
由于某些原因,脚本标签不起作用。
最佳答案
- 尝试输入带有特殊字符的不同类型的字符串,并查看是否对其中的任何字符串进行了编码或输出。 (我个人使用
'';!--"<XSS>=&{()}
) - 现在您有三个选择:
- 在 HTML 标签内:
<>
没关系,因为你已经在 HTML 标签中了。您可以查看此标签是否支持事件并使用某种onload=alert(1)
或其他事件。如果<>
被允许,你可以打破并创建自己的标签'><img src=0 onerror=alert(1)>
- HTML 标记之外:
<>
是重要的。有了这些,您可以打开一个新标签,整个世界都在您的脚下(或者……) - Javascript 内部: 好吧...如果您可以使用
'"
来拆分字符串, 那么基本上可以写成';alert(1)
- 在 HTML 标签内:
- 根据您的编码字符和字符串输出位置的周围环境制作您的 XSS
<XSS>
完全消失: 应用程序使用某种 strip_tags
.如果您在 HTML 标签之外,并且没有 HTML 标签被列入白名单,很遗憾,我不知道有什么方法可以实现 XSS。
制作您自己的有效载荷
实现这一点的方法有很多种,无法一一列举。 看看这两个网站,它们有很多方法和概念来构建你自己的。 它归结为:页面允许通过什么。
关于javascript - 在没有脚本标签的情况下为 XSS 执行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37435077/