angelikamorgan
Mitglied
Hallo Zusammen,
ich möchte bewusst ohne PreparedStatement eine beliebige Zeichenkette innerhalb einer DB speichern, um Cross-Site-Scripting zu testen.
Das Speichern von einfache Strings innerhalb der DB funktioniet.
Was nicht funktioniert ist die Eingabe bzw. das Speichern von dem folgenden String:
Sobald ich die obige JS-Zeile eingebe, erhalte ich die folgende Meldung:
Als Kollation für die Text Spalte der DB habe ich 'utf8_unicode_ci' angegeben.
Was muss ich machen, um eine beliebige Zeichenkette innerhalb der DB zu speichern?
Vielen Dank,
Angelika
ich möchte bewusst ohne PreparedStatement eine beliebige Zeichenkette innerhalb einer DB speichern, um Cross-Site-Scripting zu testen.
Das Speichern von einfache Strings innerhalb der DB funktioniet.
Java:
public void insertString(String message) {
String query = "insert into crossside.messages (id, message) VALUES (NULL, '"+message+"');";
Statement stm = null;
try {
stm = getConnection().createStatement();
// stm.setEscapeProcessing(false);
stm.executeUpdate(query);
stm.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
Was nicht funktioniert ist die Eingabe bzw. das Speichern von dem folgenden String:
Code:
alert( 'Hello', 'xss' );
Sobald ich die obige JS-Zeile eingebe, erhalte ich die folgende Meldung:
Code:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax
Als Kollation für die Text Spalte der DB habe ich 'utf8_unicode_ci' angegeben.
Was muss ich machen, um eine beliebige Zeichenkette innerhalb der DB zu speichern?
Vielen Dank,
Angelika