自 XSS 与反射 XSS

Self XSS vs Reflected XSS

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

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

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

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

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

,他们的 cookie 就会被盗

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