1

您好,XSS 攻击被视为来自客户端计算机的攻击。但是有没有办法对服务器进行 XSS 攻击?

我想知道是否有任何方法可以使用客户端接口在服务器上执行代码,例如 SQL 注入,但这里不是数据库服务器,而是简单 Web 服务器或应用程序服务器。

4

3 回答 3

2

有时,也可以使用 XSS 作为向量来触发和利用跨站点请求伪造 ( CSRF ) 攻击。

在网站上拥有 XSS 就像控制用户在访问它时将执行的 javascript。如果管理员偶然发现了您的 XSS 代码(通过发送恶意链接或通过存储的 XSS),那么您可能会让他或她在网络服务器上执行普通用户通常无法访问的请求或操作. 如果您足够了解网页布局,您可以代表访问者请求网页(后端、用户列表等),并将结果发送(泄露)到 I​​nternet 上的任何位置。

您还可以使用更高级的攻击框架(例如BeEF)来尝试利用访问者浏览器中的漏洞。如果有问题的访问者是网站管理员,这可能会产生有趣的信息来进一步攻击网络服务器。

XSS 本身不允许您在服务器上执行代码,但它是利用 Web 应用程序中存在的其他漏洞的一个很好的载体。

于 2013-05-15T17:29:16.763 回答
0

XSS 或 SQL 注入等漏洞是更普遍问题的特定实例:将攻击者可控制的文本不正确地连接成其他格式(例如,SQL、HTML 或 Javascript)

如果您的服务器运行任何此类格式(例如,eval()),它可能具有类似的漏洞。

于 2013-05-09T14:08:39.620 回答
0

你的问题的答案并不完全直截了当。

具体来说,不,您不能通过通过其接口注入代码来使用 XSS攻击服务器。

但是,有一些方法可以通过其接口将代码“注入”到服务器中并让服务器运行它。这些技术变化很大且有很大差异,并且高度依赖于实现。

例如,有一个 Web 应用程序允许用户上传图像文件进行显示。Web 应用程序具有“修饰”图像的代码。修饰代码中存在漏洞。恶意用户上传了一个精心准备的恶意 .jpg 文件,该文件溢出了代码中的缓冲区,并从攻击者的机器上挖出了一个外壳。在这种情况下,攻击是通过其界面将代码“注入”到 Web 应用程序中来进行的。

只要您从不处理用户输入(除了将其存储在数据库中并将其返回给其他用户),那么您就应该非常安全地免受此类攻击。可能 99% 的 Web 应用程序需要更担心用户对其他用户的 XSS 攻击,而不是针对自己的代码注入攻击。

于 2013-05-21T21:36:18.317 回答