Closed2

SQLインジェクションを試す。

RyoRyo

目的

Tryhackmeを実施し、SQLインジェクションを試みる。

SQLインジェクションとは

SQLの実行方法についてセキュリティ上の不備がある場合に発生する脆弱性。
SQLインジェクションにより、下記の脅威が発生しうる。

  • データベースに蓄積された情報の奪取
  • 認証のバイパス
  • データベースに蓄積された情報の改ざん
  • ストアドプロシージャ等を利用したOSコマンドの実行

参考資料

RyoRyo

sqlmap

SQLインジェクションのペネトレーションテストツール。
インプットとしたHTTPリクエストをベースとしてリクエストを細工し、SQLインジェクションを試みる。
sqlmapはKali Linuxにデフォルトでインストールされている模様。

使用例

  1. BurpSuiteを用いてリクエストをInterceptする。

  2. InterceptしたHTTPリクエストをファイルに保存する。(ここではrequest.txt)

  3. Kali Linuxで下記を実行する。

sqlmap -r request.txt --dbms=mysql --dump

-r リクエストファイル名
--dbms DBMS名
--dump SQLインジェクション結果をダンプ

他にも下記のlevelriskの値を大きくすることで、より多くのpayloadを実行することが可能。
--level SQLインジェクションpayloadのタイプを指定。(1-3まで指定可能。デフォルト値は1)
--risk SQLインジェクションpayloadの種類数を指定。(1-5まで指定可能。デフォルト値は1)

  1. あとはよろしくやってくれる。
    Tryhackmeで実行したところ、いくつかのSQLインジェクションに成功したようだ。

    そして、情報も奪取。

    SHA256でハッシュ化したパスワードとそれに対応するユーザ名も奪取。(これがTryhackmeでの回答となった)
このスクラップは2022/10/22にクローズされました