今天给大家演示如何通过一张火车票还原完整的身份证号码。大家都知道火车票是可以得到姓名和不完整的身份证号码,身份证有四位是打码的,这样就真的安全吗?事实上通过一些简单的方法就可以还原出来完整的身份证号码。社工中我们会用的非常多,比如验证密保问题,重置各种帐号密码。

我又邪恶了(:

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

通过火车票还原身份证号码

  1. 要想还原打了码的身份证号码,首先得了解下身份证号码的编码。身份证号码的前六位是地区码,通过这六位可以得知一个人的身份所在地。之后的八位是生日的年月日。后面的四位,其中最后一个是检验位,倒数第二位可以区分性别,通常奇数为男性,偶数为女性。这就是编码的基本信息。可以参考我的另一篇博客:身份证号码验证算法
  2. 火车票上打码的部分怎么还原呢?

    打码的是生日的月份和日期,所以一共只有366种可能,而不是四位数对应的10000种,这是一个弱点。如果遍历,只需要遍历最多366次就可以确定一个人的身份证号。但是有办法可以将这个数字再次减少,那就是通过校验码来去除部分检验失败的号码。检验算法网络上有很多说明,是通过前17位号码分别与一组数字相乘,然后模11得到余数,就是最后一位的校验码。其中X表示10。所以通过检验可以排除10/11的日期,最终只剩下30多个可能的号码。下图是通过该方法获取的所有34种可能的日期。

  3. 那么在哪里验证这剩下的30多个号码呢?

    1. 其实12306上就可以。在“常用联系人”管理里面。
    2. 在添加常用联系人的时候,如果姓名和身份证号码不匹配,那么就会出现“待验证”的字样,如果匹配,就会提示“已通过”,所以可以确定后端是有验证接口的。
    3. 那么只需要将这30多个可能的遍历添加,就可以得到姓名对应的正确的身份证号码了。运气好的话,工作量很小,比如实验中的只用了7次就确定了实验所用的火车票的身份证号码,运气差最多也就是30多次。
    4. 得到的结果如下图。可以看到生日已经还原出来了。
  4. 总结

    站在互联网安全的角度上讲,从实验可以说明,火车票的打码效果并不安全,12306的添加乘客验证机制也需要限制。其实最后四位打码的效果会好的多,姓名也是有必要打一个字的星号的。12306添加联系人的地方应该限制同一姓名的验证次数,失败3次就不再验证。而作为乘客的我们,一定要保护好自己的火车票的信息,千万不能随手乱扔,或拍照不处理直接上传到互联网,以防图谋不轨之人加以利用。


参考资料:
网上资料
备注:
转载请注明出处:http://blog.csdn.net/wsyw126/article/details/51997395
作者:WSYW126

通过火车票还原身份证相关推荐

  1. 火车票中的社会工程学信息(脱敏身份证信息还原)

    火车票脱敏身份证信息还原 经常在朋友圈看到好友晒旅行的火车票. 火车票有我们的姓名及经过脱敏处理的身份证信息, 但仅仅屏蔽了出生的月份日期,通过校验位暴力遍历便可筛选可能的30余组号码.即猜中的概率为 ...

  2. 无身份证、无证件、驾驶证可以领火车票高铁票动车票吗?临时身份证领票

    办理临时身份证是免费的,需要一张照片(自备或者公安值班室旁边自助拍照--好像15元) 问:在网上购买火车票,身份证没有带,如何取票.可以用驾驶证领取吗?. 答:不能使用驾驶证领票,只能办理临时身份证, ...

  3. 手机号归属地区编码_Excel隐藏手机号中间4位的6种方法,你见过几种?

    生活或工作中,对于一些重要的个人信息为了不被别人看到,保护个人隐私,所以一般在能保证一定识别度的情况下,我们会采用一些隐藏部分字段的方法,比如火车票上身份证的出生日期.中奖人手机号的中间4位都用&qu ...

  4. 长沙南站启动脸部识别验证验票;奔驰和美国无人机物流公司公司合作用无人机配送商品...

    人脸识别系统走入济南各大景区 保障游客出行安全 雷锋网 AI 掘金志消息,人脸识别系统最近已经应用在济南的长途汽车站和各大酒店等地.如今在济南的各大景点,也有了人脸识别系统. 在大明湖西南门入口处,记 ...

  5. 北京西客站火车行李托运指南

    ================================== 北京西客站火车行李托运指南: ================================== 写该日志时间2011.01.2 ...

  6. 【chineseocr_lite】识别效果

    不废话,先上图 总体来说:chineseOCR_lite的通用ocr跟chineseocr比较接近,稍微弱一丢丢,赞 但火车票和身份证识别差距比较大,身份证号经常丢失,而且信息不全,不过可以理解毕竟模 ...

  7. 第五期:企业生产管理中的数据分析应用

    生产系统在大多数情况下是一个内向型的组织,相对比较封闭,无论是连续型生产模式还是离散型生产模式,都可以用类似的分析方法和思路. 生产制造过程大概分为四大类阶段,即传统生产.精益生产.数据化生产.智能生 ...

  8. 安防如何切入出疆铁路建设 实现“名利双收”?

    6月3日9时16分,格库铁路(又称库格铁路)新疆段铺轨工作正式启动,比预计工期提前了12天."格库铁路"建成后将与南疆铁路.青藏铁路连通汇合,成为新疆第三条进出疆铁路大通道,我国也 ...

  9. 一文搞定!手把手教你文字识别(识别篇:LSTM+CTC, CRNN, chineseocr方法)

    个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 文字识别是AI的一个重要应用场景,文字识别过程一般由图像输入.预处理.文本检测.文本识别.结果输出等环节组成.   其中,文本检测. ...

最新文章

  1. 将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法(亲测)
  2. 【转】linux之fsck命令
  3. linux主机熵值过小,tomcat在linux启动应用慢解决方式
  4. 【JS】call,apply,bind
  5. mysql数据库在什么程序操作_MySQL数据库基本操作(一)
  6. python单例设计模式(待补充)
  7. 15分钟快速了解如何在Kubernetes中配置健康检查
  8. 用计算机绘制函数图像结题报告,《几何画板》在高中数学教学中的应用小课题结题报告...
  9. JBoss下载and安装
  10. 最小二乘法与极大似然估计
  11. android 反编译去会员,反编译教程
  12. 硬件防火墙销售 Apache 遭遇DDOS攻击!!!!!!!!!!
  13. Linux实用命令杂集
  14. 北大药学院院长被指涉嫌学术造假,同组院士做出回应
  15. CF898D. Alarm Clock(贪心 双指针)
  16. 关于印发《2000国家大地坐标系推广使用技术指南》和《大地测量控制点坐标转换技术规程》的函
  17. springboot 整合mybatis plus
  18. 高级前端必会手写面试题及答案
  19. IPv6接口自动配置的地址数量
  20. 在我们这个地方,你必须不停地奔跑,才能留在原地

热门文章

  1. Java基础——面向对象
  2. TENER: Adapting Transformer Encoder for Named Entity Recogni
  3. js中如何优雅修改一个多层嵌套list对象的值
  4. 六、SSL开源项目-Open虚拟私有网络
  5. python读写dbf数据库
  6. Facebook vs. Google: The battle for the future of the Web
  7. VC++中的DDX和DDV
  8. 第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍
  9. 打开Excel弹出“There are one or more circular references where a formula.....“
  10. 网络传输的异步、同步传输的实现原理