fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

AuthCov
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/authcov/authcov
网站描述:Web认证覆盖扫描工具

AuthCov使用Chrome headless browser(无头浏览器)爬取你的Web应用程序,同时以预定义用户身份进行登录。在爬取阶段它会拦截并记录api请求及加载的页面,并在下一阶段,以不同的用户帐户“intruder”登录,尝试访问发现的各个API请求或页面。它为每个定义的intruder用户重复此步骤。最后,它会生成一份详细的报告,列出发现的资源以及intruder用户是否可以访问这些资源等。  


特性

同时适用于单页面应用程序和传统的多页面应用程序

处理基于令牌和基于cookie的身份验证机制

生成html格式的深入报告

可以在报告中查看已爬取的各个页面的截图


安装

安装node 10。然后运行:

npm install -g authcov


使用

为要扫描的站点生成配置:

authcov new myconfig.js

更新myconfig.js中的值

运行以下命令测试配置值,以确保浏览器成功登录。

authcov test-login myconfig.js --headless=false

爬取站点:

authcov crawl myconfig.js

尝试intrusion在爬取阶段发现的资源:

authcov intrude myconfig.js

在以下位置查看生成的报告:./tmp/report/index.html


配置

可以在配置文件中设置以下选项:

选项类型description
baseUrl字符串站点URL。这是爬虫开始的地方。
crawlUser对象站点下要爬取的用户例如:{“username”: “admin”, “password”: “1234″}
intruders数组intrude在爬网阶段发现的api端点和页面。通常,这些用户的权限与crawlUser相同或更低。要以未登录用户身份intrude,请添加用户名为“Public”密码为null的用户。例如:[{"username": "john", "password": "4321"}, {"username": "Public", "password": null}]
type字符串这是单页应用程序(即查询API后端的javascript前端)还是更“传统”的多页应用程序?(选择“mpa”或“spa”)。
authenticationType字符串网站是使用浏览器发送的cookie还是通过请求标头中发送的令牌对用户进行身份验证?对于mpa,几乎总是设置为“cookie”。在spa中,可以是“cookie”或“token”。
authorisationHeaders数组需要发送哪些请求标头才能对用户进行身份验证?如果authenticationType=token,则应将其设置为["cookie"]。如果authenticationType=token,那么将是:["X-Auth-Token"]。
maxDepth整数站点爬取的最大深度。建议先从1开始,然后再尝试更高的深度,以确保爬虫能够更加快速高效地完成。
verboseoutput布尔详细输出,对调试很有用。
saveResponses布尔从API端点保存响应正文,以便你可以在报告中查看它们。
saveScreenshots布尔保存已抓取页面的浏览器屏幕截图,以便你可以在报告中查看它们。
clickButtons布尔(实验性功能)在每个页面上抓取,单击该页面上的所有按钮并记录所做的任何API请求。在通过模态(modals),弹窗等进行大量用户交互的网站上非常有用。
xhrTimeout整数在抓取每个页面时等待XHR请求完成的时间(秒)。
pageTimeout整数在抓取时等待页面加载的时间(秒)。
headless布尔将此设置为false,以便抓取工具打开Chrome浏览器,及查看实时的抓取情况。
unAuthorizedStatusCodes数组HTTP响应状态代码,用于决定API端点或页面是否为请求它的用户授权。(可选)定义函数responseIsAuthorised以确定请求是否已获得授权。示例:[401,403,404]
ignoreLinksIncluding数组不要抓取包含此数组中任何字符串的网址。例如,如果设置为["/logout"],则不会抓取url:http://localhost:3000/logout 。(可选)定义一个函数gnoreLink(url),以确定URL是否应该被爬取。            
ignoreAPIrequestsIncludingarray不要记录对包含此数组中任何字符串的URL所做的API记录。(可选)定义函数ignoreApiRequest(url),以确定请求是否应被记录。
ignoreButtonsIncluding数组如果clickButtons设置为true,则不单击外部HTML包含此数组中任何字符串的按钮。(可选)定义一个函数ignoreButton(url) 。
loginConfig对象配置浏览器登录Web应用程序的方式。(可选)定义异步函数loginFunction(page, username, password)。
cookiesTriggeringPage字符串(可选)当authenticationType=cookie时,将设置一个页面,以便intruder浏览到该页面,然后从浏览器捕获cookie。如果站点在cookie上设置了path字段,这将非常有用。默认为options.baseUrl。
tokenTriggeringPage字符串(可选)当authenticationType=token时,将设置一个页面,以便intruder浏览到该页面,然后从截获的API请求中捕获authorisationHeaders。如果站点的baseUrl没有发出任何API请求,那么这可能很有用,因此无法从该页面捕获auth标头。默认为options.baseUrl。

链接: https://fly63.com/nav/2740

more>>
相关栏目
remove.bg
消除图片背景:100% 自动 – 只需 5 秒
官网
阿里云DataV
地图数据
官网
Apifox
API 文档、API 调试、API Mock、API 自动化测试一体化协作平台
官网
易文档
需求文档、API文档、部署文档到使用手册
官网
mdx-deck
基于MDX的演示文稿
官网GitHub
YouCompress
在线免费文件压缩工具
官网
iHateRegex
快速搜索并匹配到合适的正则表达式
官网GitHub
Trilium Notes
层级结构的笔记程序,专注构建个人的大型知识库
点击进入GitHub
CodeZen
在线源代码转图片工具
官网
pngtosvg
在线PNG转SVG转换工具
官网
PDFgear
高效的 PDF 在线工具
官网
HackMD
一款超级好用的在线Markdown编辑器
官网GitHub
Hexnaw
在线网站配色评分工具
官网
糯词笔记
最佳读书笔记管理工具
官网
压缩图
在线图片压缩工具集合
官网
VectorCreator
简报插图创作工具
官网

手机预览