应用安全开发注意事项

跳转到: 导航, 搜索
(点击劫持漏洞)
第1行: 第1行:
新浪安全部门一直致力推动开放平台上的安全,使微博应用拥有更好的用户体验和具备更安全的功能。从目前的情况来看,我们发现部分应用存在下面几种常见的安全漏洞或缺陷,这些安全漏洞除了对应用本身带来影响外,也会给用户带来损失。
+
新浪安全部门一直致力于推动开放平台上的产品安全,使微博应用拥有更好的用户体验和具备更安全的功能。从目前的情况来看,我们发现部分应用存在下面几种常见的安全漏洞或缺陷,这些安全漏洞除了对应用本身带来影响外,也会给用户带来损失。
  
 
==app secret泄露==
 
==app secret泄露==

2012年12月21日 (五) 17:04的版本

新浪安全部门一直致力于推动开放平台上的产品安全,使微博应用拥有更好的用户体验和具备更安全的功能。从目前的情况来看,我们发现部分应用存在下面几种常见的安全漏洞或缺陷,这些安全漏洞除了对应用本身带来影响外,也会给用户带来损失。

目录

app secret泄露

app_secret是应用请求开放平台生成access_token的唯一认证,使用app_secret目的是确保应用是开发者本人在使用。


不同的应用在开放平台拥有不同的接口调用资源和API权限。如果该应用的接口资源被盗用,进行发布垃圾信息和加关注等恶意操作,开放平台会对应用的资源和权限进行限制,这样会直接影响到该应用的正常API的调用。因此,对于开发者来说,有必要保护自身应用安全,相应的安全资源不被非法使用,从而保障应用的正常运行。


建议把app secret保存在应用服务端,为了更好的保护你的应用安全,建议在管理中心/安全设置中绑定应用的服务器ip。


anquan1.png


如果发现应用的app secret被泄露,请立即到应用管理中心进行重置 http://open.weibo.com/apps/


app secret泄露的常见原因:

1、app secret出现在页面源代码或者url中,导致直接查看源代码即获得。

2、app_secret保存在客户端本身程序中,所有的本机应用程序(如iOS,Android或Windows桌面应用程序),都可以反编译的代码获得。

3、未使用HTTPS安全传输协议,攻击者通过网络嗅探获得。

access_token泄露

access_token是用户通过应用访问开放平台的会话标识,应用程序要做好保护工作,防止被第三方窃取。


常见的access_token泄露途径:

1、access_token保存在cookie或者页面代码中,攻击者通过xss漏洞窃取用户token。

2、应用服务器存在sql注入漏洞,导致用户token泄露。


绑定微博用户CSRF漏洞

如果你的应用有自己的账户体系,并且有绑定微博用户登陆这个功能,请检查绑定接口是否有防止CSRF攻击的功能。授权接口state参数的可以用来防止授权过程CSRF攻击,具体详细的使用方法,可以参考最新版SDK代码,https://github.com/ElmerZhang/WeiboSDK。


加关注发微博CSRF漏洞

关于CSRF漏洞的更多介绍可以参考这里。 http://baike.baidu.com/view/1609487.htm


微博应用的CSRF漏洞常见于加关注和发微博等写入接口处,用户看到的现象是微博多了一些莫名的关注,或者转发了一些营销微博。


开发者可以通过检查referer是否合法或者在表单中加入csrf_token方式来防御CSRF攻击。

点击劫持漏洞

恶意站点通过iframe的方式嵌套微博应用站点,利用HTML透明覆层等技术,劫持用户的点击操作。从而达到诱导用户执行恶意加关注目的。


修复建议:


1、不需要被iframe的应用,可选用下面之一的方法。

    • a、header头声明 header( "X-FRAME-OPTIONS:DENY");
    • b、JS判断当前页面是否被iframe,示例代码: if(top.location!=location){top.location=locaiton;}


2、需要被iframe的产品。

    • a、判断父窗口是否是允许的页面;
    • b、弹出加关注确认,并给出被关注者的昵称。


应用安全涉及的范围比较广,开发者除了要注意避免掉上面常见的安全问题外,也应该关注最新安全趋势,了解自身产品的安全缺陷,更重要的提升产品和开发人员的安全意识,只有这样,才尽可能的减少安全问题产生。如果出现安全漏洞,可以及时联系我们,我们会第一时间提供解决方案。


欢迎大家和我们保持联系 @新浪安全或进入微博开放平台问答系统