微博开放平台
微连接
移动应用
网站接入
电商服务商
电商商家
数据服务
数据服务
合作伙伴
微博支付
轻应用
粉丝服务
文档
推广
我的应用
登录
weibo
开发文档
首页
平台政策与指引
概述
平台公约
新手指南
开发者协议
应用运营管理规范
微连接分级管理办法
应用审核产品指南
应用安全开发注意事项
平台应用设计规范
微服务接入指南
微博登录接入
用微博帐号登录
授权机制
移动应用接入
移动应用介绍
移动应用SSO授权
微博Deep Link
媒体接入平台
头条文章开放接口
视频上传开放接口
电商接入平台
电商服务商接入
电商商家端接入
电商平台能力接口
粉丝服务平台
粉丝服务平台
新手接入指南
微信开发者迁移指南
接收消息
发送消息
自定义菜单
用户管理
生成带参数的二维码
Fans Service Platform
商业接口
商业数据接入指南
订阅服务手册(中文版)
订阅服务手册(英文版)
商业接口-REST API
商业数据常见问题
网站接入
网站接入介绍
微博API
微博API
接口访问频次权限
资源下载
SDK
微博标识下载
常见问题
联系我们
工具箱
链入页面
链出更改
特殊页面
查看源代码
跳转到:
导航
,
搜索
根据下列原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
新浪安全部门一直致力于推动开放平台上的产品安全,使微博应用拥有更好的用户体验和具备更安全的功能。从目前的情况来看,我们发现部分应用存在下面几种常见的安全漏洞或缺陷,这些安全漏洞除了对应用本身带来影响外,也会给用户带来损失。 ==app secret泄露== app_secret是应用请求开放平台生成access_token的唯一认证,使用app_secret目的是确保应用是开发者本人在使用。 不同的应用在开放平台拥有不同的接口调用资源和API权限。如果该应用的接口资源被盗用,进行发布垃圾信息和加关注等恶意操作,开放平台会对应用的资源和权限进行限制,这样会直接影响到该应用的正常API的调用。因此,对于开发者来说,有必要保护自身应用安全,相应的安全资源不被非法使用,从而保障应用的正常运行。 建议把app secret保存在应用服务端,为了更好的保护你的应用安全,建议在管理中心/安全设置中绑定应用的服务器ip。 http://www.sinaimg.cn/blog/developer/wiki/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攻击。 ==用户身份伪造== 完成Oauth 2.0授权认证后,应用方可获得象征用户身份的access_token,一般直接用于接口调用。但部分应用需要获得用户的uid,作为同自身账号体系做关联的认证凭据,以提供更多应用自身的服务内容。典型情况如使用了微博sso sdk的手机应用、网络存储服务型应用。 在此场景下,常见的漏洞有: 1、 客户端直接以授权接口返回的uid或提取access_token中的uid,回传应用自身服务器作为认证凭据。该传输过程可被非法拦截,通过篡改uid伪造用户身份。 2、 客户端将access_token回传自身服务器,服务器提取其中的uid作为认证凭据,但并未校验该access_token的合法性。此时,通过骗取A用户授权X应用,获取access_token后传入Y应用服务器,便可拿到Y应用的A用户凭证,访问Y应用中该用户的服务内容。 修复建议: 1、 不要直接使用没有授权信息的uid来换取自身服务的认证凭据,只能使用access_token进行。 2、 服务器端提取access_token中的uid,需调用开放平台的[[Oauth2/get_token_info|OAuth2/get_token_info]]接口。使用该接口时,需一并查证该access_token所属的appkey是否为自己的客户端应用appkey。Appkey来源相符的才允许换取自身服务的认证凭据。 3、 对所有已存入的绑定access_token进行核查,发现access_token中的新浪uid和绑定新浪uid不一致、非自身客户端应用appkey授权的access_token、过期access_token等异常情况均需要全部撤消,要求这些异常用户重新授权登录。 ==点击劫持漏洞== 恶意站点通过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、弹出加关注确认,并给出被关注者的昵称。 应用安全涉及的范围比较广,开发者除了要注意避免掉上面常见的安全问题外,也应该关注最新安全趋势,了解自身产品的安全缺陷,更重要的提升产品和开发人员的安全意识,只有这样,才尽可能的减少安全问题产生。如果出现安全漏洞,可以及时联系我们,我们会第一时间提供解决方案。 欢迎大家和我们保持联系 [http://e.weibo.com/sinasec?ref=http%3A%2F%2Fe.weibo.com%2Fopenapi%3Fref%3Dhttp%253A%252F%252Fs.weibo.com%252Fuser%252F%252525E5%252525BE%252525AE%252525E5%2525258D%2525259A%252525E5%252525BC%25252580%252525E6%25252594%252525BE%252525E5%252525B9%252525B3%252525E5%2525258F%252525B0%2526Refer%253Dweibo_user @新浪安全]或进入[http://open.weibo.com/qa 微博开放平台问答系统]。
返回到
应用安全开发注意事项
。
反馈
分享
顶部