js文件作用
js文件是一种脚本,可以控制页面达到一些动态效果(控制页面行为的)
javascript(.js)文件存储客户端代码
如何查找.js文件
手动:
查看源代码,在HTML中查找“.js”,
你在找js文件里的什么?
-
新端点(路径/子域名)
-
新参数
-
隐藏的功能,在网络应用程序上不可用,但该功能的代码存在,仅限高级版?你可以与他进行非高级交互吗?(越权)
-
api键
-
开发人员评论
(例如 // 这是一个开发评论或 /* 这是一个多行开发评论 */)有时可以包含诸如代码何时发布或发生的任何更新之类的信息(比如开发人员会注释关于 XSS 过滤,这有助于我了解他们如何修复它并绕过)。
关键字
js代码往往很多,你不用通读他,只需要知道查找哪些关键字可以提取有用的信息
关键字 pathname
要查找的其他常见关键字: url:, POST, api, GET, setRequestHeader, send ,headers, onreadystatechange, var {xyz} = , getParameter(), parameter, .theirdomain.com, apiKey.
这些关键字将帮助我们扩大攻击面,但是 postMessage 错误、DOM XSS 和重定向呢? 以下是一些需要注意的示例关键字: postMessage, messageListenger, .innerHTML, document.write(, document.cookie, location.href, redirectUrl, window.hash. 您阅读一些 javascript 文件的次数越多,您可能会发现更多关于您的目标和 API 端点的某些模式(例如端点的版本或名称)的信息。
我们能够发现新的端点(这会导致更多的 .js 文件)以及围绕目标的更多知识。 需要注意的一件事是不要浪费时间浏览诸如 jquery.js 之类的东西。
查找 .js 文件并阅读它们的主要目的是扩展您的攻击面通过发现 端点、参数、密钥、接收器 (dom xss) 和更多关于目标的整体知识 。 例如,如果您知道他们严重依赖 javascript 文件,那么您可以设置一个脚本来自动检测任何更改并立即收到有关新端点的通知!
自动读取 .js 文件
GetJS by 003random:https://github.com/003random/getJS
joeldeleep/master: GitHub - jobertabma/relative-url-extractor: A small tool that extracts relative URLs from a file.
GoLinkFinder: GitHub - 0xsha/GoLinkFinder: A fast and minimal JS endpoint extractor
JSFinderPlus.py