快捷搜索:  汽车  科技

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)6、根据响应源搜索AWS-S35、链接搜索工具2、爆破与解析sitemap.xml3、解析robots.txt4、生成和验证来自JavaScript文件的链接

小白看黑客技术文章,一定要点首小歌放松心情哈,我最爱盆栽!开始装逼!

Gospider是一款运行速度非常快的Web爬虫程序,对于爱好白帽黑客的小白来说,可谓是佳作!Gospider采用厉害的Go语言开发,kali系统中并没有默认安装,先看下介绍吧,后面我们再实战如何安装以及使用!

Gospider功能介绍

1、快速Web资源爬取

2、爆破与解析sitemap.xml

3、解析robots.txt

4、生成和验证来自JavaScript文件的链接

5、链接搜索工具

6、根据响应源搜索AWS-S3

7、根据响应源搜索子域名

8、从Wayback Machine Common Crawl Virus Total Alien Vault获取URL资源

9、格式化输出,可配合Grep使用

10、支持Burp输入

11、支持并行爬取多个站点

12、随机移动端/Web User-Agent

GO环境安装

由于采用go语言编写,要想正确安装,你还要在自己的kali上安装go语言编译环境。

  • 下载go环境包

kali终端输入:

wget dl.google.com/go/go1.14.2.linux-amd64.tar.gz(前面https) 默认下载到/home/kali/主目录下.

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(1)

kali下进入root权限:

su 以下的安装和配置都在root用户下进行!

  • 解压go tar文件:

tar -zxvf go1.14.2.linux-amd64.tar.gz

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(2)

  • 配置go环境变量

将解压后的文件复制到/usr/local目录下

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(3)

在当前用户下新建go语言下载目录

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(4)

设置环境变量

继续在root用户下执行:

vim /etc/profile 就是进行全系统安装使用

如图修改即可:

export PATH=¥PATH:/usr/local/go/bin export GOPATH=/home/kali/go_src/

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(5)

其中export PATH=$PATH:/usr/local/go/bin是将go语言编译器的路径添加到系统路径中,export GOPATH是将我们上一步新建的目录添加到环境变量中,这个路径就会成为go语言下载组件的默认路径。

重启电脑,此时go环境已经配置好,输入go version可以看到如图所示输出!

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(6)

  • 如果此时你就想使用go get安装工具?

不可能的!国内,所有的go下载都是被屏蔽了(墙)!怎么解决呢?我们去看看官方给出的解决办法:

在kali终端下: go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.io direct # 设置不走 proxy 的私有仓库,多个用逗号相隔(可选) go env -w GOPRIVATE=*.corp.example.com

设置完上面几个环境变量后,您的 go 命令将从公共代理镜像中快速拉取您所需的依赖代码了,不然下面无法使用go get命令(因为,被墙了!)

使用go安装gospider工具

go get -u github.comtheblackturtle//gospider 必须在root环境下运行!

这里提示:想从jithub下载go'spider的你,千万要将github.com/jaeles-project/gospider改成github.comtheblackturtle//gospider,不然go get在仓库中找不到的!

此时会进入迅速的下载,你等等就ok啦!

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(7)

工具启动

启动gospider:

进入go的下载工作目录go_src/bin下: ./gospider 如图所示

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(8)

终于启动,接下来,你就自己愉快的玩耍吧!

工具使用说明

Fast web spider written in Go – v1.1.0 by @theblackturtle

Usage:

gospider [Flags]

Flags:

-s --site string 待爬取的站点地址
-S --sites string 待爬取的站点列表
-p --proxy string 代理(例如: http://127.0.0.1:8080)
-o --output string 输出目录
-u --user-agent string 需要使用的User-Agent
web: 随机Web User-Agent
mobi: 随机移动端User-Agent
--Cookie string 设置Cookie (testA=a; testB=b)
-H --header stringArray 设置Header
--burp string 从Burp Http请求加载Header和Cookie
--blacklist string URL黑名单正则式
-t --threads int 并行线程数量 (默认为1)
-c --concurrent int 匹配域名允许的最大并发请求数(默认为5)
-d --depth int 限制爬取的最大深度(设置为0则表示无限递归,默认为1)
-k --delay int Delay是在向匹配域名发送新请求之前需要等待的时间间隔 (秒)
-K --random-delay int RandomDelay是在创建新请求之前需要等待的额外随机等待持续时间 (秒)
-m --timeout int 请求超时(秒) (默认为10)
--sitemap 尝试爬取sitemap.xml
--robots 尝试爬取robots.txt
-a --other-source 从第三方查找URL (Archive.org CommonCrawl.org VirusTotal.com)
-w --include-subs 包含从第三方爬取的子域名,默认为主域名
-r --include-other-source 包含其他资源的URL
--debug 启用调试模式

-v --verbose 启用verbose模式
--no-redirect 禁用重定向
--version 检查版本
-h --help 显示帮助信息

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(9)

样本命令
  • 爬取单个网站:

gospider -s "域名" -o output -c 10 -d 1

  • 爬取网站列表:

gospider -S sites.txt -o output -c 10 -d 1

  • 同时爬取20个站点,每个站点分配10个bot:

gospider -S sites.txt -o output -c 10 -d 1 -t 20

  • 从第三方(Archive.org CommonCrawl.org VirusTotal.com AlienVault.com)获取URL:

gospider -s "域名" -o output -c 10 -d 1 --other-source

  • 从第三方(Archive.org CommonCrawl.org VirusTotal.com AlienVault.com)获取URL并包含子域名:

gospider -s "域名" -o output -c 10 -d 1 --other-source --include-subs

  • 使用自定义Header/Cookie:

gospider -s “域名” -o output -c 10 -d 1 –other-source -H “Accept: */*” -H “Test: test” –cookie “testA=a; testB=b”

gospider -s “域名” -o output -c 10 -d 1 –other-source –burp burp_req.txt

  • URL/文件后缀黑名单

gospider -s "域名" -o output -c 10 -d 1 --blacklist ".(woff|pdf)"

其实gospider多用于Web攻防渗透实战中,这也是这款新安全工具如此受欢迎的原因!最后,希望你有所收获!

go语言爬虫技巧(一款基于Go语言开发的Web爬虫)(10)

小白嘿客我想说

想学习更多白帽黑客Web渗透技术的小白,点击下方专栏卡片就能加入学习!

关注我,你能学到更多,给个赞,评论吧!

猜您喜欢: