找回密码
 注册
搜索
日志综合审计数据库安全审计运维堡垒机域名&虚拟主机游侠安全网
查看: 5557|回复: 1

web防护之xss

[复制链接]
发表于 2012-11-26 15:50:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
一、什么是XSS攻击
跨站脚本攻击(Cross Site Scripting),XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

二、XSS攻击的危害
盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
盗窃企业重要的具有商业价值的资料
非法转账电子邮件
强制发送网站挂马
控制受害者机器向其它网站发起攻击

三、XSS漏洞的分类
1、本地利用漏洞:
    这种漏洞存在于页面中客户端脚本自身。
攻击过程:
     H给U发送一个恶意构造了Web的URL。
     U点击并查看了这个URL。
     恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在U电脑上。
    具有漏洞的HTML页面包含了在U电脑本地域执行的JavaScript。
    H的恶意脚本可以在U的电脑上执行U所持有的权限下的命令。
2、存储式漏洞:
      该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。
攻击过程:
     A拥有一个Web站点,该站点允许用户发布信息/浏览已发布的信息。
     H注意到A的站点具有存储式XXS漏洞。
     H发布一个热点信息,吸引其它用户纷纷阅读。
     A或者是任何的其他人U浏览该信息,其会话cookies或者其它信息将被H盗走。  
反射式漏洞:
   类似存储式漏洞,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能注入到动态页面中。
攻击过程:
     U经常浏览某个网站A。U使用用户名/密码进行登录,并存储敏感信息(比如银行帐户信息)在网站A中。
     H发现A站点包含反射性的XSS漏洞,编写一利用漏洞的URL,并将其冒充为来自A的邮件给U。
     U在登录到A的站点后,浏览H供的URL。
    嵌入到URL中的恶意脚本在U的浏览器中执行,然后在U完全不知情的情况下将这些信息发送到H的Web站点。

四、常见XSS
1、Reflected XSS Attacks
也被称为None-Persistent cross-site scripting,即,非持久化的XSS攻击,是我们通常所说的,也是最常用,使用最广的一种方式。它通过给别人发送带有恶意脚本代码参数的URL,当 URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。

2、Cross-site request forgery
跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。
同源策略是一个在多数浏览器中实施的概念,但它可被XSS攻击利用(它利用了一个用户对于某个网站或应用程序的信任),也可被XSRF利用(它利用了网站或应用程序对用户的信任)
网站是通过cookie来识别用户的,当用户成功进行身份验证之后浏览器就会得到一个标识其身份的cookie,只要不关闭浏览器或者退出登录,以后访问这个网站会带上这个cookie。如果这期间浏览器被人控制着请求了这个网站的url,可能就会执行一些用户不想做的功能(比如修改个人资料)。因为这个不是用户真正想发出的请求,这就是所谓的请求伪造。因为这些请求也是可以从第三方网站提交的,所以前缀跨站二字。

3、CSRF Prompt By-Pass
执行跨站点请求伪造(CSRF)攻击,其中包含多个请求,来绕过确认信息。
举例:执行两个请求,一个转移资金,一个确认转移情况。

4、CSRF Token By-Pass
一些网站上使用token来减轻CSRF攻击CSRF攻击,但易受为CSS的攻击。利用同源策略,访问同源的页面,伪造命令需要知道一个隐藏的CSRFToken参数(这个参数是变化的)。

五、XSS攻击防御
基于特征的防御
     XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难:不可能以单一特征来概括所有XSS攻击。传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。
基于代码修改的防御
     和SQL注入防御一样,XSS攻击也是利用了Web页面的编写疏忽,所以还有一种方法就是从Web应用开发的角度来避免。
回复

使用道具 举报

发表于 2012-11-26 19:50:11 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|首席信息安全官 ( 陕ICP备11003551号-4 )

GMT+8, 2024-4-26 09:40 , Processed in 0.018637 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表