【问题标题】:What type XSS this is and how to prevent it这是什么类型的 XSS 以及如何防止它
【发布时间】:2018-09-17 20:38:54
【问题描述】:

这是我保存到计算机桌面的 example.com 的代码 index.html:

<channel> <title>Comments on: Voor uw organisatie</title> <atom:link href="https://example.com/feed/" rel="self" type="application/rss+xml" /> <link>https://example.com</link> <description>PIM: Wie weet wat van mij?</description> <lastBuildDate>Mon, 17 Sep 2018 13:22:52 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>https://wordpress.org/?v=4.9.3</generator> </channel> 

我在文本编辑器中打开了该文件并进行了更改

<generator>https://wordpress.org/?v=4.9.3</generator> 

<generator>"><img src="x" onerror="alert(document.cookie)"></generator> 

当我在 Firefox 中打开修改后的 HTML 文件时,我会看到一个带有 cookie 的警告框。我知道这是 XSS,因为我在浏览器中收到了 XSS 警报。

我的问题是为什么会这样?因为我没有在参数中注入这段代码。那么开发人员如何解决这个问题或清理这段代码呢?

这有什么影响吗?

【问题讨论】:

  • XSS 攻击是指您可以在不更改原始源代码的情况下将代码注入页面......您所做的只是修改页面,就像您在编写代码一样。
  • @epascarello — 大多数 XSS 攻击利用服务器端安全漏洞并确实更改 HTML 源代码。

标签: javascript web-applications xss


【解决方案1】:

给定一个由 Alice 运行并由 Bob 访问的网站,当 Mallory(攻击者)导致 JavaScript 在 Bob 网站上 Alice 的浏览器中运行时,就会发生 XSS 攻击。

Alice 在她的计算机上编辑 HTML 文档(甚至是从另一个网站复制的)以运行 JavaScript,然后在她的浏览器中加载该 HTML 文档不会执行 XSS 攻击。她只是在她完全控制的系统上运行 JavaScript。

【讨论】:

    【解决方案2】:

    这不是 XSS,这是损坏的 HTML。该警报是误报。

    【讨论】:

    • 我可以用 html 标签嵌入 JavaScript。并通过 Cookie 获得 XSS 警报。你确定这不是 XSS?
    • @user185823 你只是在编辑你自己的文件……这怎么可能是 XSS 攻击?这里没有发生任何事情,但您编辑自己的文件并获得直接结果。
    • 没有。有一个网站我不想提及,但将其称为 (example.com) 我只是将 WordPress.org 替换为 img src="x" onerror="alert(document.cookie)"> 并保存为 index.html 以及何时打开我收到带有 cookie 的 XSS 警报
    • @user185823 你的意思是?这对示例有何影响?
    • 好吧,我刚读了这个klikki.fi/adv/yahoo.html,我想我找到了类似的东西。这就是我问这个问题的原因。
    猜你喜欢
    • 2014-07-17
    • 2021-03-07
    相关资源
    最近更新 更多