当前位置:首页>python>LinkFinder:一个高效的Python脚本,专门用来从JS文件里刨出各种链接和路径

LinkFinder:一个高效的Python脚本,专门用来从JS文件里刨出各种链接和路径

  • 2026-09-04 14:19:06
LinkFinder:一个高效的Python脚本,专门用来从JS文件里刨出各种链接和路径

JS代码,不是天书,是藏宝图

在聊LinkFinder之前,咱得先统一思想。为啥要死磕JS文件?

你想想,一个现代化的网页,用户点的每一个按钮,提交的每一个表单,背后都是JS在驱动。它要去请求哪个API?它要去加载哪个资源?它有没有为了一些特殊功能,预留一些隐藏的、没公开的接口?这些信息,全都在JS代码里写着呢!

LinkFinder:你的“JS考古”专业工具

那么,LinkFinder到底是个啥?

简单粗暴地讲,它就是一个Python脚本,专门用来从JS文件里刨出各种链接和路径(也就是我们常说的Endpoint)。

它干的活儿,说白了就一件事:把那些乱七八糟、压缩成一坨的JS代码给你“美化”一下,捋顺了,然后用它那强大的正则表达式,在里面疯狂寻找所有看起来像链接、像接口路径的东西。

它能找啥呢?

  1. 1. 完整的URL:比如 https://api.example.com/v1/user/profile
  2. 2. 绝对路径:比如 /assets/js/hidden.js 或者 ../admin/panel
  3. 3. 相对路径:比如 user/info.php 或者干脆就是 login.php

找到之后,它会给你生成一个清清楚楚的HTML报告,所有找到的宝贝都分门别类列好,你点点鼠标就能看,简直不要太爽!

实战场景,这玩意儿到底怎么用?

光说不练假把式。这东西在实战里,那叫一个好用。我给你盘几个我常用的“骚操作”。

  • • 场景一:单点爆破,初探深浅

    刚拿到一个目标,比如 https://example.com。我通常会先用浏览器开发者工具(F12)看看它加载了哪些JS文件。随便找一个看起来最可疑的,比如 app.min.js,然后直接上手:

    python linkfinder.py -i https://example.com/static/js/app.min.js -o result.html

    这条命令下去,它会自己去下载这个JS文件,分析完,把结果保存在 result.html 里。打开一看,说不定就有什么意外惊喜。

  • • 场景二:全域扫描,一网打尽

    玩得深一点,我肯定不满足于只看一个JS文件。我要的是它整个站点的所有JS!用 -d 参数,一步到位:

    python linkfinder.py -i https://example.com -d

    它会自动爬取这个域名下的所有JS文件,然后挨个分析。这一下,整个网站前端的“脉络”基本就被你摸清了。

  • • 场景三:联动Burp Suite,精准打击

    如果你是Burp Suite的重度用户(我相信在座的各位都是),那这个功能你绝对会爱上。你在Burp的Target站点地图里,把所有你感兴趣的JS文件(可以按住Ctrl多选)右键,“Save selected items”,保存成一个文件,比如 burp_js.txt。然后:

    python linkfinder.py -i burp_js.txt -b

    这个 -b 参数就是专门为Burp导出的文件设计的。这样,你就可以把你代理流量里捕获到的所有JS,一次性全给它“审问”一遍。

  • • 场景四:正则过滤,只看我想看的

    有时候结果太多,看得眼花。我可能只对API接口感兴趣。这时候,正则表达式就派上用场了。比如,我只想找所有以 /api/ 开头的路径:

    python linkfinder.py -i 'Desktop/*.js' -r ^/api/

    这命令的意思是,分析我桌面上所有JS文件,但只把匹配到 ^/api/ 这个规则的路径给我显示出来。瞬间,世界清净了,目标也明确了。

为了方便大家快速上手,我把常用参数整理了个表,一看就懂:

参数(简写/全称)
口语化说明
-i
 / --input
告诉它你要搞哪个目标,可以是个URL,也可以是本地文件或文件夹。
-o
 / --output
结果往哪放。写cli就在命令行里直接看,写文件名就生成HTML报告。
-d
 / --domain
想对整个域名“抄家”?用它!它会把这个域名下的JS全扒下来分析。
-b
 / --burp
Burp Suite重度用户福音,专门处理从Burp里导出的JS文件集合。
-r
 / --regex
正则过滤,结果太多时用它来“精装修”,只看你感兴趣的。
-c
 / --cookies
目标需要登录才能访问?把你的Cookie带上,让它也能看到登录后的世界。

为什么说它是“降维打击”?

这工具的牛逼之处,不在于技术有多么高深莫测,而在于它彻底改变了我们信息搜集的一个关键环节。

过去,我们分析JS,靠的是眼力、经验和体力,效率极低,还容易遗漏。现在,LinkFinder把这个过程自动化、工具化了。它就像给你配了个24小时不知疲倦的实习生,专门帮你干这种又脏又累的活儿,而且干得比大多数人都好。

它能帮你找到:

  • • 被遗忘的测试接口:开发者留在代码里,忘了删的。
  • • 未授权访问的后台路径:前端以为做了限制,但直接访问URL就能进的。
  • • 信息泄露的端点:比如返回过多用户信息的API。
  • • 其他域名或子域名的线索:JS里可能会引用其他相关资产。

这些,都是传统扫描器难以触及的“情报盲区”。当你拿着LinkFinder跑出来的报告,再去结合其他工具进行深入测试时,你会发现,你的攻击面(Attack Surface)比之前大了好几倍。别人还在门口敲门,你已经通过秘密通道,在研究人家内部的建筑结构了。这就是降维打击。

工具是死的,人是活的。LinkFinder给你的只是一堆线索,但如何利用这些线索,串联成一个完整的攻击链,最终拿到成果,还得靠咱们自己的脑子。


项目地址:https://github.com/GerbenJavado/LinkFinder

最新文章

随机文章