用户
搜索
  • TA的每日心情
    擦汗
    2019-1-31 10:58
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    官方账号

    Rank: 7Rank: 7Rank: 7

    231

    主题

    232

    帖子

    1960

    魔法币
    收听
    0
    粉丝
    1
    注册时间
    2018-12-21

    i春秋认证

    发表于 2020-1-6 18:58:46 01311

    22.png

    Hakrawler?

    很长一段时间以来,我一直希望有一个工具能够从目标应用提取出所有的URL端点,以简洁的方式在命令行中显示。于是,我自己创造了一个!

    工具地址:https://github.com/hakluke/hakrawler
    

    该工具主要通过对目标应用进行爬取、查询某些记录了以往网络数据的服务器、解析robots.txt和sitemap.xml文件来提取URL。

    33.png

    此外它还会对找到的任何子域进行收集。据我所知,这种利用子域去找子域的方法目前还没有被其他子域枚举工具实现,所以它可能有助于发现一些意外的目标。

    有关安装和使用的详细信息,请参阅repository

    44.png

    特征

    1.可与其他工具配合使用(可接受来自stdin的主机名,以及使用-plain标记将URL转储到stdout中)

    2.通过对目标应用的每个页面进行爬取收集URL,并根据链接进行递进爬取

    3.从记录了以往网络数据的服务器中收集URL

    4.从robots.txt收集URL

    5.从sitemap.xml收集URL

    6.在爬取网页的过程中发现属于目标的新域和子域

    7.由Golang语言编写

    8.收集范围可以缩小或扩展

    9.可以将结果导出到(包含原始HTTP请求)文件中,方便和其他工具(如SQLMap)联合

    选择

    的确也存在其他一些工具可以提供与Hakrawler类似的效果,但它们都不是我所需要的。最明显的替代品是Burpsuite的“spider”,这在过去是我对单个应用进行彻底爬取的第一选择,但它与Burpsuite应用的其他组件耦合太紧,而且并不是为爬取大量域名而设计的,这在大范围渗透测试时就显得比较尴尬。

    此外较为接近的替代品是s0md3v的Photon,Hakrawler工具的大部分功能都是受Photon的启发。它很接近我想要的工具,而且也有很多很棒的特性,但它并不是爬取大量域名或链接的理想选择。Photon是用Python编写的,虽然Python是我的“母语”,但为了运行速度和节约系统资源,我最后还是使用Golang来编写这个工具中。所以如果你想寻找用Python编写的类似工具,请关注Photon

    贡献

    综上所述,在我慎重思考后,决定使用Golang编写一个符合我需求的工具。选择Golang是为了提高速度——它不依赖于解释器,并且对并发有较好的支持。

    唯一的问题是我以前从未使用Golang编写过任何应用。于是我在YouTube上看了一个Golang教程,然后花了一周左右的时间编写hakrawler代码(同时搜索一些愚蠢的Golang编码问题)。如果你也想学习Golang,以下是我看过的视频:

    https://www.youtube.com/watch?v=YS4e4q9oBaU
    

    目前,我的代码有点混乱,但它还是可以有效工作的!现在我发布的的是beta版,希望信安或Golang社区能帮助我不断地改进它。如果你也想参与进来,那么现在还有一大堆特性或漏洞需要处理。任何对该项目做出突出贡献的人,都会成为Contributors的一员,如果我们在现实中碰到,会请你喝上一杯啤酒或咖啡!

    本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场:https://nosec.org/home/detail/3815.html
    来源:https://medium.com/@hakluke/introducing-hakrawler-a-fast-web-crawler-for-hackers-ff799955f134
    
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册