<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[auth2.0认证]百度开放平台oauth授权接口可以劫持access_token：并没有完全按照Oauth2.0的标准来做造成的。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 14 May 2013 08:22:22 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：&nbsp;&nbsp;要点是：各互联网公司的业务在对Oauth2.0的实现上并没有完全按照Oauth2.0的标准来做。&nbsp;&nbsp;我最近也在研究这一块发现确实也有这样的问题，作下备案。<br/><br/>Oauth2.0相比较Oauth1.0步骤简化，通过HTTPS和限制回调地址来提高安全性。但是各互联网公司的业务在对Oauth2.0的实现上并没有完全按照Oauth2.0的标准来做。所以就会有一些问题存在。比如对回调地址限制不严格就会造成问题。<br/><br/>详细的步骤如下：<br/>1、结合www.hack6.com<br/>2、百度账号可以登录qunar网站，通过百度账号连接服务<br/>3、授权模式中的Implicit grant模式只需要client_id和redirect_uri就可以完成账号的授权流程，从而把获取到的access_token返回到redirect_uri页面中<br/>4、构造如下的URL：<br/>http://openapi.baidu.com/oauth/2.0/authorize?scope=super_msg&amp;response_type=token&amp;client_id=RCKbWANx8KewnXs9rwGWFtZV&amp;redirect_uri=http://lvtu.qunar.com/mobile_ugc/web/album.htm?albumId=4228<br/> <br/>client_id为qunar网的百度应用ID<br/>redirect_uri为获取access_token后的回调地址<br/>response_type=token是采用Implicit grant授权模式<br/>scope为申请的权限<br/>5、可以把该地址发给他人诱使别人连接，最方便的利用是结合点击劫持来让用户完成授权流程。从而劫持到用户的access_token<br/>6、获取到的token可以利用api接口来操作该账号（百度的api少的可怜）。<br/><br/>下面图是劫持后的。<br/> <br/><br/> <br/>修复方案：<br/><br/>1、最好是严格限制redirect_uri，我知道很难。<br/>2、可以在授权页面加入放点击劫持代码，降低风险<br/> <br/>----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br/>现在访问第四步里构造如下的URL地址，出现如下提示：<br/>&nbsp;&nbsp;&nbsp;&nbsp;错误码：1107<br/>&nbsp;&nbsp;&nbsp;&nbsp;错误信息：Invalid Referer<br/>&nbsp;&nbsp;&nbsp;&nbsp;详细描述：当前页面的Referer错误。使用Implicit Grant方式获取Access Token时，Referer必须与应用的根域名绑定同域，请在开发者在应用安全设置中进行绑定。<br/><br/>本文章原创来自：http://www.hack6.com/wzle/gf/2012/baidukaifangpingtaioauthshouquanjiekoukeyijiechiaccess_token_2525525255.html
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [auth2.0认证]百度开放平台oauth授权接口可以劫持access_token：并没有完全按照Oauth2.0的标准来做造成的。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>