开发者社区 问答 正文

WEB明文传输安全问题:报错 

经常看到很多文章说,xxx网站明文传输用户名密码,然后表示非常愤青。还记得我之前有花过一点时间去研究mp.weixin.com的登陆机制。最后发现密码也不是过一句很明显的MD5加密。既然我随便一看就知道是什么加密,明文不明文还不是一样的吗?

展开
收起
kun坤 2020-06-04 21:05:48 1038 分享 版权
1 条回答
写回答
取消 提交回答
  • MD5你怎么解? ######回复 @cyzshenzhen : 你想得太天真了, 32位是md5可以理解, 但你理解不了的是它是几层md5.######google、百度,MD5解密。虽然不是真正的解密,但实际上也是一个非常完整的库,如果可以的话,直接引用他们的库就够了###### 怎么能一样呢,你去看看腾讯微博的登录吧,是MD5加密,关键是salt是在服务器端生成的,每次都不一样。要破解,难度很大。
    等你破解好,早就失效了。 ######回复 @cyzshenzhen : 但是salt是动态获取的,而且有有效期######不是在js端加密的吗?######MD5加密后,就目前技术来说还是不能够解密的。网上所谓的能够MD5解密,不过是搜集了一些MD5的散列存储于数据库中,根据MD5散列来寻找字符串以寻找解密,如果数据库中没有搜集有相应的散列就不能够解密了。但是这个库肯定不是你说的一个非常完整的库。######回复 @彭坤 : 不是破解,而是碰撞######回复 @leo108 : MD5是单向的,能破解?反正目前所知的所谓的破解都是穷举出来的,比谁的库大而已。######回复 @szkiti : 百度王小云######回复 @leo108 : 已经有解? 是MD5已经被破解了吗? 哪来的内部消息啊? 表示好奇。######已经有解了,只不过没公开而已###### 明文就肯定不是安全的。MD5有什么用?你都截获md5后的字符串了,根本不用关心密码原文是什么,直接post这个字符串就可以进行欺骗了。 ######js加密之前先跟服务器要一个salt,然后js端用这个salt加密,sever端从数据库拿出password后也用同一个salt加密,这个salt用一次就在server端被失效,就算这次请求被截断,造成这个salt没在server端被强制失效,它还有一个有效期,可以过期自动失效。也就是说,同样的密码,每次发出去的MD5串是不一样的,所以你截获这次的MD5串,用于下一次登录是无效的。######大哥,你知道加密后的字符串有什么用? 进行密码认证的时候,是将传递的字符串进行加密然后,再跟数据库或ldap中存储的加密值进行比对。 你传递的是加密后的字符串,然后经过人家验证前的再加密,值就不一样了。。。。。。######回复 @leo108 : 恩恩,我以为你说的是拿到密码和数据库直接比对。接楼上的话,没有https保护的都是在裸奔!:)######回复 @hanzhankang : 呵呵,看8楼你就知道天真的是你######回复 @littledoo : 在前段的md5仅仅是第一次,在服务器端还会进行的,而且还会加盐。说服了没?######

    引用来自“littledoo”的答案

    明文就肯定不是安全的。MD5有什么用?你都截获md5后的字符串了,根本不用关心密码原文是什么,直接post这个字符串就可以进行欺骗了。
    关键是你怎么截获,你能截获到我和我QQ上的谁在聊什么吗?跨网段截获可不是那么容易的 ######回复 @leo108 : 客户端MD5还能一定程度加大你机器人模拟登陆的难度,从多个方面制造困难######既然排除了局域网截获,那明文提交和md5之后再提交已经没有区别了######回复 @littledoo : 局域网内截包谁不会,你来截下我的包试试,你要是能截到,你就牛了。 另外,QQ消息是加密的,而且是XXTEA 加密算法。######截包不是什么很大工程。qq消息是加过密的。不是明文,补习下网络知识吧。######不使用ssl的登录都是在裸奔。######楼主分清楚MD5是 散列算法不是加密算法###### 根据4楼说的,拿到JS进行MD5加密的串。我们直接利用账号+加密后的密码,直接提交的话,不管服务端到底加了多少“盐”,应该都没用吧? 这个过程哪里有问题吗? ######当然有问题. 服务端会发个salt给浏览器做js进行md5加密,这个salt是变动的2分钟有效, 你下次直接提交这个md5串是没有用的.######不是简单做一个MD5,我在这篇文章里详细展开了,推荐阅读:http://my.oschina.net/u/588200/blog/151377######那不就可以直接“做事”了吗。 假设有人能够截获到提交的信息。那我拿到的这个MD5加密的串,跟拿到明文的串,有什么区别######没有一点问题!######只是知道加密方式而已,跟明文还差的比较多的。而现在一般的网站大多数都采用MD5加密,有些甚至二层加密,纯粹知道加密方式,对破解意义不大。###### md5(md5(pass,time()),time()); 返回值是32位, 可你要拿这上数据库找, 估计得上4TB, 数学次方, 思考一下吧, 少年. 直接拿md5值传输过去? 醒醒吧, ip, 来路,session表示你还是少年. ######回复 @cyzshenzhen : 你讲这些都是在你已知的条件下, 比如QQ的聊天记录, QQ会提示你数据不是在一个ip下提交的? 你太天真了, QQ不会提示你任何信息, 你慢慢去猜想吧.######ip这个,顶多会提示“登录不在常用地址”而已。提交方式,上网搜一下,都是模拟xxx浏览器提交
    2020-06-08 11:24:51
    赞同 展开评论