修复方案:对于不需要外部加载资源的网站,crossdomain.xml中更改allow-access-from的domain属性为域名白名单。
修复大致样本参考如下(备注:示例中的app10000.qzoneapp.com,app10000.imgcache.qzoneapp.com请修改为自己指定的站点):
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from secure="false" domain="*.qq.com"/>
<allow-access-from secure="false" domain="*.soso.com"/>
<allow-access-from secure="false" domain="*.paipai.com"/>
<allow-access-from secure="false" domain="*.gtimg.cn"/>
<allow-access-from secure="false" domain="*.pengyou.com"/>
<allow-access-from secure="false" domain="app10000.qzoneapp.com"/>
<allow-access-from secure="false" domain="app10000.imgcache.qzoneapp.com"/>
</cross-domain-policy>
1. allowScriptAccess:是否允许flash访问浏览器脚本。如果不对不信任的flash限制,默认会允许调用浏览器脚本,产生XSS漏洞。
always(默认值),总是允许;sameDomain,同域允许;never,不允许
2. allowNetworking:是否允许flash访问ActionScript中的网络API。如果不对不信任的flash限制,会带来flash弹窗、CSRF等问题。
all,允许所有功能,会带来flash弹窗危害;internal,可以向外发送请求/加载网页;none,无法进行任何网络相关动作(业务正常功能可能无法使用)
修复方案:对于不信任flash源,allowScriptAccess设置为never,allowNetworking设置为none(业务需要可以放宽为internal)。
(2)embed标签配置不当漏洞。
名称:embed标签配置不当漏洞
描述:网页会通过embed标签引入媒体文件(如rm、avi等视频音频),这些媒体文件中如有脚本指令(弹窗/跳转),如果没有限制就会出现安全问题。
检测方法:检查embed标签中是否有invokes标签。
修复方案:添加属性invokes值为-1。
(3) 并发漏洞
攻击者通过并发http/tcp请求而达到次获奖、多次收获、多次获赠等非正常逻辑所能触发的效果。
描述:攻击者通过并发http/tcp请求而达到次获奖、多次收获、多次获赠等非正常逻辑所能触发的效果。
下面以简化的例子说明在交易的Web应用程序中潜在的并行问题,并涉及联合储蓄帐户中的两个用户(线程)都登录到同一帐户试图转账的情况:
帐户A有100存款,帐户B有100存款。用户1和用户2都希望从帐户A转10分到帐户B.
如果是正确的交易的结果应该是:帐户A 80分,帐户B 120分。
然而由于并发性的问题,可以得到下面的结果:
用户1检查帐户A ( = 100 分)
用户2检查帐户A ( = 100 分)
用户2需要从帐户A 拿取10 分( = 90 分) ,并把它放在帐户B ( = 110 分)
用户1需要从帐户A 拿取10分(仍然认为含有100 个分)( = 90 分) ,并把它放到B( = 120 分)
结果:帐户A 90 分,帐户B 120 分。
检测方法:发送并发http/tcp请求,查看并发前后CGI 功能是否正常。例如:并发前先统计好数据,并发后再统计数据,检查2次数据是否合理。
修复方案:对数据库操作加锁。
(4)cookie安全性漏洞
cookie的属性设置不当可能会造成其他SNS游戏的运行出错等安全隐患。
修复方案:对cookie字段的domain属性做严格的设定,openkey以及openid的domain只能设置到子域,禁止设置到父域qzoneapp.com。如下图所示:
(5)Frame-proxy攻击漏洞
在一些老版本浏览器(比如IE6)下,Frame-proxy攻击可以把非常驻XSS漏洞以常驻型的方式做攻击。
修复方案:qzoneapp.com域名下的应用不能再通过iframe嵌入qq.com域名下页面。
原理如下图所示,假设域名xiaoyou.qq.com底下没有任何xss漏洞,然后xiaoyou.qq.com通过iframe嵌入了一个xxx.qzoneapp.com域名。
假设qq.com的某个子域vul.qq.com存在一个非常驻的xss漏洞,那么当xxx.qzoneapp.com通过iframe嵌入vul.qq.com时,访问xiaoyou.qq.com域名的用户将受到常驻型XSS漏洞的攻击。
原文见:http://wiki.open.qq.com/wiki/Web漏洞检测及修复
5. 其他
(1) 文件include漏洞。
文件包含是指程序代码在处理包含文件的时候没有严格控制。导致用户可以构造参数包含远程代码在服务器上执行,进而获取到服务器权限,造成网站被恶意删除,用户和交易数据被篡改等一系列恶性后果
修复:
PHP:配置php.ini关闭远程文件包含功能(allow_url_include = Off)