首页
社区
课程
招聘
[原创]Web登录安全隐患分析和POC
发表于: 2012-9-28 22:00 28988

[原创]Web登录安全隐患分析和POC

2012-9-28 22:00
28988
收藏
免费 6
支持
分享
最新回复 (30)
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
附件在哪
2013-8-1 14:27
0
雪    币: 239
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
27
楼主,你的命题是伪命题

我来解释一下web安全传送体系,
web安全传送的基础功能是https,
https的安全是建立在一定的基础安全之上的,如果你把这个安全基础给剥离了,再来研究它的安全性,就没有必要了,
https安全的基础 是,
1.dns安全,确保用户访问的是正确的url
2.证书安全,确保用户访问对应的url证书合法。不正确的证书,浏览器会提示
3.用户操作安全,不被人身威胁,并且对于不合法的url能正确认知
4.用户不被诱导至错误操作

如果以上4个保证不了,https自然就不安全了。
在实际使用中
https通过数学算法来保证证书不被经易伪造,并通过这个不易伪造的证书来确保url不易伪造性,因为证书中包含url
如果你伪造一个证书,并伪造一个web服务器,通过修改dns让用户来访问你的伪造web,那么,因为你的证书是伪造的,所以用户那里会提示,按照https初忠,用户发现伪造的web,就应该了解它是不安全的。

所以,楼主中所讲的https部分,我不是很同意你的意见。https本身是安全的,你的试验,是一个不安全的基础上去讨论https安全,就像v校所说的,只要能注入并hook,所谓的安全都不存在了。如果能注入hook,那么,说明这个基础是不安全的。那么,在这个不安全基础上的东西,自然就不安全了。楼主并不能说明淘宝的登陆方式采用https而不安全。要是按楼主这么想法,现在这个世界上,如果在时间上不作限制,是没有安全而言,跟本就不存在所谓的绝对安全,

然而遗憾的是登陆数据包是可以被截获的,即便使用了https加密通道。

我很遗憾地告诉 你,在安全的基础 上时,你是不能截获https明文数据的,你的方法1中,是建立在一个不安全的基础 上,那就是用户认为你的代理就是合法web的基础上,你的命题是伪命题

现在的网络安全,是在一定时效与成本内,它是安全的。

所以,楼主 的解决方案,如果在楼主的命题基础 上,还是不安全,为什么不安全呢,下面给你讲解。
首先,一个不安全的基础 就是,我能架设代理,并且让你访问我,而且认为我就是真的服务器。

你的方法如下


一家韩国游戏公司的登陆设计可以用来参考。登陆地址https://nid.naver.com/nidlogin.login
他的登陆过程分为两步, 首先从www.nid.naver.com/login/ext/keys.nhn 获取公钥加密key
然后利用上一步得到的key加密用户名和密码,提交加密后的用户名和密码到www.nid.naver.com/nidlogin.login。由此得到的登陆信息是动态变化的,不可重放


我的代理中生成公钥和私钥。
当你访问www.nid.naver.com/login/ext/keys.nhn 获取公钥加密key (当然,这是我的代理哟)
我把我生成的公钥地给人你,你加密吧,加密后发给我,我用私钥解码,就能得到你的用户名密码,有了用户名,密码,你不让去登陆真正的web吗?

评价你的解决方案:多此一举
2013-8-3 21:51
0
雪    币: 324
活跃值: (113)
能力值: ( LV15,RANK:280 )
在线值:
发帖
回帖
粉丝
28
难得有这么认真的回复。这篇文章能能抛砖引玉的引起你这么有价值的评价也算是价值之一吧。

我完全赞成你安全无绝对的说法,所谓安全都是建立在一定的前提条件下的。提高安全性其实就是提高安全威胁的成本。是否应该考虑在安全基础可能不存在的情况下也尽量做到保护数据,比如zeus(zbot)在世界范围内都流行了很久,当遇到zbot的时候支付宝和亚马逊的方式都不能抵挡,敏感信息惨遭截获,并且能够被利用。不管怎么说zeus存在的事实告诉我们安全登录不能仅仅是HTTPS。支付宝在使用了HTTPS基础上还对登录password进行了加密,不知他是否是意识到仅仅是https还不够。但他初衷肯定是想到了进一步提高安全性。然而加密后的密文却是永远不变,可见是使用的固定密钥加密,重放密文依然能成功登陆。加密变成了编码。如同将重要信息从URL中搬到了POST请求中。

曾经遇到过一个网络考试项目,使用flash,可以理解成类似网上的小游戏,使用HTTPS传送数据。这时可以架设代理,在用户的主动配合下修改传送数据,轻易的完成对服务器的欺骗。

“我的设计使用的是HTTPS,能保证数据的机密性和完整性,不可能被窃取,不可能被修改”,我想说的是这样说是不对的。 希望设计者考虑到https在实际应用(并非存理论上)可能遇到的问题,做出适合自己安全级别的防护。
2013-8-4 00:34
0
雪    币: 324
活跃值: (113)
能力值: ( LV15,RANK:280 )
在线值:
发帖
回帖
粉丝
29
再简单的说吧,当支付宝邂逅zbot,玩完!这就是所说的安全隐患~
2013-8-4 01:07
0
雪    币: 239
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
30
就你对登陆过程中解决密码不泄露的问题,你提提示的方法,不是很好,我的回复中已说明了,你的方法安全强度和支付宝是一样的,
其实你可以参考一下QQ客户端密码验证方式,QQ密码验证的时候,密码是不会被传送的, 不会明文传送 ,也不会加密传送 ,他会将密码hash作为key对数据进行加密,在服务器端,需要密码hash作为key来解码这个加密数据,如果解码成功,认为密码正确,这样的方式应该会比较安全,因为他的密码不存在传送的过程,
针对这样的方式,一样的破解方式 ,只是时间成本相当地高,这事我干过,时间成本相当 于暴力破解key的过程。
2013-8-4 15:22
0
雪    币: 224
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
公钥加密Key然后加密用户名和密码,估计成本比较高,而且并发有限制,不然为什么淘宝,亚马逊等顶尖公司不用呢?
2018-4-8 23:50
0
游客
登录 | 注册 方可回帖
返回
//