我会在2018.12.30晚12:00关闭server端请各位自行卸载插件,卸载前请点击浏览器右上角插件按钮记下10位数字编号,目前数据量是26万+,需要原始数据的请联系我邮箱donot#donot.me,后续可能要在元旦后才能完成数据整理,届时将在本博客进行通知。--2018.12.27 23:22:00

项目介绍

项目分为chrome插件和后端数据处理两个部分

插件:CDictMonitor
后端:CServer

插件:采集浏览器请求(正常页面访问而产生的请求,不含插件等产生的请求)host、pathname、get参数、tag,其中host在插件中会经过md5处理后通过post到后端,原因后面解释,tag标识数据类型(1=非静态,2=静态)。不会对浏览器的正常使用产生影响,数据格式:

{
    "host":"ff2608178401fdde7d11ccc41c0fd805",
    "pathname":"/cui-service/v1/browse_info/save_browse_info",
    "search":"?id=1&name=donot",
    "tag":1
}

后端:flask开发,分解数据并存储

目标:生成一份高质量的目录/文件名/参数键字典
这是没有流量数据的一次挣扎,但是流量数据也有缺陷,现在https已经非常普及了

为什么不通过源码提取

  1. 工作量大
  2. mvc框架下源码结构不代表目录结构
  3. 不能提取参数

为什么不通过爬虫提取

  1. 爬虫不能完美解决部分通过ajax进行的请求
  2. 需要选取各类有代表性爬取目标,工作量大
  3. 爬虫本身缺陷,不能爬需要登陆的页面等

404什么的会采集吗

由于在浏览器发包前进行的采集,所以会采集到本身的一些404,并且无法判断,但是本插件基本上可以确定只有安全人员参与采集,
由安全人员本身刻意的目录猜解造成的404目录应该被采集,因为这些目录属于安全人员的经验判断,大部分是有效的
而由于输入错误等其他原因造成的404,数量级是可以忽略的

隐私问题

采集计划会采集面对md5(host) + pathname + get param
采集host是为了便于去重,因为本身每天通过浏览器访问存在大量的重复站点重复路径,需要去除
原计划通过浏览器本地存储做去重,但是会占用大量存储,并且不同用户间也会存在重复,所以决定还是通过Server端去重,并且对host字段进行了md5
采集的数据量是非常大的而且数据没进行任何用户关联,几乎不可能从中提取个人信息。
如果感兴趣可私聊获取后端源码。donot#donot.me

时间轴计划

2018.12.03 编码+测试
2018.12.04 测试完成
计划部署30天,如果参与人数多,数据采集量大的话会提前
2019.01.03 整理数据
2019.01.05 向参与计划的同学共享数据

插件安装方式

插件下载链接

  1. 下载上述文件,并解压到目录CDictMonitor
  2. 打开Chrome浏览器,点击右上角三个点,选择更多工具->扩展程序
  3. 在扩展程序管理界面打开开发者模式
  4. 左上角加载已解压的扩展程序,选择刚刚解压的CDictMonitor目录,确定即可