MYSQL updatexml() 関数のエラーインジェクション分析

MYSQL updatexml() 関数のエラーインジェクション分析

まず、updatexml()関数を理解する

UPDATEXML (XML ドキュメント、XPath 文字列、新しい値);

最初のパラメータ: XML_document は文字列形式で、XML ドキュメント オブジェクトの名前 (この記事では Doc) です。

2 番目のパラメータ: XPath_string (Xpath 形式の文字列)。Xpath 構文がわからない場合は、オンラインでチュートリアルを見つけることができます。

3番目のパラメータ: new_value(文字列形式)は、条件を満たす見つかったデータを置き換えます。

機能: ドキュメント内の条件を満たすノードの値を変更する

XML_documentのXPATH_stringの値を変更する

そして、注入ステートメントは次のようになります。

updatexml(1、連結(0x7e、(SELECT @@version)、0x7e)、1)

concat() 関数はそれらを文字列に連結するため、XPATH_string の形式に準拠せず、形式エラーが発生します。

エラー 1105 (HY000): XPATH 構文エラー: ':root@localhost'

xpath 構文形式の概要: https://www.jb51.net/article/125607.htm

要約する

以上がMYSQL updatexml()関数のエラーインジェクション分析に関するこの記事の内容です。皆様のお役に立てれば幸いです。興味のある方は、MySQL の準備原則、いくつかの重要な MySQL 変数、MySQL テーブル データを削除する方法などの詳細な説明を参照してください。質問がある場合は、いつでもメッセージを残すことができます。誰でもコミュニケーションと議論を歓迎します。また、このサイトをサポートしてくれた友人たちにも感謝したいと思います。

以下もご興味があるかもしれません:
  • MySQL UPDATE ステートメントの詳細な説明
  • MySQL ジョイントテーブル更新デー​​タの詳細な例
  • 検証例 MySQL | 同じ値を持つフィールドを更新すると、binlog に記録されます
  • mysql update文の実行プロセスの詳細な説明
  • MySQL の選択、挿入、更新バッチ操作ステートメントのコード例
  • Mysql 更新マルチテーブル共同更新方法の概要
  • MySQL は、元のデータと同じデータがある場合、更新ステートメントを再度実行しますか?
  • 更新とデータ整合性処理のためのMySQLトランザクション選択の説明
  • MySQLでバッチを更新するいくつかの方法
  • 本番環境でのMySQLパラメータsql_safe_updatesの使用に関する詳細な説明
  • エラー 1093 を解決する方法 - MySQL の FROM 句で更新のターゲット テーブルを指定できません
  • Mybatis はバッチ更新メソッドを実行します (Oracle、MySQL)
  • MySQLのUPDATE文の落とし穴を記録する

<<:  JSは10進数を16進数に変換するサンプルコードを実装します

>>:  Centos7.4 サーバーへの Apache のインストールとインストール プロセス中に発生した問題の解決策

推薦する

Vue で v-for を更新する方法

ヒント:配列変更メソッドによりv-forが更新され、ページが更新されます。配列を変更しないメソッド:...

CSSの幅と高さのデフォルト値の詳細な説明:autoと%

結論は幅の%: 包含ブロック(親要素)の幅に基づいて、親の制限を超える幅のパーセンテージを定義します...

Vue の要素カレンダー コンポーネントを使用したサンプル コード

まず効果図を見てみましょう: 完全なコードは添付されています <テンプレート> <...

vue-cli 設定では Vuex の完全なプロセスレコードを使用します

目次序文インストールと使用方法モジュラー管理Vuex の状態永続性要約する序文Vue 開発では、ユー...

CSS でハートを描く 3 つの方法

以下では、CSS を使用してハートの形を描く 3 つの方法を紹介します。実装プロセスは非常にシンプル...

ウェブサイトはグレー表示されています。画像を含む互換コードはすべてのブラウザをサポートしています

通常、国喪の日、大地震の日、清明節には、ウェブサイト全体を灰色にして、故人への哀悼の意を表します。そ...

Iframe の使用を減らすべきいくつかの理由の分析

次のグラフは、100 個の異なる要素で iframe を作成するのにどれくらいの時間がかかるかを示し...

コンパイル/サーバーなしでブラウザにCommonJSモジュールを実装する

目次導入1. one-click.jsとは2. パッケージングツールはどのように機能しますか? 3....

表には表示したい境界コードが表示されます

テーブルの共通プロパティ基本的な属性は、width (幅)、height (高さ)、border (...

MySQL ディープ ページング (数千万のデータを素早くページ分割する方法)

目次序文場合最適化まとめ序文バックエンド開発では、一度に大量のデータがロードされ、メモリやディスク ...

Spark SQL の 4 つの一般的なデータ ソースの詳細な説明

汎用ロード/書き込みメソッドオプションを手動で指定するSpark SQL の DataFrame イ...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...

HTMLのテーブルの内容は中央に水平と垂直に表示されます

CSSスタイルファイルで指定 #class td /*表のテキストを左右上下に揃えるように設定する*...

Dockerのプロセスとイメージを実行するための基本コマンドの詳細な説明

目次1. ワークフローを実行する2. ミラーリングの基本コマンド1. ワークフローを実行するDock...

DockerにRabbitMQを素早くインストールする方法

1. 画像を取得する #Webコントロールページを含むバージョンを指定します docker pull...