Gerade hab ich eine WAP-Push-Message gekriegt, genauer gesagt eine Service Indication (das ist ein spezielles SMS mit Text und einer URL dabei). Der Text und die URL sind hier zu sehen, das ist die einzige Info, die mein Handy dazu ausspuckte:
Das machte mich natürlich stutzig. Also hab ich mir mal das WHOIS von dsza.com angeschaut. Da ist nichts besonderes aufzufinden. Der nächste Schritt war dann, mit Hilfe des großartigen Tools
w3bfukk0r ein wenig Forced Browsing zu betreiben. Gefunden hab ich da konkret
http://dsza.com/webalizer/. /cgi-bin/ ist auch noch vorhanden, returniert allerdings 403.
Der nächste Schritt war, mit einem Handy-typischen User-Agent (die kriegt man z.B.
aus diesem File heraus) die konkrete URL, die mir zugeschickt wurde, herunterzuladen. Das führte zu einer Umleitung auf eine URL von dl.dsza.com, welche schließlich ein XHTML-Mobile File zurücklieferte,
das man sich hier anschauen kann. Offenbar handelt es sich um den typischen Jamba-style Handy-Content, d.h. Ringtones, Wallpapers und Videos. Interessant ist sicher der Hinweis am Ende der Seite: "Handyfun - 7 Tage GRATIS (inkl.2 downloads) danach 4EUR pro Woche. Mehr als 2 downloads, 4EUR pro Content. Abm.m.stop an 0930585686". 0930? Ist die nicht für Sexhotline-Betreiber registriert? Und müssen bei Mehrwertnummern nicht die anfallenden Kosten pro SMS angegeben werden? Naja, egal.
Ich wollte mir auf jeden Fall noch anschauen, was ich denn kriege, wenn ich mir den DJ Oetzi/Nik P Ringtone herunterlade. Also hab ich mal die verlinkte URL heruntergeladen. Zurück kam folgende Fehlermeldung (von dem XML-Zeugs befreit):
(Exception Class:
EXCEPTION: Status Code: 500
Request URI: /universal/loadMediaPack!directMedia.action
Servlet Name: default
Exception Class: java.lang.IllegalArgumentException
Error Msg: The serviceId must greater than -1
Application ID: 9)
Ups, die URL endet auf "svc=". Also "svc=0" gemacht. Das Resultat?
(Exception Class:
EXCEPTION:
Status Code: 500
Request URI: /universal/loadMediaPack!directMedia.action
Servlet Name: default
Exception Class: java.lang.IllegalArgumentException
Error Msg: The service number specified [0] is less than or equal to zero.
Application ID: 9)
Muahahahahahahaha! Also nun mit "svc=1":
(Exception Class:
EXCEPTION:
Status Code: 500
Request URI: /universal/loadMediaPack!directMedia.action
Servlet Name: default
Exception Class: org.hibernate.HibernateException
Error Msg: Failed to retrieve [com.switchfire.mmp.dao.wap_platform.mmp.media.MMPMediaPackDAO] with id [0] from database: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.switchfire.mmp.dao.wap_platform.mmp.media.MMPMediaPackDAO#0]
Application ID: 9)
An dem Punkt bin ich dann allerdings draufgekommen, dass ich die URL falsch zusammengebaut hab, also das ganze nochmal, mit der richtigen URL. Also das ganze nun richtig, und was kam da jetzt zurück?
(Exception Class:
EXCEPTION:
Status Code: 500
Request URI: /universal/loadMediaPack!directMedia.action
Servlet Name: default
Exception Class: java.lang.RuntimeException
Error Msg: Failed to EXEC prHoursSinceLastBroadcast for Phone [43699XXXXXXXX] in Service [3029]: java.sql.SQLException: Failed to get [APP_SERVER_MODE] database connection to [DBSRVRB_BCM (java:DBSRVRB_BCM)]: org.jboss.util.NestedSQLException: Could not create connection; - nested throwable: (com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'bcm'.); - nested throwable: (org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'bcm'.))
Application ID: 9)
Da wird's jetzt wieder interessanter. An dieser Exception sehen wir, dass hier offenbar meine Telefonnummer (ich hab sie ausgeXt) mitgetragen wurde, höchstwahrscheinlich über die HTTP-Session, die durch die JSESSIONID in allen URLs mitgezogen wurde. Was wir auch sehen, ist, dass Java verwendet wird (gut, das haben wir vorhin auch schon gesehen), dass als Datenbank-Backend ein Microsoft SQL Server verwendet wird (dsza.com und dl.dsza.com melden sich beide als "Apache/2.0.52 (Red Hat)"), und dass der Datenbank-Login an einem Loginfehler scheitert. So wie es aussieht, wird es also nichts mit meinem DJ Ötzi Ringtone.
Aber trotzdem gibt es noch ein paar ganz interessante Dinge zu erforschen. Wenn man w3bfukk0r über dl.dsza.com laufen lässt, so enthüllt sich das Verzeichnis
http://dl.dsza.com/images/others/, in dem sich jede Menge GIF-Files mit Namen wie C1stAsianxxx.gif finden.
Noch interessanter wird's, wenn man sich die IP-Adresse, die hinter dsza.com bzw. dl.dsza.com anschaut, und ein WHOIS auf die IP-Adresse macht. Da scheint nämlich auf, dass es sich bei dem Host um einen Colo-Server der Firma "Switchfire Ltd" handelt. Und die haben
sogar eine Firmen-Website, die professionell und seriös wirkt. Wenn man allerdings beachtet, dass mich anscheinend genau diese Firma mit Handy-Download-Links bespammt hat (woher haben die überhaupt meine Nummer?), so bildet sich schnell ein anderes Bild. Tollerweise erklären sie auf ihrer Seite auch gleich,
wie das Billing funktioniert:
Our image based services, which include subscription and dating products – are enabled through WAP pushes (SMS messages with a URL within the header). Once an individual has received one of these messages, they can access the WAP content defined in the header. Billing is typically executed through a premium reverse message. Subscription versions of this service are extremely popular.
Welche weiteren Schritte ich noch unternehmen werde, weiß ich nicht. Eventuell interessiert sich die
Rundfunk & Telekom Regulierungs-GmbH dafür. Wenn irgendwer andere Ideen hat, bitte kommentieren.
Update: achja, noch was rausgefunden. Die 0930-Nummer, die in der Seite zu finden war, ist lt. RTR auf die
Switchfire Ltd registriert.