童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

浏览器是如何存储密码的?

11月23日 艮山观投稿
  一、引言
  我曾经介绍过名为dumpmon的推特机器人,它监控着众多“贴码网站”的账户转储、配置文件和其他信息。自那以后,我一直留意着监测到的信息。接下来会有关于dumpmon的一系列文章,而本文则关注浏览器是如何存储密码的。
  这里提到dumpmon,是因为我偶然发现一些贴码,比如这篇,应该是感染在计算机上的恶意软件的日志。我便想:我总是认为最好不要让浏览器直接存储密码,但是原因呢?恶意软件从感染的计算机中获得密码会有多轻松呢?因为从一处获得所有想要的资料有点困难,所以我决定在此文贴出结果以及一些从各个浏览器的密码管理器中提取密码的简单代码。
  本文所述是在windows8系统上分析下述浏览器。
  二、Chrome浏览器
  获得密码难易程度:简单
  我们从Chrome浏览器开始。令人失望的是,chrome浏览器是最容易被提取密码的。加密后的密钥存储于APPDATA。。LocalGoogleChromeUserDataDefaultLoginData”下的一个SQLite数据库中。但是是如何获转存并加密的呢?我从《谷歌Chrome浏览器是如何存储密码的》这篇文章中获得了Chrome存储密码的诸多信息,而这篇文章是4年前写得。虽然从那篇文章以后Chrome做了些改变,但是我将按照同样的方式,利用Chromium源码的一些片段向你展示密码是如何转储的。
  存储加密密码
  当用户访问网站时,Chrome会首先判断此次登陆是否是一次成功的登录,判断代码片段:
  如果成功登录,并且使用的是一套新的证书,这个证书是浏览器之前没有生成过的,Chrome就会生成一个提示条,询问用户是否需要记住密码:
  在此为节省篇幅,我省略了创建提示条的代码。当点击“保存密码”时,就会调用Chrome密码管理器的“保存”函数来响应操作:
  简单吧。如果是一次新的会话登录,就以如下代码执行保存:
  再次为控制篇幅,裁剪了一些内容(例如一个对证书是否属于google的网站的操作审查等等)。在这函数被调用之后,执行AddLoginImpl()函数的任务被调用。这是用来使界面快速响应的:
  该函数会调用登陆数据库对象的AddLogin()函数,以检查其操作是否成功。下面就是AddLogin()(我保证,我们马上就要看到密码是如何存储的了):
  这里有些有趣的东西。我们利用用户密码生成一个字符串密钥。这段代码已经减掉了,但是”sql:Statement”行下面,执行了一个SQL查询语句,实现了在登录数据文件中存储加密数据。该EncryptedString函数仅仅是在一个加密对象上简单调用了EncryptString16函数(就是下面这个):
  最终,我们看到密码是调用WindowsAPI函数CryptProtectData来加密的。这意味着,只有用加密时使用的登陆证书,密码才能被恢复。而这根本不是问题,恶意软件通常就是在用户登陆环境下执行的。
  密码破译
  在讨论如何破译上面存储的密码之前,让我们首先使用Sqlite浏览器来查看一下登陆文件中的数据:
  我们的目的是从这个数据库中抽取出actionurl,usernamevalue和passwordvalue(是二进制数据,所以SQLite浏览器不能显示)。而破解密码,只需要调用WindowsAPI中的CryptUnprotectData函数。幸运地是,Python为调用WindowsAPI准备了一个完美的叫做pywin32的库。
  先看一下我们使用的PoC:
  运行上述代码,可以看到已经成功了!
  虽然找到密码是如何存储的有点费事(也可以使用其他的动态方法,但是分析代码会更透彻),但是解密密码则几乎没费什么力气。唯一被保护起来的就是密码的部分,还仅仅保护当前用户。
  
  24
  
  三、IE浏览器
  获得密码难易程度:简单一般困难(依版本而定)
  本质上来讲,直到IE10之前,IE浏览器的密码管理与Chrome使用的是相同的技术,但有一些有趣的改变。为了全面的展示,我们先简单讨论一下IE7IE9的密码存储,然后再讨论在IE10中的变革。
  IE79浏览器
  在IE的早期版本中,根据密码类型的不同,会被存储于两个不同的地方:
  注册表(基于表单的验证)这类密码是提交给诸如Facebook、Gmail之类站点的。
  证书文件HTTP验证密码方式,类似于网上登陆证书。
  根据本篇文章需要,接下来讨论基于表单验证的证书,这也是大多数攻击者可能选择的攻击目标。这些证书存储于如下注册表键位置:
  HKEYCURRENTUSERSoftwareMicrosoftInternetExplorerIntelliFormsStorage2
  用regedit(注册表编辑器)可以看到值,类似于下面这样:
  正如Chrome中的示例,这些证书使用WindowsAPI中的CryptProtectData函数加密后储存。不同之处是该函数添加了额外的熵(译者注:熵,熵就是混乱的程度,用来描述某个事件不断趋向混乱的过程)。这里的熵,就是这注册表键值,它是网站URL的SHA1的校验和,以供证书使用。
  这非常有用,因为当用户访问网站时,IE能够迅速根据URL的哈希值判断是否已经有此证书,之后再用此哈希值完成证书解密。如果攻击者不知道此处使用了URL,解密证书就会变得很困难。
  通常,攻击者能够通过历遍用户因特网访问历史,hash每个URL以及检查每个存储证书的方式,来降低此种保护方式的效果。
  本文中没有贴出完整代码,你可以在这里处获得完整示例。现在,我们开始讨论IE10。
  
投诉 评论 转载

互联网需要“现场力”现在的产品经理,如果有几年的工作经历,我发现会有一个现象,就是“不讲人话”。比如我们的某个产品有个功能,名字叫做“让照片飞起来”。我问产品经理这是什么东西?他说就是可以把手机的……【产品经理沟通那点事】如何与运营沟通【编者按】老肥之产品经理沟通那点事系列,续【产品经理沟通那点事】如何与设计师沟通和【产品经理沟通那点事】如何与工程师沟通后,最新推出本文“如何与运营沟通”。很多人觉得产品……【产品经理沟通那点事】如何与老板沟通【产品经理沟通那点事】系列文章前期已更新发布“如何与设计师沟通”、“如何与工程师沟通”、“如何与运营沟通”,这一系列的文章写到最后一篇了。说实话也是最让人纠结的一篇。因为沟通的……由情色行业想到产品经理与产品曾经有这么一个段子:中国的网民中只有上黄色网站的用户是素质最高的,因为不管你什么站点发布了什么样的信息,大到世界风云,小到拉屎放屁,总有人在那骂。但是只有黄色网站的用户一直在那……【产品经理沟通那点事】如何与工程师沟通【编者按】老肥之产品经理沟通那点事系列,续【产品经理沟通那点事】如何与设计师沟通后,最新推出本文“如何与工程师沟通”。按理说这个系列里这一篇应该是最好写的,因为我自己原来……【产品经理沟通那点事】如何与设计师沟通【篇首语】如果你问我,我理解的一个产品经理最重要的能力是什么?我的回答是,分两个维度:从产品的维度来说,能否分清什么是用户“需要的”,而什么是用户“想要的”;从执行或者说团队的……浏览器是如何存储密码的?一、引言我曾经介绍过名为dumpmon的推特机器人,它监控着众多“贴码网站”的账户转储、配置文件和其他信息。自那以后,我一直留意着监测到的信息。接下来会有关于dumpmo……八一八产品经理这个行当几年前,如果你说自己是做产品的,估计没人懂。但现在,估计没人不懂。李开复曾经说过,产品经理是未来的CEO。其实,不只是未来,且看现在,多少互联网行业大佬,他们虽然顶着CE……颠覆性思维浅析最近看了一本《颠覆性思维》的书。对于颠覆性思维的一些体会与大家分享下。书中提到颠覆性思维的路线如下:1。提出颠覆性假设在这个阶段,需要大胆的假设,打……战略不能在云端,必须要落地到产品在公司内部,我反对做评论家,创业者首先不要去做评论家。评论家站在高端,谈产业问题,谈格局,这个东西其实没意义。很多问题越抽象之后,说的话都是正确的废话。不管是大企业还是小企业,……以西游记为例,解读产品过程中分工导言:唐僧之于BOSS,孙悟空之于产品,猪八戒之于设计,沙僧之于技术,西游记各具特色的四人同样可以赋予他们产品流程中的各角色。现在对于产品经理的理解,还处……美图秀秀产品经理工作小结2013年7月9日,意味着我在美图已经呆了1年了。1年时间,好像做了很多事情美图秀秀iPad版之前面试时就了解清楚了,我入职后主要是负责美图秀秀iPad版的产品设计……
想好这3个问题,才是和设计师沟通的正确姿势产品经理的四大跨界思维及关注点探讨从社交动机,行为方式,关系链看社交产品拒绝脑补需求,从创建人物模型开始如何应对“鸡生蛋”问题产品经典逻辑陷阱有节奏的用户测试:自测、内测、公测产品经理应该多看数据,但绝不能迷信数据【Simon带你逛起点】产品路上,成就更好的自己你都说服不了自己,凭什么做合格的产品经理深度丨从上帝视角审视产品需求(上)从公司的角度看,创业公司的产品经理需要做什么?干货总结:数据带来的奇妙世界(四)
自控力意志力八招教你提升自控力生活本就不易,人这辈子,要学会和自己和解鸡蛋胶是什么鱼胶(鸡蛋胶和黄花胶哪个好)华为mate9怎么样(荣耀5pro口碑怎么样)感恩与珍惜缺乏自信这些方法让你找回自信庐山之美在历史人文,秀峰的摩崖石刻当属一绝合伙协议有趣的经典励志小故事应对老龄化健康是关键“加强预防免疫、让健康老龄化成为长寿红利 啫喱膏和发泥哪个好用让头发定型的有哪些产品消防演练

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界