关于收集JS的工具

admin 2024年7月4日15:00:53评论10 views字数 4040阅读13分28秒阅读模式
第一步是收集可能的几个javascript文件(更多的文件=更多的路径,参数->更多的vulns)。

要想获得更多的js文件,这个要看目标,一个在大目标中很注重的人,这也要看你使用的工具。

tools:

gau - 通常用它来搜索尽可能多的javascript文件,很多公司都把他们的文件托管在第三方,这个东西对于一个bugunter来说非常重要,因为这样就可以真正的罗列出很多js文件!这个工具可以让你在搜索的过程中找到更多的javascript文件。

https://github.com/lc/gau

Example:        paypal.com host their files on paypalobjects.com  $ gau paypalobjects.com |grep -iE '.js'|grep -ivE '.json'|sort -u  >> paypalJS.txt $ gau paypal.com |grep -iE '.js'|grep -ivE '.json'|sort -u  >> paypalJS.txt  don't worry if where the files are hosted is out-of-scope, our intent is to enumerate js files to get more            parameters,paths,tokens,apikey,..

linkfinder - 通常用它来搜索路径、链接,结合availableForPurchase.py和collector.py

https://github.com/GerbenJavado/LinkFinder

Example:$ cat paypalJS.txt|xargs -n2 -I@ bash -c "echo -e 'n[URL]: @n'; python3 linkfinder.py -i @ -o cli" >> paypalJSPathsWithUrl.txt $ cat paypalJSPathsWithUrl.txt|grep -iv '[URL]:'||sort -u > paypalJSPathsNoUrl.txt$ cat paypalJSPathsNoUrl.txt | python3 collector.py output

getSrc - 提取脚本链接的工具,这个工具的好处是可以制作出绝对的url!

https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/getsrc.py

Example: $ python3 getSrc.py https://www.paypal.com/https://www.paypalobjects.com/digitalassets/c/website/js/react-16_6_3-bundle.js https://www.paypalobjects.com/tagmgmt/bs-chunk.js

SecretFinder - 用于发现敏感数据的工具,如js文件中的apikeys、accesstoken、authorizations、jwt等。

https://github.com/m4ll0k/SecretFinder

Example:$ cat paypalJS.txt|xargs -n2 -I @ bash -c 'echo -e "n[URL] @n";python3 linkfinder.py -i @ -o cli' >> paypalJsSecrets.txt

antiburl/antiburl.py - 在 stdin 上获取 URL,如果返回 200 OK,则将其打印到 stdout。antiburl.py 是一个高级版本。

https://github.com/tomnomnom/hacks/tree/master/anti-burl

https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/antiburl.py

Example:$ cat paypalJS.txt|antiburl > paypalJSAlive.txt$ cat paypalJS.txt | python3 antiburl.py -A -X 404 -H 'header:value' 'header2:value2' -N -C "mycookies=10" -T 50

ffuf - 模糊化工具,用它来模糊化js文件。

https://github.com/ffuf/ffuf

Example:$ ffuf -u https://www.paypalobjects.com/js/ -w jsWordlist.txt -t 200 Note: top wordlists - https://wordlists.assetnote.io/

allJsToJson.py - 它向传递给它的urls发出请求,并检索所有的js文件,并将它们保存在一个json文件中。

$ cat myPaypalUrls.txt | python3 allJsToJson.py output.json$ cat output.json{"url_1": {   "root": "www.paypal.com",   "path": "/us/home",   "url": "https://www.paypa.com/us/home",   "count_js": "4",   "results": {       "script_1": "https://www.paypalobjects.com/web/res/dc9/99e63da7c23f04e84d0e82bce06b5/js/config.js",       "content": "function()/**/"   }},"url_2": {}}

gitHubLinks.py - 在GitHub上寻找新的链接,在本例中,只有javascript链接。

https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/getjswords.py

Example: $ python3 gitHubLinks.py www.paypalobjects.com|grep -iE '.js'

availableForPurchase.py - 这个工具可以搜索一个域名是否可以被购买,这个工具结合linkfinder和collector真的很强大。很多时候开发者为了分心写域名而犯错,也许是域名导入了一个外部javascript文件等等。

Example:$ cat paypalJS.txt|xargs -I @ bash -c 'python3 linkfinder.py -i @ -o cli' | python3 collector.py output$ cat output/urls.txt | python3 availableForPurchase.py[NO]  www.googleapis.com [YES] www.gooogleapis.com

BurpSuite - 提取脚本标签之间的内容,使用getScriptTagContent.py

关于收集JS的工具

之后保存内容并使用linkfinder

$ python3 linkfinder.py -i burpscriptscontent.txt -o cli

jsbeautify.py - Javascript Beautify

https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/jsbeautify.py

Example:$ python3 jsbeautify https://www.paypalobject.com/test.js paypal/manualAnalyzis.js

collector.py - 将 linkfinder 的 stdout 分为 jsfile、urls、params等

https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/collector.py

 

$ python3 linkfinder.py -i https://www.test.com/a.js -o cli | python3 collector.py output$ ls outputfiles.txt  js.txt    params.txt  paths.txt  urls.txt

jsAlert.py -发现任何有趣的关键字,postMessage,onmessage,innerHTML等

Example:$ cat myjslist.txt | python3 jsAlert.py[URL] https://..../test.jsline:16 - innerHTML[URL] https://.../test1.jsline:3223 - onmessage

getScriptTagContent.py - 在脚本标签之间获取内容Example: $ python3 jsbeautify https://www.paypalobject.com/test.js paypal/manualAnalyzis.js

getScriptTagContent.py - 在脚本标签之间获取内容

Example:$ cat "https://www.google.com/"|python3 getScriptTagContent.py function()/**/...

getJSWords.py - 获取所有javascript文件中的单词,不包括javascript关键字

Example:$ python3 getjswords.py https://www.google.com/test.jswordword1

如上所述,每当有很多请求时,我们需要做很多事情,用allJsToJson解决了这个问题,它保留了所有js文件的内容,显然这个工具是为了一次只处理5个urls而制作的,因为文件的大小,每次处理5个urls都会保存输出output1.json, output2.json


原文始发于微信公众号(黑客白帽子):【工具分享】关于收集JS的工具

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月4日15:00:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   关于收集JS的工具http://cn-sec.com/archives/1977228.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息