想研究一下登录的加密机制是怎么样的,抓了v2ex的登录的包,密码竟然是明文的...

2013-10-22 17:35:30 +08:00
 ryanking8215
4596 次点击
所在节点    程序员
14 条回复
vileer
2013-10-22 17:43:16 +08:00
囧,http是明文传输,https才是加密的,要用http实现加密传输密码,只能用js预处理,但这几乎只能防君子,防不了小人,或者使用专用客户端,但是lz愿意在非手机,平板上为了浏览v2ex而另外再开一个软件吗?
ryanking8215
2013-10-22 20:38:09 +08:00
我一直以为是使用挑战模式,貌似很多协议都这样的,sip,stun/turn等。也没见密码用明码。难道gmail,baidu,weibo什么都是web上都是明码的吗?
或者换个问题,一般这种web 登录有没有通用或者常用的方法?
akira
2013-10-22 21:04:01 +08:00
通用模式就是,强制登录部分使用https
happyz90
2013-10-22 22:25:37 +08:00
http的都是明文的吧,除非装个什么密码输入插件。。。
vileer
2013-10-23 00:00:14 +08:00
@ryanking8215 一般web都是明文传输的,所以有些网站会要求安装密码控件
g0t3n
2013-10-23 11:52:32 +08:00
@vileer 其实可以参考下weibo的思路,用js加密,这样攻击者攻击成本就高得多,利用rsa之类非对称实现或者tea加密等很简单,现代的手机浏览器都支持js了(chrome,uc),甚至https也ok了
ryanking8215
2013-10-23 13:23:37 +08:00
先不说https,那个是整个http协议报文都加密了。

我就是说普通的http模式下,密码不是不应该明文传的么?
大家貌似把报文加密和密码是否明码弄混了。

比如第一次Login时认证失败401,服务器传nonce,realm等,然后再次Login使用nonce,realm,把密码和这些字符一起散列得到随机字符,如果登录成功,服务器回一个hashtoken,以后每次请求都带有hashtoken,这样密码就不需要明文传了。这是标准的挑战模式,难道不是这么做的吗?
vileer
2013-10-23 13:51:09 +08:00
@ryanking8215 你说的有点类似于oauth验证,这也是一个方法,但是在报文有可能被截取且不加密的完全不可信环境下还是 @g0t3n 的非对称加要好点,不过说到底还是一个实现成本跟必要性的问题,一般网站直接post 登录表单没什么问题而跟钱相关(购物,银行)再严密都不为过
angelface
2013-10-23 16:17:08 +08:00
@ryanking8215 ActiveX
Virtao
2013-10-23 19:11:40 +08:00
记得有些系统将密码转为MD5,不过这样应该防不了中间人攻击。还是https比较靠谱些。
fucker
2013-10-24 16:59:05 +08:00
ActiveX +1008611
个人认为flash也可以解决这个问题。
fucker
2013-10-24 17:07:47 +08:00
下面的是说给楼主的:一个网站的用户密码加密机制,99.999%的网站你在客户端是绝对无法找到的。全部都在服务端完成。楼上几位仁胸都说了http协议本身就是加密传输的。
http://www.v2ex.com/settings 在这里可以设置是否选用ssl 加密。你可以选用加密,然后再抓包看看。
woaiguzi
2013-10-24 20:41:54 +08:00
那些用明文传密码的开发者都应该去看RFC2617的Digest Auth
xjay
2013-10-25 11:17:38 +08:00
普通http请求下,可以先用js加密一下密码吧,一般都是这么做的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/86468

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX