add_query_arg () XSS-Sicherheitsanfälligkeit

Ich habe ein persönliches Plugin erstellt und jetzt mache ich mir Sorgen um diese Sicherheitslücke: https://blog.sucuri.net/2015/04/security-advisory-xss-vulnerability-affeting-multiple-wordpress-plugins.html

So benutze ich add_query_arg (). Ist das in Ordnung oder sollte ich es irgendwie schützen?

allgemeine_plugin.php

function add_custom_query_var( $vars ){ $vars[] = "custom_var"; return $vars; } add_filter( 'query_vars', 'add_custom_query_var' ); 

plugin_part1.php

 ... echo 'db_column.'">text....' ... 

plugin_part1-fixed.php

 ... echo 'db_column).'">text....' ... 

plugin_part2.php

 $id = intval(get_query_var( 'custom_var' )); $sql = $mydb->prepare( " SELECT * FROM `db_table` WHERE `db_table`.`db_column` = %d ", array($is) ); 

Solutions Collecting From Web of "add_query_arg () XSS-Sicherheitsanfälligkeit"

Wenn ich nicht etwas vermisse, das mich ins Gesicht starrt, benutzen Sie nicht add_query_arg() oder remove_query_arg() ; Da dies die einzigen functionen sind, die von diesem speziellen Exploit betroffen sind, sollten Sie sicher sein.

Ihr Code verwendet den Filter query_vars und get_query_var() aber keiner davon wird durch den Exploit beeinflusst, auf den Sie verwiesen haben.

Ansonsten sieht dein Code gut aus, ich sehe einen Tipperrors in der vorletzten Zeile von “plugin_part2.php”, es sollte wohl array($id) . Ohne den Rest im Kontext zu sehen, kann ich nicht sagen, dass Sie mit 100% Sicherheit sicher sind, aber nichts, was Sie gepostet haben, ist anfällig für den Exploit, nach dem Sie fragen.

Für jeden, der in diesem Post stolpert, läuft die Behebung für diesen speziellen Exploit wie folgt ab:

 add_query_arg($param1, $param2, $old_query_or_uri); 

oder

 remove_query_arg($key, $query); 

sollte ersetzt werden mit

 esc_url(add_query_arg($param1, $param2, $old_query_or_uri)); 

oder

 esc_url(remove_query_arg($key, $query)); 

beziehungsweise.

In diesem Artikel finden Sie eine hervorragende Beschreibung dieses Exploits.