搜索
bottom↓
回复: 66

强烈建议 嘉立创 登录强制使用https

[复制链接]

出0入0汤圆

发表于 2015-4-21 11:02:23 | 显示全部楼层 |阅读模式
今天无聊看了下  发现登录使用的是http  这有很大的风险 建议强制使用https  加密

图片1.png

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2015-4-21 11:07:44 | 显示全部楼层
http不都这样。

出0入0汤圆

 楼主| 发表于 2015-4-21 11:09:36 | 显示全部楼层

所以才建议,或者采用在本地对用户名和密码加密后上传

出0入12汤圆

发表于 2015-4-21 11:10:16 | 显示全部楼层
Vmao 发表于 2015-4-21 11:09
所以才建议,或者采用在本地对用户名和密码加密后上传

谢谢建议,非常有必要

出0入0汤圆

发表于 2015-4-21 11:12:50 | 显示全部楼层
不知道https会不会对服务器造成压力,淘宝京东都没有用https,百度也是不久前才用https

出0入90汤圆

发表于 2015-4-21 11:15:44 | 显示全部楼层
至少也要搞个MD5拿回去比较吧,直接明文传回去了

出0入0汤圆

发表于 2015-4-21 11:17:44 | 显示全部楼层
看来数据库也是文明的呀,md5下多好

出0入0汤圆

发表于 2015-4-21 11:22:57 | 显示全部楼层
必须用https, 不给坏人留任何机会

出0入0汤圆

发表于 2015-4-21 11:50:34 | 显示全部楼层
从截图看,似乎不是用不用HTTPS的问题,而是明文传密码的问题。。。

出0入0汤圆

发表于 2015-4-21 12:04:08 | 显示全部楼层
bbglx 发表于 2015-4-21 11:12
不知道https会不会对服务器造成压力,淘宝京东都没有用https,百度也是不久前才用https ...

淘宝的登录页面是加密的.

出300入477汤圆

发表于 2015-4-21 12:17:41 | 显示全部楼层
简单点,把密码用MD5处理一下就行了
网页通过JS做MD5

出0入0汤圆

发表于 2015-4-22 01:37:05 来自手机 | 显示全部楼层
楼主  你这是啥软件

出50入0汤圆

发表于 2015-4-22 08:47:54 | 显示全部楼层
这个的确需要改进

出0入0汤圆

发表于 2015-4-22 08:49:09 | 显示全部楼层
楼主  你这是啥软件

出0入0汤圆

发表于 2015-4-22 09:05:02 | 显示全部楼层
bbglx 发表于 2015-4-21 11:12
不知道https会不会对服务器造成压力,淘宝京东都没有用https,百度也是不久前才用https ...

淘宝,京东都是HTTPS登陆。

出0入0汤圆

发表于 2015-4-22 09:37:50 | 显示全部楼层
bccdn 发表于 2015-4-22 09:05
淘宝,京东都是HTTPS登陆。

用普通电话说中文 vs 用保密电话说中文 vs 用普通电话说鸟语 vs 用保密电话说鸟语,考虑不懂鸟语只会中文的人来窃听。类比HTTP/HTTPS,明文/密文的组合。

用HTTPS,最大的意义应该在于基本确保用户始终是在和受信任的,已知的对方进行通信;链路加密是一个优秀的附加值。
HTTPS传明文依然是不足够安全的举动,因为服务器端可能明文保存密码不是?

出0入42汤圆

发表于 2015-4-22 09:50:15 | 显示全部楼层
https有不少额外开销,而且还要证书,12306到今天都还是自己签名的山寨证书。

11楼有道理
客户端javascript对密码和服务器发来的的随机数一起做MD5后提交,可防中间人偷看密码。

出0入0汤圆

发表于 2015-7-12 11:13:33 | 显示全部楼层
redroof 发表于 2015-4-21 12:17
简单点,把密码用MD5处理一下就行了
网页通过JS做MD5

别人抓包之后直接提交md5不是一样登录吗?

出0入0汤圆

发表于 2015-7-12 11:41:31 | 显示全部楼层
使用https已经是大势所趋的了

出0入198汤圆

发表于 2015-7-12 13:31:54 | 显示全部楼层
第一步要把用户名及密码用非对称加密,不能明文传输。

出300入477汤圆

发表于 2015-7-12 14:54:19 来自手机 | 显示全部楼层
dawanpi 发表于 2015-7-12 11:13
别人抓包之后直接提交md5不是一样登录吗?

每次生成登录页面带一个随机数就行了,
这样你就不能重放之前抓的包了

出300入477汤圆

发表于 2015-7-12 15:07:31 来自手机 | 显示全部楼层
albert_w 发表于 2015-4-22 09:50
https有不少额外开销,而且还要证书,12306到今天都还是自己签名的山寨证书。

11楼有道理

12306完全有钱买个商业证书啊,明显应该是他们故意不这么干。
我是铁老大,我就要自己签发根证书!你都得相信我!凭什么要我花钱找老外的认证公司来给我发证书?

出0入0汤圆

发表于 2015-7-12 15:50:29 | 显示全部楼层
limeng 发表于 2015-4-21 11:10
谢谢建议,非常有必要

银行的网银一般会选择使用更加可靠的,国际通行的,口碑良好的大型证书机构。
个人网站、博客也有见过买证书用HTTPS的,一般选择性价比较高,价格低的。
我觉得嘉立创可以根据自己的需求选择一下。

以下说几个我见到过的价格应该比较合理的证书机构吧:
境外:
个人不建议选择VeriSign,VeriSign的OCSP认证服务器貌似在国内被屏蔽了,可能会导致网站加载时间很长。
COMODO: https://www.comodo.com/
GeoTrust旗下RapidSSL: https://www.rapidssl.com/
境内:
不要选择CNNIC (中国互联网信息中心)(因假证书事件,已被Firefox/Chrome撤销信任)、SRCA(铁道部自己搞的)、SFCA(中国金融认证,这个貌似只给银行和税务)。
沃通(国内小银行在用,例如上海银行):https://www.wosign.com/

出150入8汤圆

发表于 2015-7-12 16:00:47 | 显示全部楼层
02015678 发表于 2015-7-12 15:50
银行的网银一般会选择使用更加可靠的,国际通行的,口碑良好的大型证书机构。
个人网站、博客也有见过买 ...

不是证书的价格问题,而是服务器成本 以及IT开发的成本

比如 https://easyeda.com/ 整个站都是https, 这样服务器的性能得提高很多,成本高, 技术上有些历时原因只能用http的要改成https, 还有一些缓存问题。

但是,jlc至少要在关键部位部署https

JLC的IT部门的战斗力是不错的。

出0入0汤圆

发表于 2015-7-12 17:36:32 | 显示全部楼层
楼上建议不错

出0入0汤圆

发表于 2015-7-12 18:01:57 | 显示全部楼层
redroof 发表于 2015-7-12 14:54
每次生成登录页面带一个随机数就行了,
这样你就不能重放之前抓的包了

那这个随机数是客户端还是服务器生成?如何传输这个随机数?

出0入0汤圆

发表于 2015-7-12 20:31:42 | 显示全部楼层
那些提议用md5验证的。

这么搞,明文传输的就是md5,那么服务器也得用md5比较。到头来md5其实还是认证凭据,和密码明文并没有两样。只要有md5,不需要明文也可以登陆,让网页不计算md5直接发我输入的md5值就好了。因此并不能解决被抓包然后冒名登陆的问题。最多就是解决了在嘉立创泄露了不会扩散到其他网站的账号。

因此用https是最保险的方案。

出0入0汤圆

发表于 2015-7-12 21:56:33 | 显示全部楼层
diyjack 发表于 2015-7-12 16:00
不是证书的价格问题,而是服务器成本 以及IT开发的成本

比如 https://easyeda.com/ 整个站都是https,  ...

是得承认,对一个网站来说,买证书的钱并不算什么。

PS. 你的那个EasyEDA的网站看起来很不错。

出0入663汤圆

发表于 2015-7-12 23:08:52 | 显示全部楼层
lllaaa 发表于 2015-7-12 20:31
那些提议用md5验证的。

这么搞,明文传输的就是md5,那么服务器也得用md5比较。到头来md5其实还是认证凭据 ...

当然要加盐,例如用户打开登录页面时服务器在脚本里放一个随机串,提交之前先将密码做一次MD5,然后加上这个随机串再做一次MD5,同时服务器也用保存在数据库的MD5加上这个随机串做一次MD5来比较,这样就可以保证每次传输的密码都是不同的,杜绝了回放攻击。

出300入477汤圆

发表于 2015-7-13 09:31:39 来自手机 | 显示全部楼层
dawanpi 发表于 2015-7-12 18:01
那这个随机数是客户端还是服务器生成?如何传输这个随机数?

服务器生成,就是gzhuli说的那个流程。这是很常用的做法

出0入0汤圆

发表于 2015-7-13 09:41:15 | 显示全部楼层
gzhuli 发表于 2015-7-12 23:08
当然要加盐,例如用户打开登录页面时服务器在脚本里放一个随机串,提交之前先将密码做一次MD5,然后加上 ...

咕大师,在加了随机串的情况下,如果要做记住密码的功能怎么办?

出0入0汤圆

发表于 2015-7-13 10:03:19 来自手机 | 显示全部楼层
好建议!安全第一!

出0入0汤圆

发表于 2015-7-13 10:04:54 | 显示全部楼层
redroof 发表于 2015-7-13 09:31
服务器生成,就是gzhuli说的那个流程。这是很常用的做法

那只是存储到数据库的时候防止DBA反查md5获取用户密码的,传输的问题还没解决呢?

出0入0汤圆

发表于 2015-7-13 10:06:38 | 显示全部楼层
gzhuli 发表于 2015-7-12 23:08
当然要加盐,例如用户打开登录页面时服务器在脚本里放一个随机串,提交之前先将密码做一次MD5,然后加上 ...

脚本用http传输吗?有人截获脚本里面的随机数怎么办?

出0入0汤圆

发表于 2015-7-13 11:04:15 | 显示全部楼层
redroof 发表于 2015-7-12 15:07
12306完全有钱买个商业证书啊,明显应该是他们故意不这么干。
我是铁老大,我就要自己签发根证书!你都得 ...

绝对没那么简单。
12306.JPG

出300入477汤圆

发表于 2015-7-13 12:09:15 | 显示全部楼层
本帖最后由 redroof 于 2015-7-13 12:11 编辑
dawanpi 发表于 2015-7-13 10:06
脚本用http传输吗?有人截获脚本里面的随机数怎么办?


截获就截获了算了,没任何关系
这个随机数只有本次有效,例如跟你的源IP和端口有关,或者跟当前时间有关,用过了很快就作废了。
等下次登录的时候,见到的登录页里面的随机数已经变了。
所以你之前截获的MD5就没意义了。

出300入477汤圆

发表于 2015-7-13 12:17:17 | 显示全部楼层
嘉立创-高先生 发表于 2015-7-13 09:41
咕大师,在加了随机串的情况下,如果要做记住密码的功能怎么办?

没区别,
你之前正确登录得到的随机数SessionID,可以放在cookie里面,服务器自己也保留一份存在服务器的数据库。
在记住密码的有效期内,见到含有之前成功登录的cookie,从服务器数据库里面查出对应的用户名,直接放过。
也就是说记住密码的时候直接绕过了登录过程。阿莫这里就是这样做的。

出0入663汤圆

发表于 2015-7-13 12:19:23 | 显示全部楼层
嘉立创-高先生 发表于 2015-7-13 09:41
咕大师,在加了随机串的情况下,如果要做记住密码的功能怎么办?

要安全就是得牺牲点东西,反正银行、支付宝这些网站我没见过可以记住密码的。
一定要做的话一般是做成自动登录,也就是用cookie的方式保存,而不是靠浏览器的记住密码功能,这个论坛的登录也是这样处理的。

出0入663汤圆

发表于 2015-7-13 12:26:25 | 显示全部楼层
dawanpi 发表于 2015-7-13 10:06
脚本用http传输吗?有人截获脚本里面的随机数怎么办?

每次的随机数都不一样,每次发送的MD5都不一样,你任何时候截下来的MD5都无法用于下一次登录。
当然MD5只是举个栗子,现在已经不够安全了,至少应该用SHA1。

出0入0汤圆

发表于 2015-7-13 12:28:32 | 显示全部楼层
redroof 发表于 2015-7-13 12:09
截获就截获了算了,没任何关系
这个随机数只有本次有效,例如跟你的源IP和端口有关,或者跟当前时间有关 ...

那要是可以改脚本的内容呢?浏览器里面算md5的脚本也要从服务器获取的。攻击者完全可以截获随机数后,把脚本功能改成发送明文密码,然后自己再用原来的脚本和随机数算出“加密”后的密码发给服务器,这样就不知不觉地获得用户密码。

出0入0汤圆

发表于 2015-7-13 12:32:10 | 显示全部楼层
gzhuli 发表于 2015-7-13 12:26
每次的随机数都不一样,每次发送的MD5都不一样,你任何时候截下来的MD5都无法用于下一次登录。
当然MD5只 ...

请参考我40楼的回复。虽然这种攻击方式较单纯地监听要来的复杂,但考虑到jlc这个系统的特点(用户有预存款),这样的攻击还是可能发生的。所以考虑到被保护系统的安全等级,别说SHA1了,SHA512都不能保证安全。

算法本身是安全的,它们很多都在数学上被证明是安全的,然而实际中还是有这样那样的漏洞,不得不说对算法的不当使用产生了很多漏洞。

出300入477汤圆

发表于 2015-7-13 12:42:50 | 显示全部楼层
dawanpi 发表于 2015-7-13 12:28
那要是可以改脚本的内容呢?浏览器里面算md5的脚本也要从服务器获取的。攻击者完全可以截获随机数后,把 ...

你这不是简单的中途抓包分析了,而是完整的中间人攻击。普通的加密保护都不防这个。

想彻底的防住中间人攻击,只能老老实实用HTTPS,
而且要特别注意检查服务器的证书是不是可信的(中间人仍然可以替换证书!)。

出300入477汤圆

发表于 2015-7-13 12:44:57 | 显示全部楼层
dawanpi 发表于 2015-7-13 12:32
请参考我40楼的回复。虽然这种攻击方式较单纯地监听要来的复杂,但考虑到jlc这个系统的特点(用户有预存 ...

我们上面说的MD5验证多数是给论坛什么的用的。 只要不牵扯钱的问题,一般这种安全性已经够了。
有存钱的场合,还是直接上HTTPS吧。
多花服务器资源就是了。

出0入663汤圆

发表于 2015-7-13 12:46:49 | 显示全部楼层
dawanpi 发表于 2015-7-13 12:32
请参考我40楼的回复。虽然这种攻击方式较单纯地监听要来的复杂,但考虑到jlc这个系统的特点(用户有预存 ...

你的脑洞是越来越大了,前面只是说截取,后面又变成修改,这已经是MITM攻击了,HTTPS又可以增加点难度,但还是无法完全避免,例如你的浏览器装了12306和CNNIC的流氓证书,他们完全可以签发一个www.sz-jlc.com的证书来欺骗用户,这样用户被截取通信都是神不知鬼不觉的。
再往下说的话,世界上也没有什么系统是绝对安全的了。

出0入0汤圆

发表于 2015-7-13 12:47:20 | 显示全部楼层
redroof 发表于 2015-7-13 12:42
你这不是简单的中途抓包分析了,而是完整的中间人攻击。普通的加密保护都不防这个。

想彻底的防住中间人 ...

要考虑所需要的防护等级的,对于jlc这种应用场景,普通的https足够了,你说的那种证书级别的中间人攻击,不是一般人或者团体能做得到的,呃

出0入663汤圆

发表于 2015-7-13 12:49:37 | 显示全部楼层
redroof 发表于 2015-7-13 12:44
我们上面说的MD5验证多数是给论坛什么的用的。 只要不牵扯钱的问题,一般这种安全性已经够了。
有 ...

根本就是两回事,MD5是保证密码不会明文离开你的电脑,银行和支付宝的加密控件也干同样的事,即使他们已经有HTTPS。

出0入0汤圆

发表于 2015-7-13 12:50:22 | 显示全部楼层
gzhuli 发表于 2015-7-13 12:46
你的脑洞是越来越大了,前面只是说截取,后面又变成修改,这已经是MITM攻击了,HTTPS又可以增加点难度, ...

45楼已经更正。
看来我的意思没说明白,我一直想说明采取什么防护措施要看被防护的系统本身需求,而不是绝对的安全。
而https对mitm带来的难度绝不是你说的那个方式带来的难度能比的。

出0入0汤圆

发表于 2015-7-13 13:13:39 | 显示全部楼层
不用HTTPS也可以.把控件改一下就行了.HTTPS效率有点低了.

出0入663汤圆

发表于 2015-7-13 13:21:59 | 显示全部楼层
sibtck 发表于 2015-7-13 13:13
不用HTTPS也可以.把控件改一下就行了.HTTPS效率有点低了.

对于现在的CPU来说,HTTPS开销已经不算大,所以越来越多网站全站启用HTTPS。

出300入477汤圆

发表于 2015-7-13 13:40:40 来自手机 | 显示全部楼层
dawanpi 发表于 2015-7-13 12:47
要考虑所需要的防护等级的,对于jlc这种应用场景,普通的https足够了,你说的那种证书级别的中间人攻击, ...

是你说要防别人替换你的js加密库,
能替换js的人也就是能做中间人攻击了,同样也能替换https的证书。

出0入0汤圆

发表于 2015-7-13 13:44:21 | 显示全部楼层
还好没注册立创商城的账户。

出300入477汤圆

发表于 2015-7-13 13:45:25 来自手机 | 显示全部楼层
gzhuli 发表于 2015-7-13 12:49
根本就是两回事,MD5是保证密码不会明文离开你的电脑,银行和支付宝的加密控件也干同样的事,即使他们已 ...

没错,有https还是要做js加密。
但如果不是要防上面的人说的中间人攻击,用js在本地加密已经足够了。普通的论坛什么的,大部分都只做到这一步。

出0入0汤圆

发表于 2015-7-13 14:06:34 | 显示全部楼层
redroof 发表于 2015-7-13 13:40
是你说要防别人替换你的js加密库,
能替换js的人也就是能做中间人攻击了,同样也能替换https的证书。
...

能替换http下的js只要拿下路由器就可以了,替换https证书?拿下路由器是可以替换,但替换成什么证书?自签?浏览器不会信任的。要是有被浏览器默认信任的根证书,谁还会去干那种事?

出0入0汤圆

发表于 2015-7-13 16:40:41 | 显示全部楼层
确实,http倒不要紧吧,主要是明文传输太不安全了

出0入0汤圆

发表于 2015-7-13 18:09:13 | 显示全部楼层
gzhuli 发表于 2015-7-12 23:08
当然要加盐,例如用户打开登录页面时服务器在脚本里放一个随机串,提交之前先将密码做一次MD5,然后加上 ...

刚刚又想到一个问题,对于这种流程,如何处理新用户注册时第一次设置密码?想了很久也没想明白,但感觉用一些很复杂的方式可以实现,“储存盐”之类的。

出0入663汤圆

发表于 2015-7-13 18:31:23 | 显示全部楼层
dawanpi 发表于 2015-7-13 18:09
刚刚又想到一个问题,对于这种流程,如何处理新用户注册时第一次设置密码?想了很久也没想明白,但感觉用 ...

非对称加密。

出300入477汤圆

发表于 2015-7-13 18:52:43 来自手机 | 显示全部楼层
dawanpi 发表于 2015-7-13 14:06
能替换http下的js只要拿下路由器就可以了,替换https证书?拿下路由器是可以替换,但替换成什么证书?自 ...

根证书,跟铁老大一样,让人装一个你自己签的根证书就行了^_^

出0入0汤圆

发表于 2015-7-13 20:22:58 | 显示全部楼层
redroof 发表于 2015-7-13 18:52
根证书,跟铁老大一样,让人装一个你自己签的根证书就行了^_^

这就有难度了,拿下路由器后还要做“别的工作”才能装下证书。不过这已经要歪楼了。。。

出0入0汤圆

发表于 2015-7-13 20:23:46 | 显示全部楼层

好吧。。。不过散列函数的这种用法还是第一次见,也学到东西了

出0入663汤圆

发表于 2015-7-13 20:46:17 | 显示全部楼层
dawanpi 发表于 2015-7-13 20:23
好吧。。。不过散列函数的这种用法还是第一次见,也学到东西了  ...

这种叫做Challenge-Response验证,应用很广泛的,例如Windows的网络认证协议NTLMv2和邮件系统的CRAM-MD5。

出0入0汤圆

发表于 2015-7-14 14:14:51 | 显示全部楼层
收获颇丰啊
从一个建议贴演变为学习贴,这真是神一样的剧情走向……

出0入0汤圆

发表于 2015-7-14 14:23:10 | 显示全部楼层
rsa                           

出0入0汤圆

发表于 2015-7-20 23:44:24 | 显示全部楼层
bbglx 发表于 2015-4-21 11:12
不知道https会不会对服务器造成压力,淘宝京东都没有用https,百度也是不久前才用https ...

事情跟进, 淘宝现在已经支持全站 https 加密浏览.

出0入0汤圆

发表于 2015-7-21 11:58:06 | 显示全部楼层
gzhuli 发表于 2015-7-13 12:19
要安全就是得牺牲点东西,反正银行、支付宝这些网站我没见过可以记住密码的。
一定要做的话一般是做成自 ...

用cookie记录的话,如果cookie被获取了,是不是就可以回放攻击了?

出0入663汤圆

发表于 2015-7-21 13:10:53 | 显示全部楼层
本帖最后由 gzhuli 于 2015-7-21 13:12 编辑
嘉立创-高先生 发表于 2015-7-21 11:58
用cookie记录的话,如果cookie被获取了,是不是就可以回放攻击了?


其实无论是否保存密码,只要截取到登录后的session cookie也就相当于拿到登录身份了,不过不知道原密码还是无法做修改密码等操作的。

出0入0汤圆

发表于 2015-7-21 13:31:07 | 显示全部楼层
gzhuli 发表于 2015-7-21 13:10
其实无论是否保存密码,只要截取到登录后的session cookie也就相当于拿到登录身份了,不过不知道原密码还 ...

获取session cookie,要在路由器上操作,这个要拿下路由器。
但是,如果是存储在浏览器上,这个很容易被获取

出0入663汤圆

发表于 2015-7-21 13:36:02 | 显示全部楼层
嘉立创-高先生 发表于 2015-7-21 13:31
获取session cookie,要在路由器上操作,这个要拿下路由器。
但是,如果是存储在浏览器上,这个很容易被 ...

要获取浏览器储存的cookie要先获得电脑的控制权,获得了电脑的控制权还愁密码拿不到么……
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-19 12:06

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表