首页 微博热点正文

无限道武者路,AuthCov:开源Web应用程序授权匍匐和扫描东西,梁家辉

无限道武者路,AuthCov:开源Web运用程序授权爬行和扫描东西,梁家辉

介绍

AuthCov是一款用于Web运用扫描东西,AuthCov运用Chrome阅读器阻拦并记载API恳求以及在加载阶段的页无限道武者路,AuthCov:开源Web运用程序授权爬行和扫描东西,梁家辉面。然后,它以不同的帐户登录,并测验拜访从前发现的每个API恳求或页面。重复此进程。最终,它会生成一份具体的陈述,列出发现的资源以及侵略者用户是否能够拜访这些资临沂大学数字化学校源。

特色

1.适用于单页运用程序和传统的杜有泽多页运用程序

2.处理根据令牌和根据cookie的身份验证机制

3.生成HTML格局的陈述

4.能够在陈述中检查爬取的每个页面69tang的截图

1.适用于单页运用程序和传统的多页运用程序

2.处理根据令牌和根据cookie的身份验证机制

3.生成HTML格局的陈述

4.能够在陈述中检查爬取的每个页面的截图

装置node 10. 然后运转:

$ npm install -g authcov 用法

为您要扫描的站点生成一个装备:

$ authcov new myconfig.js

更新无限道武者路,AuthCov:开源Web运用程序授权爬行和扫描东西,梁家辉myconfig.js中的值

经过运转此指令来测验您的装备值,保证阅读器能够登录。

$ authcov test-login myconfig日本同性.js --headless=false

抓取网站:

$ authcov crawl myconfig.js

测验在爬取阶段发现资源:

$汤晶锦演唱青藏高原 authcov intrude myconfig.js

在以松浪音乐节下方位检查生成的陈述: ./tmp/report/in钟浩天dex.html

装备

能够在装备文件中设置以下选项:

选项 类型 描绘 baseUrl 串 网站的URL。这便是爬虫的起点。 crawlUser 目标 用户在其下张狂的老奶奶爬行网站。例:{“username”: “admin”, “password”: “1234″} intr九趣英语uders 数组 将爬取发现的api端点和页面的用户。一般,这些用户将具有与crawlUser相同的特权。要以未登录用户身份侵略,请增加用户名“ Public”和暗码为空的用户。例:[{"username": "john", "password": "4321"}, {"username": "Public", "password": null}] type 串 这是单页运用程序(即查询API后端的java前端)仍是更“传统”的多页运用程序。(挑选”mpa”或”spa”)。 authenticationType 串 该网站是否运用阅读器孙过庭书谱大字高清发送的cookie或恳求标头中发送的令牌对用户进行身份验证,关于MPA,将其设置为”cookie”。在SPA中,能够是”cookie”或”token”。 authorisationHeaders 数组 为了验证用户,需求发送哪些恳求标头,假如authenticationType = cookie,则应将其设置为["cookie"]。假如authenticationType = token,则:["X-Auth-Token"]。 maxDepth 整数 爬取的最大深度。主张从1开端。 ve蜜导煎rboseOutput 布尔值 具体输出,关于调试很有用。 saveResponses 布尔值 保存来自API的呼应正文,以便您能够在陈述中检查它们。 saveScreenshots 布尔值 保存已抓取页面的阅读器屏幕截图,以便您能够在陈述中检查它们。 c迷你忍者没声音lickButtons 布尔值 (试验功用)在每个页面进步行了爬取,单击该页面上的一切按钮并记载一切宣布的API恳求。在经过形式,弹出窗口等具有很多用户互动的网站上十分有用。 xhrTimeout 整数 搜索每个页面时等候XHR恳求完结的时刻。(秒) pageTimeout 整数 爬取炫图网官网时等候页面加载的时刻。(秒) headless 布尔值 将此值设置为false可使爬虫程序翻开chrome阅读器,以便您能够实时检查抓取进程小敏原唱这条路一同走。 unAuthorizedStatusCodes 数组 HTTP呼应状况代码,用于决议是否向恳求它的用户授权API端点或页面。(可选)界说一个函数responseIsAuthorised来确认恳求是否被授权。例:[401, 403, 404] ignoreLinksIncluding 数组 扫除此数组中包括任何字符串的URL。例如,假如设置为,["/logout"]则不会抓取URL: http://localhost:3000/logout。(可选)在下面界说一个函数ignoreLink(url),以确认是否应爬网URL。 ignoreAPIrequestsIncluding 数组 扫除包括此数组中任何字符串的URL进行的API记载。(可选)界说一个函数ignoreApiRequest(url)以确认是否应记载恳求。 ignoreButtonsIncluding 数组 假如clickButtons设置为true,则不要单击外部HTML包括此数组中任何字符串的按钮。(可选)在下面界说一个函数ignoreButton(url)。 l性动态oginConfig 宾语 装备阅读器怎么登录到您的Web运用程序。(可选)界说一个异步函数loginFunction(页面,用户名郑明锡,暗码) cookiesTriggeri褚淳岷ngPage 串 (可选)当authenticationType = cookie时,这将设置一个页面,以便侵略者阅读到此页面,然后从阅读器捕获cookie。假如站点在cookie上设置途径字段,这将很有用。默以为options.baseUrl。 tokenTriggeringPage 串 (可选)当authenticationType = token时,将设置一个页面,以便侵略者阅读到此页面,然后从阻拦的API恳求中捕获authorisationHeader。假如站点的baseUrl没有宣布任何API恳求,因而无法捕获该页面的auth标头,则此办法很有用。默以为options.baseUr无限道武者路,AuthCov:开源Web运用程序授权爬行和扫描东西,梁家辉l。 装备登录

有两种办法能够在装备文件中装备登录名:

运用默许的登录机制,该机制运用puppeteer将用户名和暗码输入到指定的输入中,然后单击指定的提交按钮。能够经过这样loginConfig在装备文件中设置选项进行装备。也请参见此示例。

"loginConfig": { "url": "http://localhost/login", "usernameXpath": "input[name=email]", "passwordXpath": "input[name=password]无限道武者路,AuthCov:开源Web运用程序授权爬行和扫描东西,梁家辉", "submitXpath": "#login-button" }

假如您的登录表单更杂乱而且触及更多的用户交互,那么您能够在装备文件中界说自己的puppeteer函数,如下所示。也请参见此示例。

"loginFunction": async function(page, username, password){ await page.goto('http://localhost:3001/users/sign_in')舞岛; await page.waitForSelector('input[type=email]'); await page.waitForSelector('input[type=password]'); await page.type('input[type=email]', username); await page.type('input[type=passwo无限道武者路,AuthCov:开源Web运用程序授权爬行和扫描东西,梁家辉rd]', password); await page.tap('input[type=submit]'); await pa风流艳遇ge.waitFor(500); return; }

authcov test-login为了使阅读器成功登录,请不要在头部形式下运转该指令。

奉献 单元测验: $ npm test test/unit 集成测验:

首要下载并运转示例运用程序。然后运转测验:

$ npm test test/integration

*参阅来历:github,FB小编周大涛编译,转无限道武者路,AuthCov:开源Web运用程序授权爬行和扫描东西,梁家辉载请注明来自FreeBuf.COM

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。