官方服务微信:dat818 购买与出租对接

揭秘:如何通过一张火车票还原完整身份证号码及编码规则

3万

主题

2

回帖

10万

积分

管理员

积分
107441
发表于 3 小时前 | 显示全部楼层 |阅读模式
    今日,我将向大家展示如何仅凭一张火车票,就能恢复出完整的身份证号码。众所周知,火车票上能够显示出乘客的姓名以及部分身份证号码,但其中四位是加密的。这样的做法真的能确保安全吗?实际上,只需运用一些简便的方法,就能轻松恢复出完整的身份证号码。在社工领域,这种方法被广泛运用,例如在验证密保问题、重置各类账号密码时。哎呀,我又调皮了(:)

    进入正题,下图是本次实验使用的一张火车票。

    0x1

    要恢复被遮挡的身份证号码,必须首先掌握身份证号码的构成规则。该号码的前六位数字代表地区码,据此可以判断持证人的户籍所在地。接下来的八位数字记录了持证人的出生日期。紧随其后的四位中,最后一位是校验码,而倒数第二位则用于辨别性别,男性通常对应奇数,女性则对应偶数。以上便是身份证号码编码的基本要素。

    0x2

   


    火车票上的编码如何恢复呢?该编码记录了出生的月份与日期,因此总共只有366种组合,而非四位数所代表的10000种可能性,这构成了一个缺陷。若进行遍历,最多只需进行366次尝试即可锁定某个人的身份证号码。然而,存在一种方法能够进一步降低这个数字,那就是利用校验码来剔除那些验证失败的号码。关于检验算法,网络上提供了丰富的资料,它涉及将前17位数字与特定数字相乘,接着通过模11运算得到余数,这个余数即为校验码的最后一位。在这里,X代表数字10。据此,我们可以排除10号或11号的日期,从而筛选出30多个可能的号码。下图中展示了利用这一方法得出的所有34种可能的日期。

    那么,我们该如何核实这剩余的三十余个号码呢?实际上,这一过程完全可以在12306平台上完成。只需进入“常用联系人”这一管理模块即可。

    在添加常用联系人信息时,若发现姓名与身份证号码不符,系统将显示“待验证”状态;若两者相符,则会弹出“已通过”的提示信息。由此可见,系统后端确实设有验证功能。

    只需将这三十余种可能的遍历一一尝试,便能够找到与姓名相对应的正确身份证号码。若运气颇佳,所需工作量将十分有限,例如在实验中仅通过七次尝试便成功确定了火车票的身份证号码;而即便运气不佳,最多也仅需三十余次尝试。

   


    得到的结果如下图。可以看到生日已经还原出来了。

    0x3

    总结而言,从互联网安全的角度审视,实验结果揭示了火车票打码存在安全隐患,而12306的乘客验证机制亦需加以规范。实际上,若仅对最后四位进行打码,其安全性将显著提升;同时,在姓名处添加一个星号标记亦属必要。此外,12306在添加联系人环节,应限制同一姓名的验证尝试次数,一旦连续失败三次,便应停止验证。身为乘客,我们必须确保火车票信息的安全,绝不可随意丢弃,亦不可拍照后未经处理便上传至网络,以免不法分子趁机利用。

    文章来自《七安全》
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2025, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2025-5-17 16:58 , Processed in 0.086965 second(s), 17 queries .