前言

想整个Web扫描器但又懒的写前端?这篇文章巴斯手把手教你用Notion做扫描器,目前写了个“概念版”功能不多仅支持:发任务、扫描任务、更新扫描结果。

Demo效果如下:

Untitled

开始

创建Notion integration

  1. 登录notion
  2. https://www.notion.so/my-integrations 创建集成

Untitled

选择私有就行:

Untitled

创建Database

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

Untitled

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

Untitled

例如下链接:www.notion.so/ac0d3r/d1478f47252d49d6933846a3ff0b4f0e?v=... 中的d1478f47252d49d6933846a3ff0b4f0e就是数据库ID。

设置数据库属性

设置如下属性(仅供参考):

Untitled

通过API获取任务

巴斯这里用Go写的,使用第三方的SDK github.com/jomei/notionapi,初始化Notion Client(集成的 Internal Integration Token):

Untitled

获取数据库中 "Status" 状态为“等待”的项,将 URL 推入任务管道中:

Untitled

任务处理

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

Untitled

更新扫描结果

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

Untitled

最后

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


Powered by Kali-Team