什么?Notion也能当扫描器?
Dec 26, 2022|2022-12-27

巴斯.zznQ
type
Post
status
Published
date
Dec 26, 2022
slug
notion-scanner
summary
tags
Product
Web
Notion
category
技术文章
icon
password
前言
本文首发于 百灵鸟安全团队
公众号:https://mp.weixin.qq.com/s/uag5TDUSuEZOg2EFxUumow
想整个Web扫描器但又懒的写前端?这篇文章巴斯手把手教你用Notion做扫描器,目前写了个“概念版”功能不多仅支持:发任务、扫描任务、更新扫描结果。
Demo效果如下:

开始
创建Notion integration
- 登录notion

选择私有就行:

创建Database
新建一个页面,选择刚创建好的“集成”:

再新建一个“Full Database”并拷贝其链接:

例如下链接:
www.notion.so/ac0d3r/d1478f47252d49d6933846a3ff0b4f0e?v=...
中的d1478f47252d49d6933846a3ff0b4f0e
就是数据库ID。设置数据库属性
设置如下属性(仅供参考):

通过API获取任务
巴斯这里用Go写的,使用第三方的SDK
github.com/jomei/notionapi
,初始化Notion Client(集成的 Internal Integration Token):
获取数据库中 "Status" 状态为“等待”的项,将 URL 推入任务管道中:

任务处理
巴斯这里写得比较简单:使用 chromedp 无头浏览器去请求目标站点获取Title、Response、截图、证书等信息(方便后续的指纹识别。

更新扫描结果
扫描结果更新到数据库中,其实就是更新 Page,在获取任务时就留存了PageID。(Notion Api还不支持上传图片,先留个坑下次填上)。

最后
到此一个简单Notion版扫描器就完成了,后续想开发一个公开版的 Wappvul 完善其扫描功能让它看起来更像个扫描器(233。
如果各位师傅有更好的点子可以留言一起讨论233。