javascript - 自我 XSS 与反射 XSS
问题描述
自我 XSS 和反射 XSS 有什么区别?如果我发现一个 XSS 漏洞,我怎么知道它是自我 XSS 还是反射 XSS ?我已经尝试在 Google 上阅读很多文章,但仍然感到困惑。提前致谢!
解决方案
当 url 地址中包含的用户输入反映在页面源 un-unescape 中时,就会发生反射型 XSS。
现在,很多东西都可以是用户输入,例如您在搜索表单中的输入、url 地址本身。一个例子是
https://vulnerable.com/<script>alert(1)</script>
假设在访问 url 之后,您在浏览器中检查页面源代码,您会<script>alert(1)</script>
在页面源代码的某处看到。这是一个反射的 xss,可用于利用其他用户,因为访问该链接的任何人都将被触发 xss,并且如果缺少 httponly 标志,他们的 cookie 将被盗
Self XSS self Xss 是在提交payload的用户上下文中执行的xss。假设网络应用程序具有配置文件功能,并且在配置文件功能中您可以选择指定昵称。现在在这个网络应用程序中,您无法查看其他用户的个人资料,这意味着他们无法让其他用户查看您的个人资料。大多数银行应用程序都是这样的。现在,如果昵称参数容易受到 xss 的攻击,这里的 xss 将是 self xss 因为只有您可以查看您的用户配置文件,并且 xss 只会在您自己的 context 中执行。您可以同意窃取您自己的 cookie 没有任何影响
推荐阅读
- c++ - 根据类型是否为 POD 启用不同的成员函数
- r - 使用 R 中的“优化”函数为参数制作轮廓似然性
- .net - 从类映射到服务集合中的选项
- python - 如何在 cython 中正确声明 numpy 数组
- html - 仅使用内联代码的 ul 元素的垂直间距
- nlp - 使用 HuggingFace 库构建语言模型(即下一个单词预测器)
- javascript - 在 forEach 完成之前返回的数据
- python - 如何通过导入填充全局命名空间?
- javascript - JSON.parse() 行为不同的原因是什么?
- php - 注意:检查 PHP 数组中的值是否存在于数据库中时,数组到字符串的转换