博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
国外14亿泄露数据下载及还原
阅读量:6934 次
发布时间:2019-06-27

本文共 4248 字,大约阅读时间需要 14 分钟。

国外14亿泄露数据下载及还原

simeon

     2018年6月10日freebuf发布了篇文章《14亿邮箱泄露密码明文信息查询网站惊现网络》(链接地址:),声称其泄露的数据可以通过暗网网站()进行查询,后续通过网络获取其泄露文件的下载地址,历经千辛万苦,终于将数据下载到本地,通过研究,将其txt文件进行还原处理,并对其进行无效数据处理,去除空密码等操作。

1.1.1数据下载及分析

1.数据下载地址

1)二进制未压缩41G磁力下载链接地址

magnet:?xt=urn:btih:7ffbcd8cee06aba2ce6561688cf68ce2addca0a3&dn=BreachCompilation&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fglotorrents.pw%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337

2)二进制压缩11G磁力下载链接地址

magnet:?xt=urn:btih:09250e1953e5a7fefeaa6206e81d02e53b5b374a&dn=BreachCompilation.tar.bz2&tr=udp://tracker.leechers-paradise.org:6969/announce&tr=udp://tracker.opentrackr.org:1337/announce&tr=udp://tracker.pirateparty.gr:6969&tr=udp://tracker.coppersurfer.tk:6969/announce&tr=udp://tracker.zer0day.to:1337/announce

2.数据库内容

该集合数据库中包含从Bitcoin、Pastebin、LinkedIn、MySpace、Netflix、YouPorn、Last.FM、Zoosk、Badoo、RedBox以及游戏平台(Minecraft和Runescape等)泄漏的数据,以及Anti Public,Exploit.in泄漏的凭证列表

1.1.2数据分析及处理

1.对下载文件进行解压

   breachcompilation.txt.7z进行解压,解压后数据在data目录,它是按照字母进行排序的,在解压根目录存在一些脚本文件,如图1所示,原始文件解压后45G,后面我又对该文件进行压缩处理,节约空间。

1-14亿数据处理.jpg 

1解压文件

2.使用cat生成文件

  使用cat * >alla.txt类似命令,对每一个文件夹进行处理,然后生成多个txt文件。

3.文件格式

   通过notepad对该密码文件进行查看,发现数据为邮箱帐号及密码,使用“:”分隔数据字段。

4.创建数据库及表

1)在mysql中创建数据库14yidata

2)创建数据库表

alla表设置两个字段,email及password。

1.1.3数据库导入处理

1.txt文件导入到数据库

1)对a开头的数据进行处理

  通过cat对a文件夹进行处理,共生成alla.txtalla-l.txtalla-n.txt三个文件夹,其中alla-l.txtalla-n.txt是因为在a文件夹下存在子文件夹l及n。

2)执行导入

   Navicat for MySQL中分别执行以下语句进行导入,如图2所示,导入成功后,会显示受影响的行,该数据表示导入了多少条数据。

LOAD DATA LOCAL INFILE "d:/ok/alla.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

LOAD DATA LOCAL INFILE "d:/ok/alla-l.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

LOAD DATA LOCAL INFILE "d:/ok/alla-n.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

2-导入文本文件到数据库.jpg 

2导入数据

2.查询存在特殊字符邮箱数据并保存

   mysql中执行:select *  from alla  where email like '%;%'  and password >''查询后,将查询结果保存为alla-ok.txt文件,如图3所示,使用notepad打开alla-ok.txt文件,在其中可以看到存在特殊字符,将空格替换为“:”

3-处理特殊字符及有密码的字段.jpg 

3处理特殊字符数据

3.删除存在特殊字符“;”及有密码的数据

执行语句:delete   from alla  where email like '%;%' and password >'',如图4所示,将alla表中存在“;”和密码的数据进行清洗,也即删除掉,前面已经保存了数据(alla-ok.txt)。

4-删除特殊字符及密码的数据.jpg 

4删除特殊字符数据

 4.查询空密码

在处理数据库中发现存在很多空密码,执行查询:select * from alla  where password='',执行后,如图5所示,显示共有292672条数据。

5-查询空密码.jpg 

5查询空密码

5.删除空密码

由于空密码没有什么用处,是废弃数据,需要进行删除处理,执行语句:

delete   from alla  where password='' ,如图6所示,删除292672条数据记录。

6-删除空密码数据.jpg 

6删除空密码数据

6.查询特殊字段“;”密码并导出文件

   在导入的数据库表alla中,存在一些特殊字符,其email名称跟密码通过进行分割,如图7所示,执行查询select *  from alla  where email like '%;%',这些数据不便于查询,需要进行处理。

7-查询特殊字段数据.jpg 

7查询特殊字符“;” 存在的数据

7.导出特殊字符“;” 存在的数据

Navicat for MySQL查询处理完毕后,如图8所示,单击导出向导,根据其提示进行即可,将存在特殊字符的数据记录全部导出道d:\ok\ok\1.txt文件。

8-导出数据库处理.jpg 

8将所有特殊字符数据记录导出到1.txt文件

8.合并导出特殊字符和密码的字段表及后导出的密码表

1)替换字符

  使用notepad打开1.txt文件,查找目标“;”,将其替换为“:”,如图9所示,选择全部替换即可。

9-替换.JPG 

9替换特殊字符记录

2)合并数据

   alla-ok.txt中的数据复制到1.txt文件中。

8.去除行尾空白字符

   前面进行查询及处理的数据存在空白字符,需要通过UltraEdit编辑器对1.txt文件去除行尾空白字符,单击“格式”-“删除行尾空白字符即可,如图10所示。

10-删除空白字符.jpg 

10去除行尾空白字符

9.重新导入特殊字符处理的表

将处理后的数据文件1.txt导入数据库,执行语句:

LOAD DATA LOCAL INFILE "D:/ok/ok/1.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

如图11所示,将存在问题的数据记录重新导入数据库中。

11-重新导入数据.jpg 

11重新导入数据库中

10.将前面所有查询处理保存

   alla处理结果表进行重命名,例如alla_ok,按照顺序,对前面的查询处理进行编号,对后续数据进行处理。直至将所有数据处理完毕,对所有文件处理完毕后,实际数据数为1387009672条。

11.如果有兴趣可以利用14亿数据进行大数据学习

   推荐一个对14亿数据的处理及分析站点:https://github.com/philipperemy/tensorflow-1.4-billion-password-analysis

1.1.5总结及探讨

1.文本文件导入数据库语句总结

   很多时候泄露的数据为txt文件,需要对其进行处理,将txt文件中的数据导入数据库,方便进行查询等处理。

1)将文本文件导入mysql数据库

LOAD DATA LOCAL INFILE "d:/ok/alla-n.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

2)查询存在特殊字符及密码的数据,并保存

select *  from alla  where email like '%;%'  and password >''

3)对上面的数据进行替换处理

空格替换成:

4)删除存在特殊字母“;”及有密码的数据

delete   from alla  where email like '%;%' and password >''

5)查询空密码

select * from alla  where password=''

6)删除空密码

delete   from alla  where password=''

7)查询特殊字段“;”密码并导出文件

select *  from alla  where email like '%;%'  

8)对导出文件进行替换处理“;”替换为“:”

9)合并导出特殊字符和密码的字段表及后导出的密码表

10)去除行尾空字段

11)重新导入特殊字符处理的表

LOAD DATA LOCAL INFILE "D:/ok/ok/1.txt" INTO TABLE alla FIELDS TERMINATED BY ':';

2.数据库去重处理

  在本次处理中未对数据进行去重处理,由于数据量比较大,进行去重处理后,感兴趣的朋友可以将所有txt文件cat成一个文件,使用sort进行去重处理。其命令为:

sort -u all.txt >allnew.txt

3.在线查询

互联网上有一些密码及邮箱在线查询网站:

https://pwdquery.xyz/:输入邮箱,隐藏部分的泄露密码

https://verify.4iq.com/:输入邮箱,自动将泄露密码发送到邮箱上

https://haveibeenpwned.com/Passwords:输入密码,确认是否泄露

参考文章:

对***技术感兴趣的朋友可以订阅本人撰写的付费专栏:

转载地址:http://pygjl.baihongyu.com/

你可能感兴趣的文章
unix & linux oralce用户 内存使用情况分析
查看>>
linux笔记本上安装了双显卡驱动(intel+nvidia)
查看>>
怎么样MyEclipse配置Tomcat?
查看>>
法猿生存计划--左边的管理,技术正确
查看>>
使用eclipse搭建嵌入式开发环境
查看>>
为ListView组件加上快速滑块以及修改快速滑块图像
查看>>
H-index因素
查看>>
操作和维护经常使用的命令
查看>>
python获取实时股票信息
查看>>
[CareerCup] 6.4 Blue Eyes People on Island 岛上的蓝眼人
查看>>
白话JAVA守护线程
查看>>
APP抓链接工具(Fiddler版)
查看>>
Java对象表示方式2:XStream实现对对象的XML化
查看>>
arm-linux-gcc/ld/objcopy/objdump参数总结【转】
查看>>
asp.net 页面 输出之前修改 html(render)
查看>>
express运行原理
查看>>
一步一步学习SignalR进行实时通信_6_案例
查看>>
JAVA基础学习day21--IO流三-File、Properties、PrintWriter与合并、分割流
查看>>
OAF中下载附件之后页面失效,报过时的数据异常,浏览器后退异常
查看>>
解决 Error:No suitable device found: no device found for connection "System eth0"
查看>>