2013-05-09 44 views
1

嗨,XSS攻击被视为来自客户机器的攻击。但是有没有办法对服务器进行XSS攻击?XSS可以在服务器上执行吗?

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

+0

大多数简单的应用程序仍然使用数据库。 – SLaks 2013-05-09 14:07:19

+0

您可能会感兴趣http://msdn.microsoft.com/en-us/magazine/ee335713.aspx – SLaks 2013-05-09 14:09:07

回答

0

的漏洞像XSS或SQL注入是一个更一般的问题的具体事例:不当串联攻击者控制的文本转换成其他格式(例如,SQL,HTML或JavaScript)

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

2

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

在网站上拥有XSS就像控制用户在访问它时所执行的JavaScript。如果管理员在您的XSS代码上发生了绊倒(通过发送恶意链接或通过存储的XSS),那么您可以让他或她在网络服务器上执行请求或操作,而普通用户通常无法访问。如果您足够了解网页布局,则可以代表访问者请求网页(后端,用户列表等),并将结果发送(扫描)到互联网上的任何位置。

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

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

0

您的问题的答案并非完全简单。

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

但是,有些方法可以通过其接口将代码“注入”服务器并让服务器运行它。这些技术差别很大,实质性很大,并且依赖于实施。

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

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

相关问题