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:

 

Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen Ok