开发微信公众平台时需要注意的安全问题
2013-07-24 21:11
567 查看
申请公众平台开发者模式需要填写一个URL和一个Token, 见下图:
如果这个URL和Token被别人猜中了, 并且你不判断消息中的ToUserName属性是否跟你微信号相配, 那么别人的公众帐号申请开发者时填写你的URL和你的Token, 别人的公众帐号就能把你公众帐号的功能盗用了.
关键是不要让别人根据你的链接猜到你申请开发者时填写的URL, 在我看来, 以下格式的URL都相对不安全的:
http://www.XX.com/
http://www.XX.com/微信号
http://www.XX.com/微信号/weixin.aspx
http://www.XX.com/微信号/weixin.ashx
http://www.XX.com/微信号/weixin.php
http://www.XX.com/微信号/微信号.aspx
http://www.XX.com/微信号/微信号.ashx
http://www.XX.com/微信号/微信号.php
等等…
在群里经常听别人说图省事, 直接把echostr返回, 根本没顾忌这样做所带来的后果. 如果别人知道了你的URL, 随便填一个Token, 他就顺利验证成功了.
123
123456
abc
微信号
微信号123
等等...
如果不巧, 上面两点你都没有注意, 别人可能就会得逞. 上午我就测试了一个, 猜了一次就成功了.
有人说你不是知道了我的URL和Token, 我改一下Token你不就没用了么. 关键问题是别人之前用你的URL和Token验证成功了, 微信一旦认为你成功了, 以后还会再次验证这个URL和Token么? 所以微信每条消息返回的ToUserName属性不是没用的, 你的程序应该判断是否跟你的微信号相配.
如果你的URL和Token暴露了, 又没有判断ToUserName, 那么你的益达就真的是别人的益达了.
本文链接: http://www.cnblogs.com/technology/p/wenxin_security.html
如果这个URL和Token被别人猜中了, 并且你不判断消息中的ToUserName属性是否跟你微信号相配, 那么别人的公众帐号申请开发者时填写你的URL和你的Token, 别人的公众帐号就能把你公众帐号的功能盗用了.
URL
你的微信号有时会要求用户绑定一些信息, 一般都是一个HTML5的网页, 这条微信内容其实就是一段HTML. 问题是复制这条消息到其它文本框中, HTML是暴露的, 你的<a href=”XXX”>XXX</a>会暴露出来, 所以别人可以轻而易举的拿到链接地址.关键是不要让别人根据你的链接猜到你申请开发者时填写的URL, 在我看来, 以下格式的URL都相对不安全的:
http://www.XX.com/
http://www.XX.com/微信号
http://www.XX.com/微信号/weixin.aspx
http://www.XX.com/微信号/weixin.ashx
http://www.XX.com/微信号/weixin.php
http://www.XX.com/微信号/微信号.aspx
http://www.XX.com/微信号/微信号.ashx
http://www.XX.com/微信号/微信号.php
等等…
Signature
在群里经常听别人说图省事, 直接把echostr返回, 根本没顾忌这样做所带来的后果. 如果别人知道了你的URL, 随便填一个Token, 他就顺利验证成功了.
Token
Token建议使用随机字符串, 以下格式的Token都是相对不安全的:123
123456
abc
微信号
微信号123
等等...
如果不巧, 上面两点你都没有注意, 别人可能就会得逞. 上午我就测试了一个, 猜了一次就成功了.
ToUserName
有人说你不是知道了我的URL和Token, 我改一下Token你不就没用了么. 关键问题是别人之前用你的URL和Token验证成功了, 微信一旦认为你成功了, 以后还会再次验证这个URL和Token么? 所以微信每条消息返回的ToUserName属性不是没用的, 你的程序应该判断是否跟你的微信号相配.
如果你的URL和Token暴露了, 又没有判断ToUserName, 那么你的益达就真的是别人的益达了.
给微信的建议
1. URL必须是唯一的
A帐号已经用这个URL成功激活开发者模式, 就不应该允许另一个B帐号再用这个URL来激活开发者模式.2. Token由公众平台生成
可以在用户输入URL之后, 系统为用户生成Token. 用户在自己的系统中改好Token后再验证, 这样可以保证Token的随机.本文链接: http://www.cnblogs.com/technology/p/wenxin_security.html
相关文章推荐
- 开发微信公众平台时需要注意的安全问题
- PHP开发需要注意的安全问题
- 浅谈Android开发中需要注意的安全问题
- 开发网站需要注意的安全问题
- 开发过程中需要注意的安全问题
- Web开发中需要注意的安全问题
- PHP开发需要注意的安全问题
- PHP开发需要注意的安全问题
- 开发网站需要注意的安全问题
- WEB开发中需要注意哪些安全问题?
- Web开发最常见的需要注意的安全问题
- 【◎windows服务器 八个需要注意的安全维护问题◎】
- 手机网站开发中需要注意的7个问题
- 开发单点登录系统(SSO)时需要注意的几个问题
- ASP.NET安全[开发ASP.NET MVC应用程序时值得注意的安全问题](转)
- Hadoop伪分布式配置及与Eclipse集成开发需要注意的问题
- [随记]web开发需要注意请求参数编码问题
- web开发需要注意/n的问题
- 关于EAS Bos工作区间和开发平台移动需要注意的问题