如何用一个名字找到他/她的联系方式

前言:本文章不含任何个人隐私,没有涉及sql注入、暴力破解和跨站伪造请求等渗透手段,只是从互联网公开信息获取个人隐私

     相信每个人心里都会有一个名字,那个让你无法忘怀的人的名字。我也有,不巧的是我除了一个名字和一张逐渐模糊的脸什么都不知道,我想要找到这个人,这个时候我该怎么办呢?思路很简单,几十年前的人们可能束手无策,但现在是大数据时代,想找到一个人变得很容易了。道理很简单,名气越大的人越没有隐私可言,找到他的信息就越简单。

step 1:善用搜索引擎

  这里包括浏览器搜索引擎以及常用社交软件以及文章推送平台的搜索工具(特指微信),以‘张三’为例:

 

   当然我不会真的去找类似“张三”这么大众化的名字,即便真的有你想要的也会被淹没在海量的相关信息中。微信的公众号推送是一个庞大的信息来源,学校、学院、专业乃至班级都有其公众号,很多个人信息都不加保护地公开在互联网中。最近的‘清华学姐’事件就是如此,“热心网友”用很短的时间就找到了唐婧的个人信息,其中很大一部分都能搜索到。之后便是顺藤摸瓜,根据相关人名组合关键字可以找到更多相关公众号推送。

因为没办法放图,我只能简单文字描述我寻找的过程

微信搜索的结果只有几页,大多是大学的公众号文章,我挨个查看排除不可能的结果最后锁定一个可能性较大的文章。然后进入该公众号,利用文章搜索找到了更多包含‘张三’的文章,发现他是该学校下属学院的公众号写稿人。

 

 然后搜索这个学院的公众号,继续检索文章,又找到了几篇相关推送。其中一篇出现了他的照片,至此我终于确定这个‘张三’就是他。浏览他的相关文章,企图在评论中找到线索,但是没有。到这里这个公众号无法提供更多信息了,我又想到利用文章中出现的一些比较罕见的名字进行检索,因为这很有可能是他的同班同学。搜索结果是一个班级的公众号,但是‘张三’并不在这个班,经过查证,确认他们是学生会同一个部门的。问题不大,我已经知道了他的学校和年级专业。用这些信息搜索意外发现了他入学时候的分班名单,名单中有100多人的信息,包括他们的学号(这很重要)。

-------------很多学校都会公示重要通知,但是过了公示期也没有删除,导致信息泄露。

确认了他是xx学院xx专业xx年级xx班,很快就找到了班级公众号,在这里发现了一篇生日推送,里面提到了‘张三’的年龄、家乡生日。在评论中的室友祝福中出现了宿舍编号,至此下划线就是我在公众号发现的所有信息。

 

好像线索又断了,但‘不能在一棵树上吊死’,我可以用已知的信息去另一个平台查询

 

 利用qq群检索我发现了他的班级群,在管理员中没有发现符合‘张三’信息的人,换个思路:试着找他的宿舍群。大部分宿舍群都包含了宿舍号,抱着侥幸心理我找了很久幸运地发现了他的宿舍群,更幸运的是他就是群主。查看个人介绍确定和之前得到的信息一致,qq号也得到了。访问qq空间,试着找到更多信息,但他也很少发动态,只有寥寥几张照片。

step 2:多平台查找结合信息认证

然后查找与qq号绑定的微信和支付宝账号,微信无法确定是本人,进行支付宝姓名认证

 

 发现这个账户的所有者是‘李四’,可能是他的亲属,看来我的digger旅程还没有结束。

用pc端打开QQ查看‘张三’的qq,发现一个绑定的手机号——xxx******xx,给出了前3位和后2位,缺失部分太多,作用不大。

试着登录这个qq号,利用忘记密码功能,得到一个新的手机号码——xxx********,说明绑定的号码和密保手机号码不一样。

 

 当然我不可能真的登录,QQ有异地登陆保护,即便你用钓鱼网站拿到了密码,也搞不定验证码的问题。

又发现了两个不完整的手机号,只能换个平台继续找了。。。

在他学校的官网我发现了信息门户、教务系统还有其他需要登陆的系统,其中一个网站提供了根据证件号码查询学号的接口,这是个很好的漏洞。

 

 网站设计人可能是出于好意,但是留下了安全隐患。我已经知道了学号,用这个查询工具就能验证身份证号码了。

step 3:构造身份证号码并验证

身份证号码的规律相信你很熟悉了,之前我得到了‘张三’的家乡地址,以此查找相应地区的编号,构造1-6位号码;

根据年龄推算的出生年份+生日日期构造7-14位号码;

最后四位号码,前3位是同一地区的出生顺序,第三位单数为男、双数为女,最后一位根据前17位根据特定规则计算而来。

可以通过穷举出生顺序得到身份证号码,一个地区人不会太多,验证难度相对较低,可以用计算机程序辅助构造:

#这个程序可以根据你提供的前14位身份证号码生成可能的完整号码
print('输入结果输出的文件路径:')
fname = input()
credit = '00000000000000'
print('输入前14位号码:')
credit = input()
print('输入15~17位的范围(0-1000):')
numric = int(input())
fobj = open(fname,'w')
list1 = '10X98765432'
list2 = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
mode = 'X'
code = [x for x in range(numric)]#if not x%2]
for i in code:
	st = credit
	if i > 99:
		mode = str(int(i/100))
		st += mode
		mode = str(int(i/10)%10)
		st += mode
		mode = str(i%10)
		st += mode
	elif i > 9 and i < 100:
		mode = str(int(i/10))
		st += '0'+mode
		mode = str(i%10)
		st += mode
	else:
		mode = str(i)
		st += '00'+mode
	mod = 0
	for lt in range(17):
		mod += int(st[lt]) * list2[lt]
	mode = list1[mod%11]
	st += mode
	fobj.write(st)
	fobj.write('\n')
fobj.close()

 最后通过接口验证得到了他的身份证号码,教训:这种接口要限制次数

有了身份证号码便成功了一半,接下来去学信网(信息很多,漏洞也很多)进行用户名和密码找回

 

 要求的信息我都得到了,很轻易找回了用户名,是一个手机号码——xxx****xxxx。虽然通过了验证,但网站还是做了隐蔽处理,不过还是可以发现这就是之前qq设置的密保手机号码,中间四位数字不知道,但这不是问题。运营商的号码中间四位是按地域划分的,查找对应地区的号段,得到13个可能号码。

 

 将13个号码进行密码找回,发现有两个号码有查询结果。结合微信支付宝验证,确认其中一个是我想找的,至此我找到了‘张三’其中一个手机号码。

 

激动之后的反思

  大数据时代个人隐私成了奢望,你的个人信息不是在泄露就是在被泄露的路上。我通过一个名字最后找到了他的学校专业、社交帐号、身份证号以及手机号码,这还是在没有钓鱼劫持和查找社工数据库的情况下,可见情况有多严重。安全之路,道阻且长!

posted @ 2020-12-02 21:07  梵蒂冈宝石  阅读(16115)  评论(1编辑  收藏  举报