【问题标题】:My page was attacked via xss, but on ftp all files are not changed?我的页面被xss攻击了,但是在ftp上所有文件都没有改变?
【发布时间】:2010-06-11 11:51:56
【问题描述】:

昨天我注意到有时在我的网页上显示 javascript 错误。 当我查看源代码时,我发现其中一个 .js 文件完全被大量色情链接所取代。

我检查了该文件的 ftp,但只有旧的 javascript 文件没有任何更改。 但是我回去通过浏览器检查源代码,确实还有原来的.js

今天我再次访问我的网页,问题又出现了。

  • 第一次访问向我展示了大量色情页面
  • 缓存的 .js 文件被黑客入侵
  • 但是在清除浏览器缓存后 js 回到原来的状态

我检查了我的 ftp 上的所有文件与我的离线版本,但所有文件都没有任何变化。

在过去的几年中,我曾多次受到 xss 的攻击,但在每种情况下,它都很容易诊断和修复。但现在我花了 12 小时并没有发现感染。

你知道如何找到它吗?

【问题讨论】:

    标签: php javascript security xss code-injection


    【解决方案1】:

    他们很可能发现了在您的 DB 和/或 CMS 文件中插入 XSS 数据的漏洞,然后当您转到特定页面时会显示该漏洞。

    您似乎正在使用 Quick CMS,它可能在某处包含一些缺陷,但是如果您自己开发了任何自定义函数,这可能就是问题所在。

    当您将数据插入数据库时​​,请始终使用 mysql 转义函数,当您将数据从数据库输出到页面时,请使用 php htmlentities() 函数,这将保护您免受 XSS 攻击。

    【讨论】:

    • thx,但问题是页面在平面文件 db 而不是 mysql 上运行,我也检查了这个,没有发现任何注入。我从服务器中删除了所有有时显示为受感染的 js 文件,然后猜猜是什么……在页面重新加载后,这些文件在浏览器缓存中再次显示为受感染,但实际上在 ftp 上没有任何文件。重写引擎在这里关闭。我很困惑。现在我从 中删除了所有 JavaScript 引用。现在问题消失了,但仍然没有解决。
    • 您在共享服务器上吗?也许它自己的服务器受到了损害,他们手动执行此操作?
    • 好吧,您声明服务器上的文件没有更改,所以如果是这种情况,这不是问题。一般来说,当您没有 root 访问权限时,您无法真正检查服务器是否是问题所在。您的问题确实很奇怪,您的所有文件都没有被更改并且 JS 仍在编辑中,这确实没有意义,必须更改某些内容才能发生 XSS 攻击。
    【解决方案2】:

    XSS 攻击不需要在服务器端更改文件,它使用特殊格式的查询链接,然后由于未正确检查输入,您的代码会呈现到网页。

    您只需要转义或检查您的输入。搜索“如何防止 xss”。

    Preventing Cross Site Scripting Attacks

    【讨论】:

      猜你喜欢
      • 2021-06-19
      • 2011-03-04
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多