本文作者:夏之冰雪,i春秋签约作家
《我在百度网盘上看到上万条车主个人信息,企业、政府高官信息、各种数据库和无穷无尽的盗版》,一时间,这篇文章就火了,火爆程度另百度猝不及防。
其实呢,这事真不能全怪百度,毕竟用户分享出去了。之所以引起这么大轰动,主要是因为用户的文件本身,什么数据都有,导致这次危害或者说恐慌,进行了放大。
每一次危机过去之后————
普通人,只会对其津津乐道;
有能力的人,会思考如何避免再次发生;
而开拓者,则会洞察整个形势。
1. 百度网盘泄露事件留给了我们什么
百度事件发生,得到消息的人会赶紧确认自己的隐私文件是否被分享,然后尽快取消分享保证安全。一周过后,风波也就散了,基本就没有什么话题或者新闻了。
这里我抛出一系列问题:
1. 除了百度网盘,还有没有其它类似的问题?
2. 遭受泄露的用户群体,有哪些通性?
3. 从事技术行业的人,更具备敏感意识么?他们是否更大程度避免发生这类问题?
本篇文章不会给出答案,因为这是开放性问题,没有绝对的答案。上面这几个问题,目的是为了让大家带着思考去看下文,之后,你可能会对百度事件,有一个更全面的认识。
2. 从最大的同性社交平台获取数据
好了,言归正传,回到题目。题目不是噱头,毋庸置疑github是全球最大的同性社交平台,这篇文章,我会通过github向大家展示一种攻击思路,以及我的一个成果:
我有几千个github账号和密码(确实没有上万,不吹牛逼,该多少就多少)。
几千个账号,说多不多,说少不少,所运用到的技术原理————基于爬虫的数据攻击,这方面的研究(不知道算不算学术)差不多有一年多了,我会把可公开的内容展示给大家,研究的结果还不是很成熟,欢迎大家在下面回帖讨论,很乐意与大家交流。
在github平台,用户需要输入账号和密码登陆,而账号可以输入邮箱也可以输入github的用户名。
github用户名就是所谓的git账号,这个是对外公开的,查看个人主页,或者查看代码时候,都会在比较明显的地方显示用户名,通过用户名可以直接登录github。比如这个哥们,他叫Sushil Thasale,而他的github账号是sushil-thasale。
账号很容易得到,那么密码怎么才能知道呢?直接上图!
1. 这是某个用户的密码:
这是这个用户的登陆后的页面:
2. 这个用户名字是四位,很好的账号——jv98,他的密码很复杂:
这是登陆后的个人主页:
3. 其实我们还能知道用户的邮箱,这个用户的邮箱是Oliver.andersson.te14c @ gmail.com,如此复杂,他的密码却很简单:
个人账户设置页面,我可以悄悄地加一个邮箱进行监控:
4. 再给一个2013年就注册的账号和密码:
登陆后的个人主页:
好了,不晒图了,这种账号确实有几千个,而且有好多都是github的重度用户。
细心的读者应该已经发现,我是怎么找到他们的密码的了。所有密码截图,都是来自他们自己上传到github项目的代码里,所有截图都是代码截图。我利用了github的搜索技术,搜索到一堆想要的账号和密码,然后进行登录尝试,登陆成功的我就记下来。
那么,怎么搜索才能找到呢?
1. 充分利用开源项目,开源项目有固定的存储密码的位置,比如php语言的wordpress,密码存放位置在根目录下的wp-config.php文件中,代码内容define(‘DB_PASSWORD’, ‘password’)。
2. 开源项目有很多,就拿php语言来说,就有wordpress、joomla、phpcms、discuz等。
3. 利用搜索技术,比如同时搜索多个关键词define,DB_PASSWORD,筛选语言为php,基本就能列出所有wordpress的密码了。
4. 善于利用搜索技术,对于密码为空的要过滤掉,对于密码为####、*****这种的也要过滤掉。
以上操作,千万不要手工,开头我都说了————基于爬虫的数据攻击,所以我们要写爬虫,自动爬取github数据,然后通过正则匹配筛选掉不想要的数据。
这里的核心就是爬虫,以及过滤。过滤技术用得越好,数据越有价值,爆破的时间成本越低!
除了过滤掉常见的password、####、******、空密码等,还有一个细节一定要注意:
没错,github密码有要求的,所以我们可以写个正则,只保留符合 github 密码要求的,这样我就拿到了一堆价值数据。
然后再用python写个程序,模拟登陆github就可以了。
最后再展示一个github项目比较多的账号:
为了避免引起额外信息泄露,暂时无法提供更多深入的数据和完整的爬虫框架脚本。
坐拥这些账号,目前我能想到的赚钱方法就是,收费帮别人的项目点赞。
3. 网络安全从业者与爬虫技术
爬虫技术本身,并不能实施黑客攻击,也不能直接与安全连在一起。
但是纵观很多安全方面的东西,却又都离不开爬虫技术:
1. 百度网盘数据泄露,爬虫惹的祸。
2. 某企业存在通过id泄露数据,我们可以编写爬虫批量扫描id获取数据。
3. 某网站权限配置不当,导致在特定情况访问登陆后的页面,这时候也可能需要写爬虫。
4. wvs等安全工具,严重依赖爬虫,通过爬虫爬取网站组织架构。
5. 探探app,两年前我就玩过,含有大量美女,我的第一反应不是感不感兴趣,而是悄悄地写了个爬虫,获取了大量图片,而且我还发现他们防色情做的不严谨。(开个玩笑)
写到这里,大家应该明白了,为什么我强调爬虫的重要性了。
另外,爬虫可以使很多事情变得有趣,只要肯琢磨,脑洞足够开,我们完全可以实施很多攻击。
从过来人角度说一下,自己的成长蛮有意思的,从爬虫起家学技术,中途又在公司从事过接近一年的数据挖掘,这两个技术的结合,给我的学习和研究,带来了很多兴趣。
当你具备爬虫和数据分析时,你真的可以去改变一些事情。
4. 乌云密布的爬虫
百度网盘这件事,是我不想看到的,这类安全问题的一个共同特点:
1. 用户自身确实存在问题。
2. 从严格意义上讲,这个不是漏洞。
3. 企业在修复时,处于下风,甚至无能为力、无法修复。
就拿github这个例子来说,除非我把github几千个账号发出来,github把每个人账号都冻结。
我只是尝试了一些开源项目,还有很多项目我没有实施爬虫攻击,比如facebook的redmine项目等,很有可能这些项目代码里,也有密码泄露。
真的没办法根治!未来,我担心会有越来越多的安全问题,属于没有办法根治的,却存在极大安全隐患的。就好比,我生大病了,我却不知道怎么治,你说问题严重么?
只说结论:
脚本执行了一个下午,我便拥有了几百个阿里云服务,其中不乏性能很高的服务,不乏百万数据级别的redis服务,也不乏企业服务。这些服务里面的数据,我不知道有多少价值,泄露会引起多少恐慌,因为我一条都没看过。
这是提交给阿里云之后,阿里云的修复建议(很早之前的短信了):
我的同事、朋友们之中,都有收到阿里云的这条短信。嗯,没错,因为漏洞本身源自用户自己的数据泄露,只能通过短信提醒用户。
是不是和百度网盘泄露,有相似之处?
就写到这里吧。。。
安全渐远渐行,却总有一些无能为力的事情发生,丝丝的痛。