BASIC認証を突破する方法

スポンサーリンク

概要

今回、普段使っているルーターのパスワードが分からなくなったので、そのパスワードを調べる方法について調べた時に、Basic認証を突破する方法を知ったので、そのことについて書きます。

Basic認証とは

Basic認証は、よくWebページにおいてユーザー名とパスワードを知らない人にアクセスさせないようにするためにする認証方法のひとつです。

他にも、Digest認証があります。

BASIC認証の特徴として、レスポンスのHeader内に、ユーザー名とパスワードがBase64でエンコードされて、セットされています。

そのため、Base64でエンコードされた文字列をデコードすることで、簡単に突破することができてしまうため、セキュリティ上の問題が発生します。

なので、最近ではhttp環境での使用は推奨されておらず、httpsの環境において使うように言われています。

デコード

Base64でエンコードされているということは、その情報をデコードすれば、元の情報が分かるということです。

では、その情報がどこに書かれているかというと、認証時のページのAuthorizationというヘッダーに書かれています。

そこには「Basic ほにゃらら」のように「ユーザー名:パスワード」をBase64でエンコードした情報が書かれています。

Base64の文字列をデコードする方法として、「Base64 デコード」などで検索すると、復号してくれるサイトがあるのでそれらを利用するのが一番簡単です。

例えば、Base64でエンコードされた「cm9vdDpyb290」という文字列をデコードすると「root:root」のように出力されます。

順番は「ユーザー名:パスワード」です。

デコードが終わったらその情報を入力するとBasic認証に成功することができます。

まとめ

今回この方法で認証を突破したものは外部に公開しているものではなかったので良かったのですが、もしこれが外部に公開しているものであれば、誰でも認証を突破できるということを表しています。

なので、今後Basic認証を使うのであれば、できるだけhttpsで通信できるような環境でやるべきです。

もしくは、Basic認証ではなく、情報が復号できる状態で通信しないDigest認証を使うようにした方がいいです。

スポンサーリンク

シェアする

フォローする