十大Web 2.0攻击向量

转一篇对web 2.0网站很有用的安全相关的文章


[来源:思归呓语]


Plip提到了一篇名为《Top 10 Web 2.0 Attack Vectors》的文章,对十大Web 2.0攻击向量做了综述:

1. AJAX中之跨站脚本攻击
例子, Yamanner蠕虫利用了Yahoo Mail的AJAX的跨站脚本漏洞,Samy蠕虫利用了MySpace.com的跨站脚本漏洞。

2. XML 中毒(poisoning)
攻击者可以通过复制节点进行DOS攻击,或者生成不合法的XML导致服务器端逻辑的中断。攻击者也可以操纵外部实体,导致打开任何文件或TCP连接端口。XML数据定义的中毒也可以导致运行流程的改变,助攻击者获取机密信息。

3. 运行恶意的AJAX编码
AJAX编码可以在不为用户所知的情形下运行,假如用户先登录一个机密网站,机密网站返回一个会话cookie,然后用户在没有退出机密网站的情形下,访问攻击者的网站,攻击者网页上的AJAX编码可以(通过这个会话cookie?)去访问机密网站上的网页,从而窃取用户的机密信息。(注:这里的解释有点含糊,理论上讲,浏览器不会把一个网站的会话cookie传给另外一个网站的,即文中的这句“When the browser makes an AJAX call to any Web site it replays cookies for each request. ”,不完全对)

4. RSS / Atom 注入
攻击者可以在RSS feeds里注入Javascript脚本,如果服务器端没有过滤掉这些脚本的话,在浏览器端会造成问题。

5. WSDL扫描和枚举
WSDL提供了Web服务所用的技术,以及外露的方法,调用的模式等信息。假如Web服务对不必要的方法没有禁止的话,攻击者可以通过WSDL扫描找到潜在的攻击点。

6. 客户端AJAX编码中的数据验证
假如开发人员只依赖客户端验证,不在服务器端重新验证的话,会导致SQL注入,LDAP注入等等。

7. Web服务路由问题
Web服务安全协议使用WS-Routing服务,假如任何中转站被攻占,SOAP消息可以被截获。

8. SOAP消息的参数操作
类似于SQL注入,假如对SOAP消息里节点的数据不做验证的话。

9. SOAP消息的XPATH注入
类似于SQL注入,假如对数据不做验证而直接做XPATH查询的话。

10. 对RIA胖客户端二进制文件操作
因为Rich Internet Applications的组件是下载到浏览器本地的,攻击者可以对二进制文件进行逆向工程,反编译编码,通过改动文件,跳过认证逻辑 。