DVWA-SQLインジェクション
A、SQLインジェクションのコンセプト
SQLインジェクションは、SQLクエリは、悪質なSQL文を実行するための目的を達成するように、構造を破壊する悪質なSQLコマンドを注入することにより、攻撃者を指します。
第二に、従来の考え方の手動注入
注射があるか否かを判定する1
クエリ溶液中のフィールドの数を推測2. SSQL
エコーの位置を決定3.
現在のデータベースを取得する4.
現在のデータベース内の捕捉テーブル
テーブルのフィールドの数を取得します。6.
7.データの取得
三、DVWAインジェクション分析
LOWにDVWAレベル
1.ソースコードを解析し、あなたはそれが、データベースクエリに直接解析SQLクエリを任意のフィルタパラメータをしない、文字のSQLインジェクションがあるかもしれない見ることができます。
2. AQLは、注射、存在および注射のタイプかどうかを判定する。1 'と' 1 '=' 1
3. SQLは、段落文の中の単語の数を推測するクエリ
1#による1' の順序
2#による1' の順序
3#による1' の順序
テーブル番号フィールドSQL文を見ることができる上記の説明は、クエリが(SQL文の後クエリエコー位置)であるから、エコーの位置を決定する2
1組合は、1,2の##を選択するには、2つのバックがあった見ることができます
クエリのデータベースと、現在のバージョン、1組合を選択したバージョン()、データベース()#
INFORMATION_SCHEMA.TABLES TABLE_SCHEMA =データベース()#からデータベーステーブルへのアクセス、1組合1を選択し、GROUP_CONCAT(TABLE_NAME)
ユーザーの#「をtable_nameは= information_schema.columnsから、組合1を選択しGROUP_CONCAT(COLUMN_NAME)」1、テーブル内のフィールドの名前を取得します。
フィールドで得られたデータを、1組合ユーザーを選択し、ユーザーからのパスワード#
中級DVWAはで入手します!!!!以下を見てはいけません
レベルは中DVWAに設定されています
中级加入了让一些防御,不让用户输入,只供选择(可以用burpsuit抓包来绕过),分析源码可以看到对参数使用masql_real_escape_string函数转义sql语句中的一些特殊字符,查看sql查询语句可以看出可能存在数字型sql注入。
通过burpsuit抓包,修改数据包,绕过防御。判断注入点以及注入类型,下图可以看到,存在注入,注入类型是数字型注入。 1 and 1=1#