Shikata Ga Nai

Private? There is no such things.

Finding Basic Authtoken in JAVASCRIPT file BY Full Automationを訳してみた

Hello there, ('ω')ノ

 

フルオートメーションによるJAVASCRIPTファイルでの基本的な認証トークンの検索を。

 

脆弱性:

 情報開示

 

記事:

 https://notifybugme.medium.com/finding-basic-authtoken-in-javascript-file-by-full-automation-6188ca1b1f56

 

Androidアプリケーションによってリークされた本番アクセストークンと。

ステージング環境のアクセストークンを見つけて。

インフラストラクチャ全体を引き継ぐ方法について説明することに。

 

必要なツール:
 gf (tomnomnom) — https://github.com/tomnomnom/gf

f:id:ThisIsOne:20210924095327p:plain


 gau(Corben) — https://github.com/lc/gau

f:id:ThisIsOne:20210924095401p:plain


 waybackurls(tomnomnom) — https://github.com/tomnomnom/waybackurls

f:id:ThisIsOne:20210924095424p:plain


 subjs(Corben) — https://github.com/lc/subjs

f:id:ThisIsOne:20210924095448p:plain

 

ステップ1:ウェイバックマシンからすべてのjsファイルの収集

ターゲットドメインがexample.comであるとすると。

すべてのサブドメインとワイルドカードがスコープ内にあって。

 

 ターゲットの範囲:*.example.com

 

 gau -subs example.com | grep “.js$” >> jsfile.txt
 subfinder -d example.com -silent | waybackurls | grep “.js$” >> jsfile.txt
 subfinder -d example.com -silent | httpx -silent | subjs >> jsfile.txt

 

 注:

 ホストをBurpでスパイダーして。

 すべてのjsファイルリンクをburpからコピーして。

 jsファイルを見逃さないようにして、jsfile.txtファイルに貼り付けて。

 ウェイバックマシンとBurpからすべてのjsファイルを抽出した後に。

 jsファイルのURLを並べ替えてファイルから。

 デッドリンクを削除するかどうかを確認して。

 シンプルに実行するだけで、デッドリンクを並べ替えて削除できて。

 

 cat jsfile.txt | sort -u | anew | httpx -silent >> jsfile_totest.txt

 

ステップ2:自動化の部分

 ケース1:curlおよびgrepコマンドを使用した自動化

 自動化のための複雑なツールやスクリプトは使わずに。

 curlやgrepなどのシンプルなツールを使用するだけで自動化できて。

 

 cat jsfile_totest.txt | xargs -I % -P 10 curl -sk “%” | grep -E -i -w -n ‘BASIC[\\-|_|A-Z0–9]*(\’|\”)?(:|=)(\’|\”)?[\\-|_|A-Z0–9]{10}’


 ケース2:wgetおよびgrepコマンドを使用した自動化

 wgetを使用して、ローカルマシンにすべてのjsファイルをダウンロードして。

 ホワイトボックステストを実行できるかどうかを確認して。

 

 mkdir localpathjs; cd localpathjs
 cat jsfile_totest.txt | xargs -I % -P 10 wget -r “%”

 

 次に、jsファイルをダウンロードしたディレクトリを変更して。

 自分のディレクトリのがlocalpathjsだとすると。

 ターミナルを使用してgrepコマンドで開いて。

 

 cd localpathjs
 root@kali:~/localpathjs# grep -E -i -w -n -r -H ‘BASIC[\\-|_|A-Z0–9]*(\’|\”)?(:|=)(\’|\”)?[\\-|_|A-Z0–9]{10}’

 

Best regards, (^^ゞ