Shikata Ga Nai

Private? There is no such things.

SQL injectionの基本的な診断手順をなるべく詳細にかいてみた②

Hello there, ('ω')ノ

 

今回もPortSwiggerへ移動して。

 

f:id:ThisIsOne:20211004091513p:plain

 

ログイン画面を表示したところで、いきなりアクティブスキャンを。

 

f:id:ThisIsOne:20211004091546p:plain

 

結果は、下記のとおりで特段なにも見つからず。

 

f:id:ThisIsOne:20211004091622p:plain

 

f:id:ThisIsOne:20211004091643p:plain

 

ログを見ることで、どこにペイロードを仕掛けているかがわかるので。

ログを見るだけでも初めのころは勉強になるかと。

 

f:id:ThisIsOne:20211004092238p:plain

 

f:id:ThisIsOne:20211004092326p:plain

 

一般的にいきなりアクティブスキャンはしないのですが。

やりはじめた当初は、このあたりがよく理解できなくて混乱したりと。

本来であれば、正常系と異常系の動作確認をしてからなので。

 

f:id:ThisIsOne:20211004092550p:plain

 

f:id:ThisIsOne:20211004092608p:plain

 

ここで、アクティブスキャンを開始すると今度はユーザ名等のパラメータを把握して。

SQLインジェクションの暫定結果がでる程度だったのですが。

 

f:id:ThisIsOne:20211004092727p:plain

 

なぜか、ラボは解決済みとなっていて。

 

f:id:ThisIsOne:20211004093124p:plain

 

ログを確認してみると、ステータス302でリダイレクトされていて。

本来、ログイン成功しないとリダイレクトされないはずで。

ちなみにパラメータへのペイロードは下記のとおりで。

 username=aaa34765377'%20or%207838%3d7838--%20&password=bbb

 

f:id:ThisIsOne:20211004093313p:plain

 

気になったので、リピータで再現することに。

同じペイロードを挿入して。

 

f:id:ThisIsOne:20211004100903p:plain

 

Follow redirectionをクリックすると。

 

f:id:ThisIsOne:20211004100924p:plain

 

リダイレクトされて。

 

f:id:ThisIsOne:20211004100943p:plain

 

リダイレクト先のページの表示を確認して。

 

f:id:ThisIsOne:20211004101011p:plain

 

かなり遠回りをしたのですが、あらためて引用符を挿入すると。

 

f:id:ThisIsOne:20211004133607p:plain

 

Internal Server Errorが表示されたので。

その理由として、この引用符文字がクエリに干渉して。

ここで一重引用符が閉じられて、一重引用符が残ったためで。

ユーザとしてログインして、パスワードフィールドを無視するようにすることに。

 

f:id:ThisIsOne:20211004133626p:plain

 

ここで、ブルートフォースを仕掛ける際には、admin等のユーザ名やパスワードの。

ワードリストを用意するのですが、脆弱性診断となると。

あらかじめ存在するユーザ等の情報を得られるので必要なかったりと。

 

f:id:ThisIsOne:20211004141050p:plain

 

さて、下記のようにペイロードを仕掛けてみるとうまくいかなかったので。

 admin' or 1=1#

f:id:ThisIsOne:20211004133812p:plain

 

次に下記のペイロードに変更すると。

 admin' or 1=1--

 

f:id:ThisIsOne:20211004133902p:plain

 

クリアできて。

 

f:id:ThisIsOne:20211004133918p:plain


Best regards, (^^ゞ