ホームページ  >  記事  >  バックエンド開発  >  DVWA による php+mysql の手動インジェクション

DVWA による php+mysql の手動インジェクション

不言
不言オリジナル
2018-04-28 09:13:072626ブラウズ

この記事では、DVWA での php+mysql の手動インジェクションを紹介します。これには特定の参考値があります。必要な友達はそれを参照してください。

  1. dvwa のセキュリティ レベルは低いです。このページでは、ユーザー ID を入力するように求められます。正しい ID を入力すると、ID の名と姓の情報が表示されます。

  2. 「'」を入力しようとすると、エラーが返されます。注入ポイントが存在します。

  3. データベーステーブルを走査しようとすると、入力された値はIDであり、最初の判断はそれが数値型の注入であるということです。 1 または 1=1 と入力して、データベース テーブルを走査してみます。結果は失敗でした。


  1. 1 または 1=1 は、データベース テーブルを走査できませんでした。1' または '1 を入力してみてください。 '=' 1 を実行し、データベース内のすべてのコンテンツを走査します。異なる結果を得るために、異なるステートメントを組み合わせてみましょう。

  2. order by ステートメントを使用してクエリを実行し、1'order by 1 - - ページは通常どおり表示されます、1'order by 2 - - 通常どおり表示されます、1'order by 3 - - エラーが報告され、クエリ結果の値が 2 列であると判断されます。 (ステートメントでは - - の後にスペースがあり、- - の間にスペースがないことに注意してください)

  3. 3 つの組み込み関数 user()、database()、version() を使用して、データベース アカウント名、データベース名、データベース バージョン情報、最初のパラメーター インジェクション 1' および 1=2 Union select 1,2 - - (- - の間にスペースなし、- - の後にスペース) を取得します。クエリ結果の1列目の値として名が表示され、クエリ結果の2列目の値として姓が表示されることがわかります。

  4. 表示がわかったら user(),database(),version(),statement 1' と 1=2 Union select user(),database() - - Get を使用します。データベース ユーザーとデータベース名。データベースにリンクしているユーザーは root@localhost で、データベース名は dvwa です。

  5. 1' と 1=2 を挿入することにより、 Union select version(),database() - - データベースのバージョンは 5.0.90-community-nt です。

  6. 注入により: 1' and 1=2 Union select 1,@@global.version_compile_os from mysql.user –- オペレーティングシステム情報を win32 として取得します。

  7. : 1' および 1=2 Union select 1,schema_name from information_schema.schemata - - mysql データベース、すべてのデータベース名をクエリします。ここでは、mysql のデフォルト データベース information_scehma が使用されており、すべての mysql データベースとテーブルに関する情報が保存されます。

  8. 1'を注入して存在します(select * from users) - - dvwaデータベース内のテーブル名を推測します(このステートメントのテーブル名はusersですが、テーブルには実際にはユーザー名とパスワードは保存されません)

  9. フィールド名を推測します: 1' と存在します (テーブル名からフィールド名を選択) - - ここでは、フィールド名 first_name と last_name が実際にテストされています。実際のステートメント 1' と存在 (ユーザーから最初の名前を選択) - - および 1' と存在(ユーザーから最後の名前を選択) - - フィールド名を推測します。

  10. データベース内のフィールドの内容を公開します。 1' と 1=2 Union select first_name,last_name from users - - 実際、これが管理者アカウントを格納するテーブルである場合、ユーザー名とパスワードが公開される可能性があります。

ソースコード

関連推奨事項:

DVWA システムコードを読む config.inc.php

以上がDVWA による php+mysql の手動インジェクションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。