文档章节

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

恒生GTN
 恒生GTN
发布于 2017/04/05 13:49
字数 1780
阅读 116
收藏 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
粉丝 4
博文 56
码字总数 42411
作品 0
杭州
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.4K
6
SQLServer实现split分割字符串到列

网上已有人实现sqlserver的split函数可将字符串分割成行,但是我们习惯了split返回数组或者列表,因此这里对其做一些改动,最终实现也许不尽如意,但是也能解决一些问题。 先贴上某大牛写的s...

cwalet
2014/05/21
9.6K
0
Swift百万线程攻破单例(Singleton)模式

一、不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面: class SwiftSingleton { } 这段代码的实现,在shared中进行条...

一叶博客
2014/06/20
3.3K
16
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
5.6K
8

没有更多内容

加载失败,请刷新页面

加载更多

搞网站的你,不了解一下共享虚拟主机和备案问题

正文共:1474字 14图,预估阅读时间:4 分钟 今天分享的这一切要从域名备案说起。先科普一下,平时我们访问网站都是用域名访问的,通过DNS服务器将域名解析为IP地址(你知道上网时输入的URL...

郭松成
昨天
3
0
10 分钟学会 pillow 图像处理 16 式

PIL:Python Imaging Library,是Python环境下最受欢迎的图像处理库之一。 pillow简单优雅而功能强大,是图像相关机器学习任务中算法工程师的亲密合作伙伴。 我们将介绍pillow的如下16个图片...

zglg
昨天
3
0
3大排行榜告诉你,Java&Python有多稳

什么编程语言最受欢迎? 零基础小白学什么语言最好找工作? …… 关于这些问题的讨论从来都没停止 今天领扣🐱就来盘点一下 如今最受欢迎的语言到底是什么 Java&Python学习大礼包 资料领取方...

Lintcode
今天
10
0
这道原题答出来了还是跪!今年面试也太难了……

秋招已然到来,Amazon这不又发了一堆岗位,此时可以说是上岸最好机会!不过上周有同学反馈面试亚麻,遇到一题曾经刷过,惨的是最后还是跪了,班班仔细一问原来是这道。 给定一个整数序列,找...

九章算法
今天
0
0
【你只需看一次】YOLO 全系列目标检测算法

文章目录 一、概述 二、Yolo系列全家桶 YOLOv1 开山鼻祖之作 YOLOv2 YOLOv3 YOLOv4 目标检测tricks集大成者 YOLOv5 Fast YOLO Complex-YOLO MV-YOLO YOLO3D YOLO-6D YOLO-LITE Spiking-YOLO ......

osc_5p8bxoq2
22分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部