JS文件信息收集工具-LinkFinder

0x00 前言

我们在渗透测试的之前,信息收集是必要的步骤,而JS文件中往往会暴露出很多的信息,比如一些注释的中铭感信息,内网ip地址泄露等等,还会有一些绝对路径或者相对路径的url,而这些url中很有可能就存在着一些未授权访问或者其他更高级的漏洞,但是手动的去一个个查看的效率太过于地下,所以这里分享一个JS文件的信息收集工具——LinkFinder

0x01 LinkFinder介绍

LinkFinder是一个Python脚本,旨在发现JavaScript文件中的端点及其参数。这样,渗透测试人员和Bug猎手就可以在他们正在测试的网站上收集新的,隐藏的端点。导致新的测试环境,可能包含新的漏洞。它通过将jsbeautifier for python与相当大的正则表达式结合使用来实现。正则表达式由四个小的正则表达式组成。这些负责查找:

  • 完整网址(https://example.com/*
  • 绝对URL或点分URL(/\*../*
  • 带有至少一个斜杠(text/test.php)的相对URL
  • 相对网址,不带斜线(test.php

输出以HTML或纯文本形式给出

0x02 安装

2.1 手动安装

克隆到本地安装

LinkFinder支持Python 3

1
2
3
$ git clone https://github.com/GerbenJavado/LinkFinder.git
$ cd LinkFinder
$ python setup.py install

解决依赖关系

1
pip3 install -r requirements.txt

2.2 Docker一键安装

  • 创建docker镜像

    docker build -t linkfinder

  • 运行docker

    docker run --rm -v $(pwd):/linkfinder/output linkfinder -i http://example.com/1.js -o /linkfinder/output/output.html

    确保使用的``/linkfinder/output` 路径在你的输出路径,

0x03 使用方法

3.1 参数解释

Short FormLong FormDescription
-i–input输入一个URL,文件或者文件夹,js文件必须要以.js后缀结尾
-o–output默认是以html的结果输出,也可以使用命令行的形式输出
-r–regex使用正则快速的筛选我们需要的信息 (e.g. ^/api/)
-d–domainToggle to use when analyzing an entire domain. Enumerates over all found JS files.
-b–burpToggle to use when inputting a Burp ‘Save selected’ file containing multiple JS files
-c–cookiesAdd cookies to the request
-h–helpshow the help message and exit

3.2 使用示例

  • 在在线JavaScript文件中查找端点并将HTML结果输出到results.html的最基本用法:
1
python linkfinder.py -i https://example.com/1.js -o results.html
  • CLI / STDOUT输出(不使用jsbeautifier,这使其非常快):
1
python linkfinder.py -i https://example.com/1.js -o cli
  • 分析整个域及其JS文件:
1
python linkfinder.py -i https://example.com -d
  • 打p输入(在目标中选择要保存的文件,右键单击,然后Save selected items将该文件作为输入):
1
python linkfinder.py -i burpfile -b
  • 枚举JavaScript文件的整个文件夹,同时查找以/ api /开头的端点,最后将结果保存到results.html中:
1
python linkfinder.py -i 'Desktop/*.js' -r ^/api/ -o results.html

0x04 使用截图

在这里插入图片描述


https://www.mad-coding.cn/2019/12/23/JS%E6%96%87%E4%BB%B6%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86%E5%B7%A5%E5%85%B7-LinkFinder/#0x01-LinkFinder%E4%BB%8B%E7%BB%8D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

extjs中Store和grid的刷新问题

问题1:Store.load() 和Store.setproxy()区别 问题2:修改后的Grid 更新: Store.reload() 问题3,store删除后刷新会出问题 Store移除一行:Store.removeAt(Number index) 从数据集中删除指定索引位置的记录     或者Store.reload…

【APICloud系列|28】苹果开发者账号应该如何续费?

本次更新时间:2020/7/13 登录苹果开发者账号,一般还有1个月到期官方会给你发邮件,不懂英文的可以使用谷歌翻译功能。 目前的后台提醒是这样的,我给你翻译一下 这个如果没有到期,使用Apple Developer这个应用程序进行充值缴费。 对应地址:https://developer.apple.com/i…

linux中第一个进程的形成,Linux进程管理

1.进程基本概述定义:进程是已经启动的可执行程序的运行中实例。/proc目录下以数字为名的目录,每一个目录代表一个进程,保留着进程的属性信息,每一个进程的PID是唯一的,就算进程退出了,其他进程也不会占用其…

XX(北京)科技股份公司为啥需要购置服务器?

其实老板只是要一个量化的标准,只是没人能讲明白,我简单陈述一下: 公司现在只有一台阿里的1核两G的1M带宽服务器40G,属于低配,买了3年的,打了三折花了2800元左右,为啥需要额外购置服务器呢? 目前服务器上有,一个后台管理系统,一个小程序,一个APP,一个网站,目前就…

[BZOJ 1588] [HNOI 2002] 营业额统计

1588: [HNOI2002]营业额统计 Time Limit: 5 SecMemory Limit: 162 MBDescription 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以…

Python----socket编程

socket 一、socket是什么? socket 通常也称为“套接字”,用于描述 IP 地址和端口,是一个通讯链的句柄。应用程序通常通过 “套接字”向网络发出请求或者应答网络请求。说白了,就是一种通讯机制。它类似于公司的电话客服部门&…

怎样编写测试类测试分支_测试技巧–不编写测试

怎样编写测试类测试分支对此没有太多疑问,测试代码的方式是一个有争议的问题。 不同的测试技术由于各种原因(包括企业文化,经验和总体心理观点)而受到不同开发人员的青睐。 例如,您可能更喜欢编写经典的单元测试&#…

怎么样才算高级java工程师

高级水平: 1.能对需求进行架构设计,选择框架以适应最合适的业务,作为某个项目的领导,带领团队完成项目。 2.有自己的开源项目,可以写出自己的组件,对开源的框架能够进行二次编写,java核心技术有…

Autorize插件的使用方法

在Proxy或者Repeater有Request请求包后,要ctrlA全选,然后再右键发送到Autorize插件中: 如果只是像这样空白的发送是不会发送过去的:

粉丝提问:求问大神您会查exif吗?

无需下载安装任何软件,直接上传图片即可查看EXIF。支持JPEG、TIFF、CR2、NEF、XMP等多种图片格式破解Canon、

linux和windows的分区区别,Linux分区与Windows分区的区别

打开开始-管理工具-计算机管理,如下图所示:在Windows系统中,计算机的分区是用磁盘0,磁盘1,磁盘2,磁盘3来表示多块硬盘的,比如磁盘0表示第一块硬盘,磁盘2表示第二块硬盘,以…

一个用于伪造IP地址进行爆破的BurpSuite插件:BurpFakeIP

BurpFakeIP介绍 一个用于伪造ip地址进行爆破的BurpSuite插件,burpsuite伪造ip可用于突破waf及进行安全规则绕过等场景;昨天我们分享了《BurpSuite IP代理扩展,使用AWS API网关动态更改请求:IPRotate_Burp_Extension》有同学也发现…

学习Spring-Cloud –编写微服务

继续我的Spring-Cloud学习历程, 之前我已经介绍了如何编写典型的基于Spring-Cloud和Netflix OSS的微服务环境的基础架构组件–在此特定实例中,有两个关键组件,用于注册和发现服务的Eureka和Spring Cloud用于维护服务配置集中式配置库的配置。…

linux内核配置usb虚拟串口,Linux USB虚拟串口设备

Linux内核中usb设备侧驱动程序分成3个层次:UDC驱动程序、Gadget API和Gadget驱动程序。UDC驱动程序(USB控制器)直接访问硬件,控制USB设备和主机间的底层通信,向上层提供与硬件相关操作的回调函数。Gadget API是UDC驱动程序回调函数的简单包装…

Chunked coding converter插件的使用方法

burp插件----Chunked coding converter url下载:https://github.com/zxl2605/chunked-coding-converter 安装步骤:BurpSuite -> Extender -> Extensions -> Add -> Extension Type: Python -> Select file: chunked-coding-converter.0.…

linux 提升cpu权限,CPUlimit有效防止Linux系统CPU过载

最近使用Nginx服务器测试 pagespeed 的加速效果时,发现这货会造成 CPU 占用过高,Nginx 经常 100%,尽管使用的是静态缓存,总是触发主机商的CPU占用上限,不停的被强制关机。发现 CPULimit 这款工具刚好可以解决这个问题&…

domain hunter pro插件的使用方法

bilibili教程:https://www.bilibili.com/video/BV1eA411P7xC/ 安装 获取软件的Jar包,由于该软件是基于BurpSuite的插件程序。需要与BurpSuite一起使用。 安装后的界面效果 项目管理 创建一个新的项目,也可以打开已有的项目文件&#xf…

CSS基本语法?

CSS 实例 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明: 选择器通常是您需要改变样式的 HTML 元素。 每条声明由一个属性和一个值组成。 属性(property)是您希望设置的样式属性(style attribute&#x…

BurpSuite插件 -- FastjsonScan(反序列化检测)

你可以因为现任不好二分手,但千万不要认为别人更好,永远有人更好,眼下便是更好。。。 ---- 网易云热评 一、插件介绍: 一个简单的Fastjson反序列化检测burp插件,我在挖洞的时候看到一些json请求总是想要检测一下有没有…

查看linux电脑总内存,如何查看Linux系统中的内存使用情况的命令呢?

有些命令可用于检查Linux系统中的内存使用情况。这是一些更好的命令。有很多工具可以查看Linux系统中的内存使用情况。一些命令被广泛使用,例如free和ps。其他命令允许以多种方式显示系统的性能统计信息,例如top。在本文中,我们将介绍一些命令…