【问题标题】:Self XSS vs Reflected XSS自我 XSS 与反射 XSS
【发布时间】:2020-05-26 19:08:10
【问题描述】:

self XSS 和反射 XSS 有什么区别? 如果我发现一个 XSS 漏洞,我怎么知道它是自我 XSS 还是反射 XSS ? 我已经尝试在 Google 上阅读很多文章,但仍然感到困惑。 提前致谢!

【问题讨论】:

  • @Taplar 感谢您的参考。我之前也参考过这个链接。主要讲反射型XSS和存储型XSS。我正在寻找反射型 XSS 与自我型 XSS。 :)
  • 你叫什么“自我 XSS”?

标签: javascript security xss owasp web-application-security


【解决方案1】:

当 url 地址中包含的用户输入反映在页面源 un-unescape 中时,会发生反射型 XSS。
现在,很多东西都可以是用户输入,例如您在搜索表单中的输入、url 地址本身。一个例子是

https://vulnerable.com/<script>alert(1)</script>
假设在访问 url 之后,您在浏览器中检查页面源代码,您会在页面源代码的某处看到 <script>alert(1)</script>。这是一个反射的 xss,可用于利用其他用户,因为任何访问该链接的人都会被触发 xss,如果缺少 httponly 标志,他们的 cookie 也会被盗

自我 XSS self Xss 是在提交有效负载的用户的上下文中执行的 xss。假设网络应用程序具有配置文件功能,并且在配置文件功能中您可以选择指定昵称。现在在这个网络应用程序中,您无法查看其他用户的个人资料,这意味着他们无法让其他用户查看您的个人资料。大多数银行应用程序都是这样的。现在,如果昵称参数容易受到 xss 的影响,这里的 xss 将是 self xss 因为只有您可以查看您的用户配置文件,并且 xss 只会在您自己的 context 中执行。您可以同意窃取您自己的 cookie 没有任何影响

【讨论】:

  • 好的,所以从技术上讲,如果我的 XSS 输入反映在 URL 中,那么我可以将其称为反射 XSS。在所有其他情况下,它是一个自我 XSS。对吗?
  • 你是部分正确的,如果它反映在 url 中,它反映的是 xss 但这并不意味着其他情况是 self 。 self 意味着您不能使用它来利用除您自己之外的其他用户。再次仔细阅读我的回答。 self xss 可以作为存储的 xss 或 Dom xss 出现。什么使它自我是在这里被剥削的人。 TLDR:xss 仅在放置 xss 有效负载的浏览器中触发。他们没有办法让它在别人的浏览器中触发
【解决方案2】:

反射型 XSS 漏洞通常是指您可以诱骗人们点击的链接 - 如果用户关注它们,则执行 javascript,例如 https://www.example.com/example?search=<script>alert(1);</script>

Self XSS 漏洞通常需要用户输入一些内容,例如将 <script>alert(1);</script> 放在一个表单字段中,该字段的值不是从 URL 或表单参数填充的。所以除非你有一个非常容易上当受骗的用户,否则你只能用自我 XSS 漏洞来影响自己:)

【讨论】:

  • 好的,所以从技术上讲,如果我的 XSS 输入反映在 URL 中,那么我可以将其称为反射 XSS。在所有其他情况下,它是一个自我 XSS。对吗?
  • 不仅仅是 URL,反射型 XSS 可以通过 POST 请求进行演示。 Self XSS 意味着用户必须做一些事情,而不仅仅是点击链接。
猜你喜欢
  • 2021-11-02
  • 2017-04-25
  • 2014-02-10
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多