文档章节

别以为有https就安全了,这样做支付宝也能轻易被攻破!

恒生GTN
 恒生GTN
发布于 2017/04/05 13:47
字数 1780
阅读 3
收藏 0
点赞 0
评论 0

小编提示:本文阅读时间约10分钟,看官们可先收藏、后阅读^^ 

安全问题一直是互联网用户心头的一块大石。很多人将https与安全画上了等号。实则不然,今天,信息安全专家跟大家聊聊https的那些事。


正文 
在平时工作和日常生活中, “https=安全”这样的观点在大多数人的思维中根深蒂固,甚至很多人根本不认为自己会被攻击。那这个观点到底对不对呢?难道真的是 too young too simple, sometimes naive么? 
本文就逐条分析人们对https的信任是从何而来的。(注:本文只讨论前端以及中间人的手段来获取信息,而且https主要是为了防止信息被监听。至于黑站的相关问题,本文暂不讨论,如有兴趣请大家持续关注。) 
第一部分 . https降级攻击 
降级攻击这项技术历史悠久,但由于操作简单便捷,所以使用率一直很高。这项技术与证书伪造殊途同归,为了让读者能直观感受这一类直接劫持类型的攻击,在此做一个简单的演示。 
为了让大家对整个演示过程印象深刻,把BAT的产品拿来做演示对象应该是最有效的。另外,个人觉得搜索引擎应该也是大家用的最多的产品,那不妨就让baidu身先士卒,先上笔者的手术台被我解剖下。 
工具:一台受害者的电脑或者虚拟机,另一台装有sslstrip或者一堆高度集成的自带sslstrip功能的中间人工具框架。具体操作请看下面演示:


在受害者电脑上,图1这个是正常访问baidu的样子。有小锁图标,有https协议,然后我们看看如果受到了降级攻击之后,受害者的百度:


很明显,图2中安全锁图标消失了,地址栏最前面的https也不见了。其实,很多攻击者会通过注入前端的js,让用户看起来有https,也有安全锁图标。下面,我们登录下试试:


在攻击者的电脑上:


由上图可见,受害者电脑上输入的用户名和加密后的密码都已经被截取到。幸好密码是加密的,攻击者无法直接获取受害者的用户名和密码。由上可知,即使有了https,对密码加密也是必不可少的步骤。紧急关头,这也能给自己加一道最后的防护。 
从另一个角度来说:在我们的演示中,密码已经加了密,所以获取到了也没什么用。而且有的同学说,在地址栏里面这么明显的差别,一般人都能看出是受到攻击了;既然都能看出问题的所在,那也就不存在安全失控这样的隐患。 
那接下来,我们继续介绍些更隐蔽、更直接地拿到明文密码的方法。 
第二部分 . js中间人投毒 
这个名字其实是笔者根据攻击原理形象化的描述。其原理是先开展中间人攻击,然后在用户请求的时候修改返回的数据包,插入有攻击性的js代码。具体步骤请看下面的演示: 
工具:一台受害者的电脑,一台攻击者的电脑,为了方便,直接使用mitmf这个中间人攻击框架进行操作。 
攻击者电脑开启mitmf,调用jskeylogger模块:


看看日志: 
已经开始注入恶意的js了。 
受害者继续登录baidu:


密码是“xiaobaitu”,攻击者这边已经收到,如下图所示。


登录凭证窃取计划完成,这个方法比第一个方法要方便得多,直接窃取到明文密码,而且https以及安全图标都还在。 
除了中间人攻击的方法,攻击者还可以结合xss,js缓存投毒等一系列攻击手段开展类似的攻击,危害不可谓不大。 
第三部分 . 浏览器恶意插件 
浏览器恶意插件,和中间人关系不大。因为中国有Great Firewall的存在,我们基本可以不用担心一些恶意插件能窃取我们的资料。但是由于习惯原因,很多人喜欢用chrome,并且大家也都知道chrome可以装很多有用的插件,然而由于Great Firewall的存在,通过正常渠道是访问不到谷歌应用商店的。于是,很多有需要的用户会通过各种方法去下载类似的插件。而对插件原理不甚明了的用户,就很有可能下载到带有恶意js的插件。通常来说,大部分的杀毒软件对带有恶意js的插件是没有特别好的检测方案的。而无论是谷歌还是火狐的官方插件商店,都曾经出现过带有恶意代码的插件,造成了巨大的损失。 
背景介绍完了,演示如下: 
工具:一台受害者的电脑,一个笔者写的chrome插件,一台可以访问接收的web服务器。 
首先,攻击者在经不住诱惑的情况下(如“美女图片”插件,“一元钱抢6s”插件等描述),下载了恶意的插件,然后又登录baidu(为了增强大家印象),现在,我们换一个比较“致命”的应用,支付宝。


由上图可以看出,攻击者端已接收到全部的信息。 
该方法的原理就是通过浏览器插件,在点击登录时,将登录框的信息通过ajax表单的形式提交的远程服务器,无声无息间账号密码已经泄露。 
下面贴个实现代码:


主要是通过监听表单的submit事件来实现。 
Http安全问题其实是当前的一个重点问题,很多人的账户密码都是由以上攻击方式而被窃取的。除以上三种方式之外,攻击方法还有很多,本文就不一一列举了。用户必须要理解一个概念:安全是一个需要积累的过程,就像打补丁。一个补丁刚打上时,暂时可以保证安全。但是时间一久,系统仍有可能出现其他的漏洞。你可能认为某个小补丁不起眼,能一击而破,可是别忘了,补丁也不是独自战斗。因此,各项安全工作一起合力,就能很好的延长防护的纵深以及拉长防护的战线,给予我们以及用户更好的保护。(文/汪浙锋) 
  

找资源、聊技术、写博客、答业务…欢迎来到恒生开发者社区

© 著作权归作者所有

共有 人打赏支持
恒生GTN
粉丝 5
博文 54
码字总数 42284
作品 0
杭州
【023 手机丢失该如何进行信息保护】

【023 手机丢失该如何进行信息保护】 2016-08-01吴海燕(原创)EverydayFighting 手机丢失该如何进行信息保护 丢手机这件事,几乎人人都遇到过。对于一些粗心的人,或者常常在节假日出去溜达...

贰零壹陆 ⋅ 2016/08/02 ⋅ 0

机器学习界“硝烟再起”:今年ICLR 8篇防御相关论文,7篇被攻破

  最近,一篇论文的横空出世又引发了机器学习学术界的大讨论。无论是被誉为“GANs 之父”的 Ian Goodfellow,还是谷歌大脑负责人 Jeff Dean 都参与其中。   论文   https://arxiv.org...

DeepTech深科技 ⋅ 02/04 ⋅ 0

从支付宝插件无提示导入根证书带来的安全隐患说开去:谈谈HTTPS的加密方式

众所周知在12306购票,官方说明需要导入根证书,这算是良心的了。其实你安装了支付宝插件,就会被不知情的导入了某些[哔]的根证书,而这会带来一些安全隐患:提升遭遇中间人攻击的可能性:在...

CasparLi ⋅ 2015/08/05 ⋅ 0

支付宝增加个人借钱功能的产品设想

借钱给一个朋友,你会失去他。 人在社会飘,哪能不挨刀。都有三五友,借钱免不了。 不少人都有过借钱的经历,无论是你向别人借,亦或别人向你借,双方心底其实都会打个“疙瘩”。尤其当今社会...

小草凡 ⋅ 2017/09/03 ⋅ 0

DevSecOps 实施篇!系列(二)

想在自己公司建立 DevSecOps 计划?没问题,企业规模无论大小,都可轻松实现。这里有5个基本的 DevSecOps 原则可以帮助你启动。当然,如果你对 DevSecOps 还不太熟悉,不妨先看看第一篇文章《...

OneAPM蓝海讯通 ⋅ 2016/03/14 ⋅ 0

这群中国黑客成功破解了特斯拉,并把它变成了自己的遥控汽车

这是全球范围内首次通过安全漏洞远程攻入特斯拉车电网络,并可以对车身实现任意控制。 很难想象,像特斯拉这样的智能汽车如果被操控在别人手中,会发生什么样的结果。 而就在今天早上,据媒体...

行者武松 ⋅ 03/07 ⋅ 0

特斯拉车主要注意了:你的车子极易被盗!

钥匙在手,说走没法走……EXO ME??并没有,因为你的车被偷走了…… 近日有外媒报道称,特斯拉Model S在前后一个月时间内接连发生两起被盗事件。而诡异的是,不仅被盗车辆的车钥匙并没有丢失(...

行者武松 ⋅ 03/13 ⋅ 0

支付宝快捷支付 "快"就不安全了吗?

工行关闭四个快捷支付接口 之前四大行下调支付宝快捷支付额度,另外四大行均回应称,设置转账及交易支付限额的出发点和落脚点都是为了客户资金安全。后来有人透露工行正 在逐步关闭第三方快捷...

燃烧NO1 ⋅ 2016/09/19 ⋅ 0

如何参与新项目和老项目?

有人质问我,说我带他们的方法矛盾 之前是新项目,我让他们在项目里学,不要自学 现在是已有项目,我让他们在外面学,不让在里面练习 我真的是矛盾的么?我想有必要来理解一下开发里的大和小...

i5ting ⋅ 2015/08/08 ⋅ 2

NSA泄露文件深度分析:NSA与运营商的故事

只是简单看了工具包中的EXP,并在网上关注了一下国外对该工具包的反响。发现该EXP经过一定的修改,能完全适应2016年最新版本的系统固件,一个如此久远的EXP能做到如此实属不易,看来NSA的代码...

燕儿199606 ⋅ 2017/08/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

笔试题之Java基础部分【简】【一】

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他 1.length、length()和size() length针对...

anlve ⋅ 11分钟前 ⋅ 1

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 36分钟前 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 40分钟前 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 8

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部