web-dev-qa-db-ja.com

SQLMAPおよびDBMS資格情報、それらをどのように使用しますか?

教育目的で、学生向けのテストを開発するために、友人が開発したWebサイトを "ハッキング"します: http://www.websitetohack.com.index.php?id = 5 SQLMAPを起動すると、「時間ベースのブラインドSQLインジェクション」が検出されます。

いくつかのdbsクエリの後。私が見つけた情報があります:

3つのデータベースがあります。

  • db01(phpbbフォーラムを含むphpウェブサイトの例)
  • mysql
  • information_schema

バックエンドDBMSはMySQLです
DBMSの現在のユーザー「ユーザー名」は、administratorforlifeです。
DBMSの現在のユーザー「パスワード」は、ohmygodです。
現在のデータベースは次のとおりです:db01
ホスト名は次のとおりです:db01hostname
DBMSの現在のユーザーは:(DBA)(データベース管理者)

db01には「USERS」という列があり、100個の偽の「アカウント+パスワード」がリストされています。
問題:ADMIN PANELがどこにあるのかわかりません。私はいくつかのスクリプトを介してそれを見つけようとしましたが成功しませんでした。

ヘルプSQLMAPを使用して、db01のすべてのユーザーデータを取得するために持っている情報を使用してDBMSに接続する方法はありますか?はいの場合、どのように? DBMSに入るコマンドラインを知っていますか?皆さんご存知のように、ブラインドモードでは何年も過ごします。

ご協力いただきありがとうございます !

3
Paul Defroyden

いくつかの条件の下で資格情報を使用してデータベースに接続できます

1.)MySQLデーモンはサーバーの外部IPアドレスで実行する必要があります。 MySQLは、UNIXソケットまたはネットワークインターフェースで使用するように構成できます。セキュリティ上の理由から、デーモンをループバックにのみバインドして、外部の攻撃者(この場合はあなた)から攻撃できないようにすることをお勧めします。あなたの友人がそれを安全に設定したかどうかを確認する必要があります。たとえば、nmapのようなポートスキャナーを実行する

nmap -sS -p 3306 you.hostname

-sSは、nmapに、CONNECTスキャンよりも目立たないSYNスキャンを実行するように指示し、-p 3306はスキャンするポートを示します。ポート3306は、MySQLデーモンのデフォルトポートです。

2.)ユーザーは外部アクセスのためにロック解除する必要があります。 MySQLにより、管理者は特定のユーザーのみに、たとえばlocalhostなどの特定のホストからの接続を許可することができます。これを確認するには、mysql.userテーブルをSQLiで使用します。

これらの条件が満たされている場合、mysqlコマンドを使用して接続するか、端末ベースの作業を行わない場合はmysqlワークベンチを使用して接続できます。

mysql -u yourusername -p -h your.hostname

-u yourusernameはユーザー名に-pは、パスワードと-h your.hostnameはターゲットのホスト名です。

これを行う前に、/robots.txt Webサーバー上。このファイルは、Googleボットのようなリンククローラーのブラックリストに登録されたURLに関係しています。多くの場合、これらのファイルには管理インターフェースへのパスが含まれています。だから多分あなたはこのようにログインページを見つける...

1
davidb