在软件测试管理中我见过的那些愚蠢的安全漏洞
晓晓 2018-03-13 来源 :网络 阅读 1225 评论 0

摘要:知名安全技术博主 Tony Hunt 吐槽了一些正规公司、正规网站的安全漏洞:HTTP + cookie 里明文存放用户名密码;输入用户名与生日就能重设密码;密保问题;邮箱绑定个人信息等等。

我见过的那些愚蠢的安全漏洞

知名安全技术博主 Tony Hunt 吐槽了一些正规公司、正规网站的安全漏洞:HTTP + cookie 里明文存放用户名密码;输入用户名与生日就能重设密码;密保问题;邮箱绑定个人信息等等。

  我的朋友 Lars Klint 发过这条推:「你的密码并不是独一无二的」

在软件测试管理中我见过的那些愚蠢的安全漏洞  

(附图中的提示为:密码已经被 XXX 使用。请换一个。)

  我顺手把它转发了出去,因为我知道还有比这更疯狂的事情。Twitter 用户没有把它当作一个在 Reddit 上流行的笑话,而是带着恐惧和指责评论它。事实上,这完全是可能的。呵呵,我看到过一些非常愚蠢的安全问题,它不仅让我相信这篇 tweet 的真实性,并且认为这非常有可能发生。你不信?来,朋友,帮我拿着啤酒,我来给你说道说道…


  记住我

  假设现在你想做一个“记住我”功能,就是在方框里打勾,然后下次回到网站时,已经登录的那种。这是 Black 和 Decker 的做法:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  是的,这是 cookie 中 Base64 编码版本的密码,每次请求时的发送其实都不安全,而且由于它没有被标记为“安全的”,整个发送过程都很自由,容易被获取。


  觉得这很糟糕?试试我在这一篇文章中提到的 Aussie Farmers Direct 的做法:

在软件测试管理中我见过的那些愚蠢的安全漏洞  

  看吧,这是安全的,但它仍然是一个 cookie 中的密码,并且由于它不是 HttpOnly,在网站上仍然会有 XSS 攻击的风险。那对此他们是如何回应的?这就引出了下一个话题…


  企业的反应

  回到 2013 年,我做了一件尽职的事情,让 Aussie Farmers 知道了上述风险。我还建议,他们不应该通过邮件发送密码(这是我最讨厌的事情之一),之后我收到了一封来自自称是“市场部经理”的人的回信:


  到目前为止,我司还没有发生过,因为给新用户通过电子邮件发送密码,而引起的安全问题,而且据我所知,我本人网上注册的 90% 网站,也遵循着一样的流程。


  这让我想起了国际石油和天然气公司(Oil and Gas International)的这条评论,是它在我的新 HTTPS 课程文章中给出的回复。现在当登录表单没有被安全加载时,Firefox 开始警告用户,而这让他们变得暴躁:


  你方对于不安全的密码和/或登录的公告,会自动出现在本司(Oil and Gas International)的登录页面上,但并未得到我方的许可,请立即移除它。我方有自己的安全系统,并且超过 15 年来从未被攻破。你发出的公告引起了订阅者的关注,并对本司的业务造成了不良影响。


  他们的网站,呃,在那之后不久就没法用了(SQL 注入风险可能没有帮到他们)。但网站现在又能用了,就是不清楚,是不是他们已经把时钟往前重置了整整 15 年。


  (译注:SQL Injection,即 SQL 注入,就是通过把 SQL 命令插入到 Web 表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令。)


  虽然我们谈论的是无关紧要的安全意见,但英国天然气公司(British Gas)过去也遇到了一些困难:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  (内容:@BritishGasHelp 不允许粘贴对于密码管理不是一个有效的举措,完全没有必要,而且很危险!

  @passy 如果我们允许用户粘贴,我们将失去安全证书,这会让我们置身在暴力破解的危险中,不管怎样,谢谢你的提醒~ Steve)


  当我们身处世界的一角时,很难忽视 Twitter 上像乐购(Tesco)这种大企业偶尔精神错乱的例子 :

在软件测试管理中我见过的那些愚蠢的安全漏洞

  (@troyhunt 请不要担心,您的密码正被安全地存储,它只在密码提醒邮件中显示,供您进行粘贴操作)

  但是,你会说“嘿,安全密码重置很难!”不尽然,看看这个…

  密码重置

  一切是这样开始的:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  (内容:@BetfairHelpdesk 那些使用用户名和生日登录的人,是不是应该都应该改改他们的密码?)

  你原本可能会想:“哦,你的用户名是电子邮件地址,然后 Betfair 给你发了一封电子邮件,而你通过其中包含的特殊链接就能重置密码”,但现在你知道了,这种想法太想当然了。出乎意料的是,Betfair 实际上并没有相信 Paul 的说法,所以我做了个视频来解释一切。


  这是听上去的样子:如果你知道某人的电子邮件地址和生日,你就可以任意重置他的密码。但是,在双方交流的过程中,一定是哪里出错了,导致 Betfair 板起脸来,“好心地”提醒 Paul,如果他把电子邮件地址和生日告诉其他人,就违反了他们的条款。


  (内容:@BetfairHelpdesk 你似乎是在回避问题:只需要用户名和生日就能更改密码,是这样的吗?

  @psawers 是的,但是如果你告诉了别人这个信息,就违反了我们的条款)

在软件测试管理中我见过的那些愚蠢的安全漏洞

  你知道他们真正需要的是什么吗?安全问题…


  安全问题

  我在这儿举个例子:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  (内容:这是我见过的最糟糕的安全问题)

  什么?这个太一般了?那么试试这个:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  我刚刚上的一个网站,它有个这样的安全问题:你祖母家的狗叫什么?

  &*#¥*&(*%^$

  这些安全问题真是疯了!我是说,这都是怎么想的?总体而言,要么采取不变的数据,比如你母亲的姓,或者可枚举的问题,比如你第一辆车的样子、你最喜欢的电影…在本文中,安全问题应该获得一席之地!现在让我们看看一些更为理智的东西…

  登录

  你知道登录过程中最难的一步是什么?密码。要是有更简单的方法就好了:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  (内容:呃…玩真的吗?这简直蠢到了一种新高度)

  你可能会想“它只是一条 tweet,不一定是真的”,但你错了,它就是真的,这是 archive.org 的快照:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  (内容:输入手机号和密码快速登录,密码默认是手机号后四位)

  在我们精神失常,说出“密码必须消失”这种话之前,还是要冷静一下,毕竟还没有人知道如何做到这一点!此外还有很多有帮助的技术解决方案,但没人真正想要使用它们,而事实是,为了规避技术问题,我们反而设置了更多的密码。但是,我还看到过更糟糕的…


  物理安全

  我觉得我找不到比这更荒谬的例子了,所以我把它放在这儿:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  (内容:“100% 聚酯薄膜”双屏蔽 1.3c 级电缆,具有抗病毒保护功能,可减少病毒噪音,并获得完美的图像传输。)

  你知道真正让我恼火的是什么吗?想想你那些不懂技术的朋友和亲戚,他们为了让 DVD 播放机与电视机一起工作,走进商店拿起两根 HDMI 线缆,然后翻到盒子背面,开始比较产品规格。当看到其中一根有抗病毒保护,而另一个根没有,你认为他们会选择哪根? !

  现在,还有一件事…


  账户枚举

  我想把“最好的”东西留到最后讲。说它是最好的,是因为它仍然是一个随处可见、愚蠢的安全问,尽管愚蠢,但至少人们正在积极修复它:

在软件测试管理中我见过的那些愚蠢的安全漏洞

  (内容:我们马上要更换登录系统了,但同时,用户仍然可以使用我们的快速结账功能,敬请期待~)

  这是距离本文八个月前的事了,那么这个愚蠢的安全问题究竟是什么?想象一下:你前往 Strawberrynet,扔掉了购物车里的一些香薰、爽肤水或其他什么,然后点击结账按钮。呈现在你面前的是:

在软件测试管理中我见过的那些愚蠢的安全漏洞 

  (内容:请输入电子邮箱地址以结账)

  你需要输入电子邮件地址,可以是网站上的任何邮件地址,之后,你就可以看到他人的个人资料了:

在软件测试管理中我见过的那些愚蠢的安全漏洞  

  等等,这是什么鬼?!这是因为他们将个人数据与系统上的电子邮件地址进行了捆绑。而且由于这是世界上(访问量)最大的五千个网站之一,每天有许多人打开浏览,从而在网站中留下了很多的数据。你可以输入一个女性的名字(网站主要卖化妆品)再加上一个常见的电子邮箱后缀,之后就是惊喜啦!如果你认为这有点可怕,呵呵,这实际上正是网站的一个特色:


  请注意,经过我们的调查,绝大多数用户都喜欢我们这个“不带密码”的系统。使用您的电子邮件地址作为密码已经足够安全了。


  才怪,这根本不安全!我在八月写了篇列举网站精神错乱的文章,其中提到了他们早期的 tweet,但他们似乎完全无视这个问题。我甚至创建了一个帐户来检测它的工作原理:

在软件测试管理中我见过的那些愚蠢的安全漏洞 

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试管理频道!


本文由 @晓晓 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程