电信级的RSA加密后的密码的破解方法
- 苍穹之曈
一直以来,电信通过HTTP劫持推送广告的方式已经存在了很多年了,这种手段至今并未停止。这种手段月光博客曾经有多次曝光,见《电信级的网络弹出广告》、《获取了电信恶意弹出广告的罪证》和《谁控制了我们的浏览器?》。虽然HTTP本身的不安全性导致有路由器控制权限的人(比如电信运营商)可以获得没有使用HTTPS登录认证的网站的注册用户的密码,但一开始我并不认为电信运营商会犯触犯法律的风险进行实施。但现在我发现我错了。
现在有证据显示电信运营商非但获取没有加密的HTTP登录的用户名和密码,还会通过HTTP劫持的手段获取通过RSA加密的用户名和密码。信息来源是国内最大的最权威的漏洞报告平台之一wooyun:链接1、链接2。
正如文中所说,国内某邮件服务商在登录入口处将用户输入的帐号和密码通过RSA加密后才会发送到网络上,通过截取网络数据包的方式已经无法对用户输入的密码进行破解了。但由于HTTP本身并没有加密功能,所以RSA的程序必须由邮件服务商以JavaScript的方式进行提供,而登录入口的HTML和所有的JavaScript会通过HTTP发送到用户的浏览器上。而正是由于HTTP的不安全性,导致电信运营商可以在HTML中插入附加的JavaScript代码,在对密码进行RSA加密之前将密码以明文形式发送到网络上。至此,密码已经可以通过抓取网络数据包的方式进行截取了。
这种手段并非DNS级的域名劫持。如果是域名劫持,那么用户访问的也就不是邮件服务商的服务器,而是第三方的服务器了。如果要保证用户可以正常登录邮箱,那么第三方服务器就必须将用户浏览器的请求转发到邮件服务商,这样邮件服务商将会看到大量用户通过同一个或少数几个IP地址进行登录,很快就会发现问题。所以只有控制路由器进行TCP级别的HTTP劫持(仿冒邮件服务商的IP发送附加的JavaScript的数据包)才能做到神不知鬼不觉(虽然出了BUG导致曝光了,但如果没有BUG说不定到现在仍旧无人察觉)。
联想到《破解Google Gmail的https新思路》中所说的情况,电信运营商和国内的CA机构受到[]的指使进行实施,对SSL不了解的人完全可以做到神不知鬼不觉地破解用户的密码。如果是DNS劫持还可以通过多种手段进行反劫持,但如果通过类似HTTP劫持的这种IP仿冒的技术呢?据我观察,CNNIC根证书并未在各大浏览器中已被移除,所以关注于安全的朋友还是需要手动进行处理。也正如wooyun的文中所说,看到国内CA随便签署的证书,一定要保存下来提交给各大浏览器厂家,国内的中级CA还有很多。
题外话:虽然全球的网络目田在恶化,但并不代表我们就可以放弃追求网络目田。
- ljycslg不明觉厉
- 豆鯊包“目田”第一次见啊
- meteron目田, 都能这样隐晦了
- 彩色斑马目田才是这篇文章真正的两点所在。可悲的P民啊!
- dotffer全文不敢指名道姓,卧槽,看的蛋疼
- mm11ma目田
- showgood163目田?有意思。
- bos1183目田?什么意思?
- RacingPHT虽然对密码学仅仅是半桶水的水平,但是看是可以看出这篇文章的问题。
1:RSA本来就是设计用于在不安全的信道传输数据用的。所以即便http本身是不安全,明文密码被获取之后也无法被破译。
2:如果网站登录密码加密前就以明文形式出现在网络上,那邮件服务商是白痴?
3:所谓的关键点,”RSA的程序“根本不是什么神秘的东西,RSA是公开算法,就算你有RSA私钥的生成程序,保存在发送端的私钥明文也已经销毁。
如果纯粹只是为了制造不安全感,写这样的文章骗骗小孩倒是没问题的。 - 炒土豆丝
自由!~
- cnnblike
真要查你有必要这么麻烦么……
- verycd11freedom................................................是亮点????????????
我也来一个:::::::::::::::::::::::::::::::::大家看看我幽默不
朕通干这个好多年了 - RacingPHT实际上我理解这篇文章的意思和RSA破解无关(否则估计可以申请诺贝尔奖),而是电信级别的木马植入而已。
- upset万能的天朝
- extrmwks说白一点就是 “在你 浏览器与服务器之间的加密通道 建立起来之前 就上传了你表单里的明文用户名和密码” 后面的HTTPS的加密都是白搭
关键是 javascript 脚本的提供没有加密验证。 到头来还是邮件服务商的疏忽(很有可能是故意的) - philipsbao受益匪浅[洗澡]
- chainy赶脚吧,全篇是假设猜测蒙事,标题不错.
- karlsino虽然不是专门搞加密学的,但是作为信息安全从业人员表示这作者半懂不懂,这文章狗屁不通
- ohmygod12121212火狐chrome不是默认ban js了吗
- 观山景又见装13文章来骗什么不明觉厉
- 黯g然o失d色看评论后感觉安心多了
- FancyMouse在乌云的帖子里已经提到:
“在登录form里抓取用户名和密码,当成参数跟在logo后面再访问一下logo,再从中间抓包获取这段内容。这样的话邮件服务商的日志里肯定会出现很多logo的请求后面跟着明文用户名密码吧,错了,服务商那边根本没看到logo被请求两次,推断是带有这个特征的数据包被drop了,真尼玛用心啊。 ”
ls几个装懂的继续装吧。inject js插入代码发送带有明文用户名密码请求这是已经有贴出来的证据了。drop数据包只是猜测了一下服务商没有收到这样请求的原因。技术角度来说都是可行的。全文除了标题会让人误以为是直接破解RSA密文以外,其他没啥问题。 - FancyMouse顺便我不是为服务商开脱。“服务商由于成本问题,暂不考虑采用SSL登录。 ”this is their fault。
- J_chn由于HTTP本身并没有加密功能,所以RSA的程序必须由邮件服务商以JavaScript的方式进行提供,而登录入口的HTML和所有的JavaScript会通过HTTP发送到用户的浏览器上。而正是由于HTTP的不安全性,导致电信运营商可以在HTML中插入附加的JavaScript代码,在对密码进行RSA加密之前将密码以明文形式发送到网络上。至此,密码已经可以通过抓取网络数据包的方式进行截取了。
- AlexYoung所以对于现在市面上出现的各种路由器,只能‘呵呵’了,谁知道都用来干什么了
- RacingPHT这不就是我前面说的木马么?
和这屌炸天的标题有半毛钱关系。。
本来http公认的不安全,非要犯贱用http的邮件服务商(连买SSL证书的钱都凑不齐?),被黑了还搞得好像世界末日一样。。。 - kmb101目田?不明但觉厉
- yunxing路过 不明觉厉
- boya哦呵,意思就是说得全程加密。这果然是个人民的国家,住在里面的没有一个人民,全是罪犯预定。
- nickolas是电信插入JS代码,在进行RSA加密之前先用明码发送一次密码给电信,然后才RSA加密给邮件服务商。
不涉及破译,OK~ - 样品看不懂田目的都不是wower...
- sasmike各大运营商搞劫持已经不是一两年的事了……习惯了就麻木了……
- wulewala不明白这个想说什么,感觉就是个跨站脚本啊。 运营商要获取HTTP协议的信息根本不用麻烦到注入JS。感觉这帖子混淆视听为主。
- GPD2033不管怎样DNS怎么改都会被劫持
- cocaine923他么的,我说怎么一开浏览器就是电信广告