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 のインストールとインストール プロセス中に発生した問題の解決策

推薦する

dns-prefetch とは何ですか? フロントエンドの最適化: DNS の事前解決によりページ速度が向上します

目次背景1. dns-prefetch とは何ですか? 2. dns-prefetch を設定するに...

幅の比率に応じて高さを変えるCSSを実装するいくつかの方法

[解決策1: パディングの実装]原理:要素の padding の値がパーセンテージの場合、このパーセ...

HTMLタグIDは変数にできる

<table id=" <%=var1%>">、var1...

フォーム検証機能を実装するためのネイティブ js

目次開発の際には、機能を段階的に分析して実装することで、明確な考え方を保つことができます。 1. フ...

CSS (カスケーディング スタイル シート) の一般的な用語の概要

CSS を使用する場合は、DOCTYPE (ドキュメント タイプ定義) を記述することを忘れないでく...

JSを使用して簡単な計算機を実装する

JSを使用して、参考用の簡単な計算機を完成させます。具体的な内容は次のとおりです。要件: 入力値は数...

Linux NFSメカニズムの動作原理と例の分析

NFS とは何ですか?ネットワークファイルシステムネットワーク上でファイルを保存および整理するための...

Vue印刷機能を実装する2つの方法の概要

方法1: npm経由でプラグインをインストールする1. npm install vue-print-...

Vue コンポーネントでのアンチシェイクとスロットリングの使用例の分析

入力ボックスへのユーザー入力、ウィンドウのサイズ変更、スクロール、Intersection Obse...

HTMLタグオーバーフロー処理アプリケーション

CSSを使用してスクロールバーを変更する1.コンテンツがオーバーフローした場合のオーバーフロー設定水...

シンプルなID生成戦略: MySQLテーブルからグローバルに一意のIDを生成する実装

グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...

無効にしてHTMLフォーム入力を送信した後にフォーム値が取得されない問題を解決する方法

フォーム入力ボックスの入力をdisable属性に設定して送信すると、入力ボックスの値を取得できなくな...

jQueryは動的タグイベントを実装します

この記事では、タグイベントを動的に追加するためのjQueryの具体的なコードを参考までに紹介します。...

Linux 上のカラフルな猫

Linux システムを使用したことがある友人なら、 catコマンドを使用したことがあるはずです。もち...

DockerでKafkaをデプロイする方法

目次1. Dockerをビルドする2. コンテナに入る3. 設定ファイルを変更する4. Kafkaを...