一直以来,电信通过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还有很多。

  题外话:虽然全球的网络自由在恶化,但并不代表我们就可以放弃追求网络自由。

电信级的RSA加密后的密码的破解方法的更多相关文章

  1. php使用N层加密eval gzinflate str_rot13 base64 破解方法汇总

    php使用N层加密eval gzinflate str_rot13 base64 破解方法汇总 来源:本站转载 作者:佚名 时间:2011-02-14 TAG: 我要投稿 PHP使用eval(gzin ...

  2. 用户登录密码RSA加密后传输的实现,非明文密码传输

    在用户登录页面,用户输入密码后,在传送到服务器端时,为防止在密码传送过程中,被如360这种东东给拦截到, 需要在传送前对密码进行加密,然后再传送! 利用RSA加密,在客户端使用公钥对密码进行加密,在服 ...

  3. 强力重置ASP.NET membership加密后的密码![转]

    公司网站的用户管理采用的是ASP.NET内置的membership管理,在web.config文件中的密码格式配置是加密了的,passwordFormat="Hashed",这样在 ...

  4. Excel文件加密后忘记密码破解方法

    最好使用VBA 工程密码破解方法 新建一个excel文档,然后打开,同时按Alt和F11,进入VBA界面 点击菜单上的插入,模块 在新的窗口粘贴以下代码: Sub crack() Dim i As L ...

  5. 忘记Linux登录密码的破解方法

    注意:1.破解方式只限于7.0以后的Linux系统. 2.要注意自己linux系统中有没有开启selinux,如果开启则在后面要建一个名为:autorelabel的隐藏文件.     1.启动Linu ...

  6. 基于RSA的WEB前端密码加密方案

    受制于WEB页面源码的暴露,因此传统的对称加密方案以及加密密钥都将暴露在JS文件中,同样可以被解密. 目前比较好的解决方案是WEB页面全程或用户登录等关键环节使用HTTPS进行传输. 另外一种解决方案 ...

  7. Web安全--使用Salt + Hash将密码加密后再存储进数据库

    转载原地址 http://www.bozhiyue.com/mianshiti/_net/2016/0728/314239.html (一) 为什么要用哈希函数来加密密码 如果你需要保存密码(比如网站 ...

  8. 兼容javascript和C#的RSA加密解密算法,对web提交的数据进行加密传输

    Web应用中往往涉及到敏感的数据,由于HTTP协议以明文的形式与服务器进行交互,因此可以通过截获请求的数据包进行分析来盗取有用的信息.虽然https可以对传输的数据进行加密,但是必须要申请证书(一般都 ...

  9. MD5加密和RSA加密

    1.MD5加密  MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),MD5算法的使用不需要支付任何版权费用. MD5的功能:     ①.输入任意长 ...

随机推荐

  1. 【Spring】简单的Spring MVC入门例子

    前言 测试特性需要搭建一个简单的Spring MVC的例子,遂记录之,只是例子,只为入门者之示例. 版本说明 声明POM文件,指定需引入的JAR. <properties> <spr ...

  2. ORACLE常用SQL优化hint语句

    在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...

  3. C# 关于委托和事件的妙文:通过一个例子详细介绍委托和事件的作用;Observer模式简介

    委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见 ...

  4. json接口

    http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json?apikey=7waqfqbprs7pajbz2 ...

  5. dsp28377控制DM9000收发数据——第二版程序,能够实现手术功能,但是容易掉帧;使用读取中断寄存器的方式判断中断

    G:\controlSUITE\device_support\F2837xD\v180\F2837xD_examples_Cpu1\emif1_16bit_asram\cpu01\emif1_16bi ...

  6. window.onload和window.onscroll

    之前我的一个页面里写了引入了2个js,一个是包含置顶的侧面客服,一个是定位导航.2个开始都用了window.onload,发现第一个js的定位导航没有显示,被第2个js覆盖了,当我去掉第2个js的wi ...

  7. web开发必备插件

    文本编辑器百度ueditor:http://ueditor.baidu.com/website/

  8. python test

    #!/usr/bin/env python #-*- encoding: utf- -*- ''' def foo(name): print name, '去砍柴' foo('yangshanlei: ...

  9. django数据库的增删改查

    正常启动服务安装数据库cmd命令:python manage.py makemigrations 创建用户 在pxm里面会有一个py文件..这就是生成了表结构cmd命令:python manage.p ...

  10. viewPager 的可滑动 Title

    有三种方式: 1. 系统提供的title 缺点:标题在viewpager的滑动过程中也会滑动 实现:在ViewPager布局中添加 PagerTabStrip 或者是 PagerTitleStrip ...