基于Python腳本的JavaScript敏感信息搜索工具SecretFinder是怎樣使用的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
象山網站制作公司哪家好,找創(chuàng)新互聯(lián)!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、響應式網站建設等網站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創(chuàng)新互聯(lián)。
SecretFinder是一款基于LinkFinder實現(xiàn)的Python腳本(如需BrupSuite版本,請點擊這里),該工具的主要功能是幫助研究人員發(fā)現(xiàn)JavaScript文件中的敏感數(shù)據(jù),例如apikeys、accesstoken、authorizations和jwt等。它通過將jsbeautifier for Python與大量的正則表達式結合使用來實現(xiàn)其功能,其中的正則表達式由四個小的正則表達式組成,這些正則表達式將能夠幫助我們查找和搜索js文件中的任何內容。
工具將能夠以HTML或純文本形式輸出搜索數(shù)據(jù):
usage: SecretFinder.py [-h] [-e] -i INPUT [-o OUTPUT] [-r REGEX] [-b] [-c COOKIE] [-g IGNORE] [-n ONLY] [-H HEADERS] [-p PROXY] optional arguments: -h, --help show this help message and exit -e, --extract Extract all javascript links located in a page and process it -i INPUT, --input INPUT Input a: URL, file or folder -o OUTPUT, --output OUTPUT Where to save the file, including file name. Default: output.html -r REGEX, --regex REGEX RegEx for filtering purposes against found endpoint (e.g: ^/api/) -b, --burp Support burp exported file -c COOKIE, --cookie COOKIE Add cookies for authenticated JS files -g IGNORE, --ignore IGNORE Ignore js url, if it contain the provided string (string;string2..) -n ONLY, --only ONLY Process js url, if it contain the provided string (string;string2..) -H HEADERS, --headers HEADERS Set headers ("Name:Value\nName:Value") -p PROXY, --proxy PROXY Set proxy (host:port)
SecretFinder的當前版本支持Python 3環(huán)境。
廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
$ git clone https://github.com/m4ll0k/SecretFinder.git secretfinder $ cd secretfinder $ python -m pip install -r requirements.txt or pip install -r requirements.txt $ python SecretFinder.py
該工具的基礎功能是在在線JavaScript文件中使用默認正則表達式查找敏感數(shù)據(jù),并將HTML結果輸出到results.html:
python3 SecretFinder.py -i https://example.com/1.js -o results.html
CLI / STDOUT輸出(如果不使用jsbeautifier的話,運行速度將非??欤?/p>
python3 SecretFinder.py -i https://example.com/1.js -o cli
分析整個目標域以及其中包含的JS文件:
python3 SecretFinder.py -i https://example.com/ -e
使用命令“-g --ignore”向工具提供需要忽略的js文件(例如外部代碼庫等等):
python3 SecretFinder.py -i https://example.com/ -e -g 'jquery;bootstrap;api.google.com'
使用“-n --only”命令讓工具只處理特定的js文件:
python3 SecretFinder.py -i https://example.com/ -e -n 'd3i4yxtzktqr9n.cloudfront.net;www.myexternaljs.com'
使用您的正則表達式:
python3 SecretFinder.py -i https://example.com/1.js -o cli -r 'apikey=my.api.key[a-zA-Z]+'
其他選項:添加Header,代理和cookie:
python3 SecretFinder.py -i https://example.com/ -e -o cli -c 'mysessionid=111234' -H 'x-header:value1\nx-header2:value2' -p 127.0.0.1:8080 -r 'apikey=my.api.key[a-zA-Z]+'
該工具可以接受以下所有輸入?yún)?shù):
URL:例如https://www.google.com/ [-e]是必需的 JS URL:例如https://www.google.com/1.js 文件夾:例如myjsfiles / * 本地文件:例如/js/myjs/file.js
打開項目內的SecretFinder.py文件,并添加您的正則表達式:
_regex = { 'google_api' : r'AIza[0-9A-Za-z-_]{35}', 'google_captcha' : r'6L[0-9A-Za-z-_]{38}|^6[0-9a-zA-Z_-]{39}$', 'google_oauth' : r'ya29\.[0-9A-Za-z\-_]+', 'amazon_aws_access_key_id' : r'AKIA[0-9A-Z]{16}', 'amazon_mws_auth_toke' : r'amzn\\.mws\\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}', 'amazon_aws_url' : r's3\.amazonaws.com[/]+|[a-zA-Z0-9_-]*\.s3\.amazonaws.com', 'facebook_access_token' : r'EAACEdEose0cBA[0-9A-Za-z]+', 'authorization_basic' : r'basic\s*[a-zA-Z0-9=:_\+\/-]+', 'authorization_bearer' : r'bearer\s*[a-zA-Z0-9_\-\.=:_\+\/]+', 'authorization_api' : r'api[key|\s*]+[a-zA-Z0-9_\-]+', 'mailgun_api_key' : r'key-[0-9a-zA-Z]{32}', 'twilio_api_key' : r'SK[0-9a-fA-F]{32}', 'twilio_account_sid' : r'AC[a-zA-Z0-9_\-]{32}', 'twilio_app_sid' : r'AP[a-zA-Z0-9_\-]{32}', 'paypal_braintree_access_token' : r'access_token\$production\$[0-9a-z]{16}\$[0-9a-f]{32}', 'square_oauth_secret' : r'sq0csp-[ 0-9A-Za-z\-_]{43}|sq0[a-z]{3}-[0-9A-Za-z\-_]{22,43}', 'square_access_token' : r'sqOatp-[0-9A-Za-z\-_]{22}|EAAA[a-zA-Z0-9]{60}', 'stripe_standard_api' : r'sk_live_[0-9a-zA-Z]{24}', 'stripe_restricted_api' : r'rk_live_[0-9a-zA-Z]{24}', 'github_access_token' : r'[a-zA-Z0-9_-]*:[a-zA-Z0-9_\-]+@github\.com*', 'rsa_private_key' : r'-----BEGIN RSA PRIVATE KEY-----', 'ssh_dsa_private_key' : r'-----BEGIN DSA PRIVATE KEY-----', 'ssh_dc_private_key' : r'-----BEGIN EC PRIVATE KEY-----', 'pgp_private_block' : r'-----BEGIN PGP PRIVATE KEY BLOCK-----', 'json_web_token' : r'ey[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*$', 'name_for_my_regex' : r'my_regex', # for example 'example_api_key' : r'^example\w+{10,50}' }
關于基于Python腳本的JavaScript敏感信息搜索工具SecretFinder是怎樣使用的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。