Fehlereinfügungsanalyse der Funktion „updatexml()“ von MySQL

Fehlereinfügungsanalyse der Funktion „updatexml()“ von MySQL

Verstehen Sie zunächst die Funktion updatexml()

UPDATEXML (XML_Dokument, XPath_Zeichenfolge, neuer_Wert);

Der erste Parameter: XML_document hat das String-Format und ist der Name des XML-Dokumentobjekts, in diesem Artikel „Doc“.

Der zweite Parameter: XPath_string (ein String im Xpath-Format). Wenn Sie die Xpath-Syntax nicht verstehen, finden Sie online ein Tutorial.

Der dritte Parameter: new_value im String-Format ersetzt die gefundenen Daten, die die Bedingungen erfüllen

Funktion: Ändern Sie den Wert des Knotens, der die Bedingungen im Dokument erfüllt

Ändern Sie den Wert von XPATH_string im XML_document

Und unsere Injektionsanweisung lautet:

updatexml(1, concat(0x7e,(AUSWÄHLEN @@version),0x7e),1)

Die Funktion concat() verkettet sie zu einem String, sodass dieser nicht dem Format von XPATH_string entspricht und zu einem Formatfehler führt.

FEHLER 1105 (HY000): XPATH-Syntaxfehler: ':root@localhost'

Zusammenfassung des XPath-Syntaxformats: https://www.jb51.net/article/125607.htm

Zusammenfassen

Dies ist der gesamte Inhalt dieses Artikels zur Fehlereinschleusungsanalyse der MySQL updatexml()-Funktion. Ich hoffe, er wird für alle hilfreich sein. Interessierte Freunde können sich auf Folgendes beziehen: Detaillierte Erläuterung der MySQL-Vorbereitungsprinzipien, mehrere wichtige MySQL-Variablen, Methoden zum Löschen von MySQL-Tabellendaten usw. Wenn Sie Fragen haben, können Sie jederzeit eine Nachricht hinterlassen. Jeder ist herzlich eingeladen, zu kommunizieren und zu diskutieren. Ich möchte auch meinen Freunden für ihre Unterstützung dieser Site danken.

Das könnte Sie auch interessieren:
  • Ausführliche Erläuterung der MySQL UPDATE-Anweisung
  • Detailliertes Beispiel für MySQL-Joint-Tabellen-Update-Daten
  • Beispielüberprüfung MySQL | Update-Feld mit demselben Wert zeichnet Binlog auf
  • Detaillierte Erläuterung des Ausführungsprozesses der MySQL-Update-Anweisung
  • Codebeispiele für MySQL-Batchoperationsanweisungen „Select“, „Insert“ und „Update“
  • Zusammenfassung der gemeinsamen Updatemethode für MySQL-Updates mehrerer Tabellen
  • Führt MySQL die Aktualisierungsanweisung erneut aus, wenn sie dieselben Daten enthält wie die ursprüngliche?
  • Erläuterung der MySQL-Transaktionsauswahl für die Aktualisierung und Datenkonsistenzverarbeitung
  • Mehrere Möglichkeiten zum Aktualisieren von Batches in MySQL
  • Detaillierte Erklärung zur Verwendung des MySQL-Parameters sql_safe_updates in der Produktionsumgebung
  • So beheben Sie den Fehler 1093 - Sie können in der FROM-Klausel in MySQL keine Zieltabelle für die Aktualisierung angeben
  • Mybatis führt Batch-Update-Methode aus (Oracle, MySQL)
  • Notieren Sie eine Falle bei der Aktualisierung der MySQL-Update-Anweisung

<<:  Centos7.4-Serverinstallation von Apache und Lösungen für während des Installationsvorgangs aufgetretene Probleme

>>:  VUE+Express+MongoDB-Frontend- und Backend-Trennung zur Realisierung einer Notizwand

Artikel empfehlen

Erläuterung, ob im interaktiven Design Paging oder Laden gewählt werden soll

Der Autor dieses Artikels @子木yoyo hat ihn in seine...

Vue-Beispielcode für die Online-Vorschau von Office-Dateien

Ich arbeite derzeit an elektronischen Archiven un...

W3C Tutorial (15): W3C SMIL Aktivitäten

SMIL fügt Unterstützung für Timing und Mediensync...

Grundlegende Implementierung der AOP-Programmierung in JavaScript

Einführung in AOP Die Hauptfunktion von AOP (Aspe...

Schritte zum Wiederherstellen von Code aus einem Docker-Container-Image

Manchmal geht der Code verloren und Sie müssen de...

MySQL-Transaktionsanalyse

Transaktion Eine Transaktion ist eine grundlegend...

Lösen Sie das Problem, dass Docker Elasticsearch7.x startet und einen Fehler meldet

Verwenden des Docker-Befehls „run“ docker run -d ...

CentOS 7 kann nach dem Ändern der Netzwerkkarte nicht auf das Internet zugreifen

Ping www.baidu.com unbekannter Domänenname Ändern...

Wird der veraltete Docker durch Podman ersetzt?

Das Kubernetes-Team hat vor Kurzem angekündigt, d...

Datendiebstahl mit CSS in Firefox

0x00 Einführung Vor einigen Monaten habe ich eine...

Einführung in die neuen Funktionen von MySQL 8.0.11

MySQL 8.0 für Windows v8.0.11 offizielle kostenlo...

Einführung und Beispiele für versteckte Felder in HTML

Grundlegende Syntax: <Eingabetyp="versteck...