对没有脚本标签的 XSS 执行 JavaScript
Execute JavaScript for XSS without script tags
我正在学习 XSS(出于道德目的),我想知道如何在不使用 <script>
标签的情况下执行一些 JavaScript 代码。这是在
HTML 标签内:
"The search term" <p> *JavaScript here* </p> "returned no results"
由于某种原因,脚本标签不起作用。
您可以使用 HTML 元素中的 onclick
属性,这样您就可以创建如下内容:
"The search term" <p> <a href="" onclick="alert('I excuted JavaScript!');">Click me to see the JavaScript work!</a> </p> "returned no results"
现在当点击元素时 JavaScript 将被执行。
- 尝试输入带有特殊字符的不同类型的字符串,看看是否对其中的任何字符串进行了编码或输出。 (我个人使用
'';!--"<XSS>=&{()}
)
- 现在你有三个选择:
- 在 HTML 标签内:
<>
无关紧要,因为您已经在 HTML 标签内。您可以查看此标签是否支持事件并使用某种 onload=alert(1)
或其他事件。如果允许<>
,你可以突破并创建自己的标签'><img src=0 onerror=alert(1)>
- HTML 标签之外:
<>
很重要。有了这些你就可以打开一个新的标签,整个世界都在你的脚下(或者……)
- 里面 Javascript: 好吧...如果你可以用
'"
打破一个字符串,那么你基本上可以写 ';alert(1)
- 根据您的编码字符和字符串输出位置的周围环境制作您的 XSS
<XSS>
完全消失: 应用程序使用某种 strip_tags
。如果你在 HTML 标签之外并且没有 HTML 标签被列入白名单,不幸的是我不知道任何实现 XSS 的方法。
制作您自己的负载
实现这一目标的方法多种多样,无法一一列举。
看看这两个网站,它们有很多方法和概念来构建你自己的。
它归结为:页面允许通过什么。
在以下位置提到了另一个:
<a href="javascript:alert(1)">asdf</a>
适用于 Chromium 81。
也许更重要的是如何对其进行消毒的问题,例如:
- How to prevent XSS with HTML/PHP?
- How to sanitize HTML code in Java to prevent XSS attacks?
我正在学习 XSS(出于道德目的),我想知道如何在不使用 <script>
标签的情况下执行一些 JavaScript 代码。这是在
HTML 标签内:
"The search term" <p> *JavaScript here* </p> "returned no results"
由于某种原因,脚本标签不起作用。
您可以使用 HTML 元素中的 onclick
属性,这样您就可以创建如下内容:
"The search term" <p> <a href="" onclick="alert('I excuted JavaScript!');">Click me to see the JavaScript work!</a> </p> "returned no results"
现在当点击元素时 JavaScript 将被执行。
- 尝试输入带有特殊字符的不同类型的字符串,看看是否对其中的任何字符串进行了编码或输出。 (我个人使用
'';!--"<XSS>=&{()}
) - 现在你有三个选择:
- 在 HTML 标签内:
<>
无关紧要,因为您已经在 HTML 标签内。您可以查看此标签是否支持事件并使用某种onload=alert(1)
或其他事件。如果允许<>
,你可以突破并创建自己的标签'><img src=0 onerror=alert(1)>
- HTML 标签之外:
<>
很重要。有了这些你就可以打开一个新的标签,整个世界都在你的脚下(或者……) - 里面 Javascript: 好吧...如果你可以用
'"
打破一个字符串,那么你基本上可以写';alert(1)
- 在 HTML 标签内:
- 根据您的编码字符和字符串输出位置的周围环境制作您的 XSS
<XSS>
完全消失: 应用程序使用某种 strip_tags
。如果你在 HTML 标签之外并且没有 HTML 标签被列入白名单,不幸的是我不知道任何实现 XSS 的方法。
制作您自己的负载
实现这一目标的方法多种多样,无法一一列举。 看看这两个网站,它们有很多方法和概念来构建你自己的。 它归结为:页面允许通过什么。
在以下位置提到了另一个:
<a href="javascript:alert(1)">asdf</a>
适用于 Chromium 81。
也许更重要的是如何对其进行消毒的问题,例如:
- How to prevent XSS with HTML/PHP?
- How to sanitize HTML code in Java to prevent XSS attacks?