当前位置:首页 > 技术分析 > 正文内容

Web黑客近年神作Gospider:一款基于Go语言开发的Web爬虫,要收藏

ruisui883个月前 (02-18)技术分析14

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

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/主目录下.

kali下进入root权限:

su
以下的安装和配置都在root用户下进行!
  • 解压go tar文件:
tar -zxvf go1.14.2.linux-amd64.tar.gz
  • 配置go环境变量

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

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

设置环境变量

继续在root用户下执行:

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

如图修改即可:

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

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

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

  • 如果此时你就想使用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啦!

工具启动

启动gospider:

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

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

工具使用说明

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 显示帮助信息

样本命令

  • 爬取单个网站:
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攻防渗透实战中,这也是这款新安全工具如此受欢迎的原因!最后,希望你有所收获!

小白嘿客我想说

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

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

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2063.html

标签: go数组
分享给朋友:

“Web黑客近年神作Gospider:一款基于Go语言开发的Web爬虫,要收藏” 的相关文章

Java教程:gitlab-使用入门

1 导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作GitLab简介GitLab环境搭建GitLab基本使用(组、权限、用户、项目)2 GitLab简介GitLab是整个DevOps生命周期...

国产操作系统上Vim的详解03--安装和使用插件 | 统信 | 麒麟 | 中科方德

原文链接:国产操作系统上Vim的详解03--使用Vundle插件管理器来安装和使用插件 | 统信 | 麒麟 | 中科方德Hello,大家好啊!今天给大家带来一篇在国产操作系统上使用Vundle插件管理器来安装和使用Vim插件的详解文章。Vundle是Vim的一款强大的插件管理器,可以帮助我们轻松地安...

我的VIM配置

写一篇关于VIM配置的文章,记录下自己的VIM配置,力求简洁实用。VIM的配置保存在文件~/.vimrc中(Windows下是C:\Users\yourname \_vimrc)。VIM除了自身可配置项外,还可插件扩展。VIM的插件一般用vundle或vim-plug来管理,但我力求简单,不打算装太...

虚幻引擎5.5现已发布 手游开发、动画制作重大改进

Epic在今天发布了虚幻引擎5.5,现可通过Epic Launcher下载。此版本在动画创作、渲染、虚拟制片、移动端游戏开发和开发人员迭代工具集等方面做出了重大改进。 官方博客:虚幻引擎5.5现已发布,在动画创作、虚拟制作和移动游戏开发方面取得了显著进步,渲染、摄像机内视觉特效和开发人员迭代等领域的...

Gemini应用在Android上广泛推出2.0闪电模式切换器

#头条精品计划# 快速导读谷歌(搜索)应用的测试频道在安卓设备的双子应用中推出了2.0闪电实验功能,现已向稳定用户开放。双子应用通过谷歌应用运行,目前推出的15.50版本中,用户可通过模型选择器体验不同选项,包括1.5专业版、1.5闪电版和2.0闪电实验版。2.0闪电实验模型提供了更快的响应速度和优...

关于Vue页面跳转传参,参数不同, 但页面只获取参数一次的问题

#头条创作挑战赛#1.问题描述问题描述: element 展示表格(页面A),点击表格的每一行的查看详情按钮,可以携带此行的信息参数跳转到另一个页面(页面B),但是从A页面到B页面,只有第一次跳转的时候B页面可以获取到A页面的参数,返回再次A->B ,B页面无法获取到参数。2.解决办法:方法一...