一次有趣的网页敏感信息保护 和 解析数据 思考

使用字体保护网页敏感信息

在一次找(爬)数据的过程中,想批量处理一些业务数据,发现了这个巧妙的敏感信息隐藏思路。
如下图所示,手机号直接明文暴露出来了,但是当你想复制出来时发现复制了一堆的方块,是11个特殊字符 򈊘򈊜򈊗򈊗(省略后续位数)。
F12定位元素也是能看到都是小方块,但是又没有看到有请求去后端拉取数据,这就有点意思了。

如果恰好有用专业的IDE或者复制到Terminal,就会发现是一串不常见的unicode串编码。那么怎么获取这份明文数据呢。
在这里插入图片描述

隐藏实现思路:

  1. 对应业务的网页直接做静态化,不通过后端请求敏感信息(其实这个设计是最不安全的,虽然成本低)。
  2. 展示的值是特殊字体(例如 LeeTreeshadow)渲染后的值,而不是普通的字符串,即无法直接通过复制粘贴,读取网页HTML得到真实值
  3. 字体文件还能再通过js用base64加载进来,规避F12直接看到字体ttf文件
  4. 每个网页使用不同的unicode和数字映射规则,加大数据字典构造复杂度
  5. 再对整体静态结果资源进行混淆

爬虫解密思路

  1. 得到字体实际unicode字符串值
  2. 数据字典构造
    1. 人工去寻找unicode值和肉眼看到的数字组成数据字典(才10个数字),但是遇到多规则就无法人工完成了
    2. 终极:通过unicode值的规律来推算出数据字典,一个正经的字体文件 定义 unicode时 0-9 是有序递增的,而国内手机号都是1开头,所以。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值