Themen rund um Technik

Joomla - SQL injection verhindern

In der letzten Zeit wurden vermehrt Angriffe auf Joomla und andere Content Management Systeme durchgeführt.

Ich habe in den letzten Tagen folgende Abfragen auf meinen Seiten gehabt:

www.Domain.de/index.php?option=com_acctexp&task=subscribe&usage=(select/**/1/**/from(select/**/count(*),concat((select/**/username/**/from/**/jos_users/**/where/**/usertype=0x73757065722061646d696e6973747261746f72/**/limit/**/0,1),floor(rand

Herkunft angeblich von Google.com.


Die Abfragen sind als 404 zurückgewiesen worden. Sie werden allerdings nur zurückgewiesen, wenn nicht der Prefix jos_ in der Datenbank verwendet wurde. Sollten Sie noch den Prefix jos_ verwenden, bitte diesen in der Datenbank ändern.

Aus Sicherheitsgründen sollte daher der Präfix jos_ nie verwendet werden. Außerdem sollten alle Seiten von 1.5.x  auf 2.5 (aktuellste Version - diese ist im Moment 2.5.9) migriert werden.

Die Aufrufe können im Backend unter Komponenten => Umleitungen angezeigt werden (ab Joomla 1.6) und sollten alle auf die eigene Domain umgeleitet werden. Außerdem finden sich Einträge in der Log-Datei.

 Der Prefix jos_ kann z.B. mit phpMydamin oder direkt in mysql in arj3gh_  (bitte auf keinen Fall arj3gh_ verwenden!) geändert werden:


ALTER TABLE `jos_assets` RENAME `arj3gh_assets`;
ALTER TABLE `jos_associations` RENAME `arj3gh_associations`;
ALTER TABLE `jos_banners` RENAME `arj3gh_banners`;
ALTER TABLE `jos_banner_clients` RENAME `arj3gh_banner_clients`;
ALTER TABLE `jos_banner_tracks` RENAME `arj3gh_banner_tracks`;
ALTER TABLE `jos_categories` RENAME `arj3gh_categories`;
ALTER TABLE `jos_contact_details` RENAME `arj3gh_contact_details`;
ALTER TABLE `jos_content` RENAME `arj3gh_content`;
ALTER TABLE `jos_content_frontpage` RENAME `arj3gh_content_frontpage`;
ALTER TABLE `jos_content_rating` RENAME `arj3gh_content_rating`;
ALTER TABLE `jos_core_log_searches` RENAME `arj3gh_core_log_searches`;
ALTER TABLE `jos_extensions` RENAME `arj3gh_extensions`;
ALTER TABLE `jos_finder_filters` RENAME `arj3gh_finder_filters`;
ALTER TABLE `jos_finder_links` RENAME `arj3gh_finder_links`;
ALTER TABLE `jos_finder_links_terms0` RENAME `arj3gh_finder_links_terms0`;
ALTER TABLE `jos_finder_links_terms1` RENAME `arj3gh_finder_links_terms1`;
ALTER TABLE `jos_finder_links_terms2` RENAME `arj3gh_finder_links_terms2`;
ALTER TABLE `jos_finder_links_terms3` RENAME `arj3gh_finder_links_terms3`;
ALTER TABLE `jos_finder_links_terms4` RENAME `arj3gh_finder_links_terms4`;
ALTER TABLE `jos_finder_links_terms5` RENAME `arj3gh_finder_links_terms5`;
ALTER TABLE `jos_finder_links_terms6` RENAME `arj3gh_finder_links_terms6`;
ALTER TABLE `jos_finder_links_terms7` RENAME `arj3gh_finder_links_terms7`;
ALTER TABLE `jos_finder_links_terms8` RENAME `arj3gh_finder_links_terms8`;
ALTER TABLE `jos_finder_links_terms9` RENAME `arj3gh_finder_links_terms9`;
ALTER TABLE `jos_finder_links_termsa` RENAME `arj3gh_finder_links_termsa`;
ALTER TABLE `jos_finder_links_termsb` RENAME `arj3gh_finder_links_termsb`;
ALTER TABLE `jos_finder_links_termsc` RENAME `arj3gh_finder_links_termsc`;
ALTER TABLE `jos_finder_links_termsd` RENAME `arj3gh_finder_links_termsd`;
ALTER TABLE `jos_finder_links_termse` RENAME `arj3gh_finder_links_termse`;
ALTER TABLE `jos_finder_links_termsf` RENAME `arj3gh_finder_links_termsf`;
ALTER TABLE `jos_finder_taxonomy` RENAME `arj3gh_finder_taxonomy`;
ALTER TABLE `jos_finder_taxonomy_map` RENAME `arj3gh_finder_taxonomy_map`;
ALTER TABLE `jos_finder_terms` RENAME `arj3gh_finder_terms`;
ALTER TABLE `jos_finder_terms_common` RENAME `arj3gh_finder_terms_common`;
ALTER TABLE `jos_finder_tokens` RENAME `arj3gh_finder_tokens`;
ALTER TABLE `jos_finder_tokens_aggregate` RENAME `arj3gh_finder_tokens_aggregate`;
ALTER TABLE `jos_finder_types` RENAME `arj3gh_finder_types`;
ALTER TABLE `jos_languages` RENAME `arj3gh_languages`;
ALTER TABLE `jos_menu` RENAME `arj3gh_menu`;
ALTER TABLE `jos_menu_types` RENAME `arj3gh_menu_types`;
ALTER TABLE `jos_messages` RENAME `arj3gh_messages`;
ALTER TABLE `jos_messages_cfg` RENAME `arj3gh_messages_cfg`;
ALTER TABLE `jos_modules` RENAME `arj3gh_modules`;
ALTER TABLE `jos_modules_menu` RENAME `arj3gh_modules_menu`;
ALTER TABLE `jos_newsfeeds` RENAME `arj3gh_newsfeeds`;
ALTER TABLE `jos_overrider` RENAME `arj3gh_overrider`;
ALTER TABLE `jos_redirect_links` RENAME `arj3gh_redirect_links`;
ALTER TABLE `jos_schemas` RENAME `arj3gh_schemas`;
ALTER TABLE `jos_session` RENAME `arj3gh_session`;
ALTER TABLE `jos_template_styles` RENAME `arj3gh_template_styles`;
ALTER TABLE `jos_updates` RENAME `arj3gh_updates`;
ALTER TABLE `jos_update_categories` RENAME `arj3gh_update_categories`;
ALTER TABLE `jos_update_sites` RENAME `arj3gh_update_sites`;
ALTER TABLE `jos_update_sites_extensions` RENAME `arj3gh_update_sites_extensions`;
ALTER TABLE `jos_usergroups` RENAME `arj3gh_usergroups`;
ALTER TABLE `jos_users` RENAME `arj3gh_users`;
ALTER TABLE `jos_user_notes` RENAME `arj3gh_user_notes`;
ALTER TABLE `jos_user_profiles` RENAME `arj3gh_user_profiles`;
ALTER TABLE `jos_user_usergroup_map` RENAME `arj3gh_user_usergroup_map`;
ALTER TABLE `jos_viewlevels` RENAME `arj3gh_viewlevels`;
ALTER TABLE `jos_weblinks` RENAME `arj3gh_weblinks`;


Oder direkt in phpMyadmin:

 jos_ Prefix ändern

 

 

 

 

 

 

 

 

1: Alle auswählen anklicken

2: Tabellenprefix ersetzen auswählen

jos_ Prefix in neuen Prefix ändern

In der nun erscheinenden Maske einfach den Prefix durch den neuen ersetzen - fertig.

jos_ Prefix ändern


Wichtig: Bitte auch die configuration.php ändern. Hier nach dem Eintrag  "var $dbprefix = 'jos_';" suchen und jos_ durch den neuen Prefix ersetzen.

Tipps:

 

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.