前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Gau针对任意指定域名执行URL收集任务

如何使用Gau针对任意指定域名执行URL收集任务

作者头像
FB客服
发布2024-06-25 09:30:28
710
发布2024-06-25 09:30:28
举报
文章被收录于专栏:FreeBufFreeBuf
关于Gau

Gau是一款功能强大的URL收集工具,该工具可以针对任意指定的域名,从AlienVault的开放威胁交换器、Wayback Machine、Common Crawl平台和URLScan收集并爬取已知的URL地址。

Gau,全称为GetAllUrls。该工具灵感来源于Tomnomnom的waybackurls项目,该工具可以有效帮助广大研究人员顺利完成安全测试过程中的URL信息收集任务。

工具要求

Go语言环境

工具下载

由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go环境。

源码安装

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/lc/gau.git; \

然后切换到项目目录中,使用下列命令构建项目代码:

代码语言:javascript
复制
cd gau/cmd; \

go build; \

sudo mv gau /usr/local/bin/; \

gau --version;

Go安装

除此之外,我们还可以直接使用go install命令安装最新版本的Gau:

代码语言:javascript
复制
$ go install github.com/lc/gau/v2/cmd/gau@latest

Docker安装

我们还可以通过Docker文件来运行Gau:

代码语言:javascript
复制
docker run --rm sxcurity/gau:latest --help

或者使用下列命令构建一个Docker镜像:

代码语言:javascript
复制
docker build -t gau .

运行命令如下:

代码语言:javascript
复制
docker run gau example.com

工具帮助信息

下列命令可以直接查看该工具支持的参数选项和使用样例:

代码语言:javascript
复制
$ gau -h

命令选项

描述

使用样例

--blacklist

需要跳过的后缀列表

gau --blacklist ttf,woff,svg,png

--fc

过滤器状态码列表

gau --fc 404,302

--from

根据开始日期获取URL (格式: YYYYMM)

gau --from 202101

--ft

过滤器mime-types列表

gau --ft text/plain

--fp

移除同一终端的不同参数

gau --fp

--json

以JSON格式输出

gau --json

--mc

要匹配的状态码列表

gau --mc 200,500

--mt

要匹配的mime-types列表

gau --mt text/html,application/json

--o

要写入输出结果的文件名

gau --o out.txt

--providers

要使用的提供商列表 (wayback,commoncrawl,otx,urlscan)

gau --providers wayback

--proxy

要使用的HTTP代理 (socks5:// or http://)

gau --proxy http://proxy.example.com:8080

--retries

HTTP客户端重连次数

gau --retries 10

--timeout

HTTP客户端超时(秒)

gau --timeout 60

--subs

包含目标域名的子域名

gau example.com --subs

--threads

要生成的Worker数量

gau example.com --threads

--to

根据结束日期获取URL (格式: YYYYMM)

gau example.com --to 202101

--verbose

显示Verbose输出

gau --verbose example.com

--version

显示工具版本

gau --version

配置文件

Gau会自动定位并寻找「$HOME/.gau.toml」或「%USERPROFILE%\.gau.toml」路径下的配置文件,我们可以在配置文件中指定参数选项,以方便每一次的任务执行。项目提供了一份配置文件样例,路径为「gau/.gau.toml」,文件样例如下:

代码语言:javascript
复制
threads = 2

verbose = false

retries = 15

subdomains = false

parameters = false

providers = ["wayback","commoncrawl","otx","urlscan"]

blacklist = ["ttf","woff","svg","png","jpg"]

json = false



[urlscan]

  apikey = ""



[filters]

  from = ""

  to = ""

  matchstatuscodes = []

  matchmimetypes = []

  filterstatuscodes = []

  filtermimetypes = ["image/png", "image/jpg", "image/svg+xml"]

工具使用样例

代码语言:javascript
复制
$ printf example.com | gau
代码语言:javascript
复制
$ cat domains.txt | gau --threads 5
代码语言:javascript
复制
$ gau example.com google.com
代码语言:javascript
复制
$ gau --o example-urls.txt example.com
代码语言:javascript
复制
$ gau --blacklist png,jpg,gif example.com

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

Gau:

https://github.com/lc/gau

https://otx.alienvault.com/ https://github.com/tomnomnom/waybackurls

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 源码安装
  • Go安装
  • Docker安装
  • 配置文件
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档