1. Use otras funciones que no estén deshabilitadas
exec, shell_exec, system, popen, proc_open, passthru (python_eval? perl_system? weevely3 Estas dos funciones existen en la wiki)
Requisitos: conocer la función número no está en la lista de las personas con discapacidad
2.pcntl_exec
Use la función pcntl_exec para ejecutar comandos
Requisitos: módulos específicos del sistema Linux, deben existir en las opciones de compilación --enable-pcntl
3. Omite el componente com de windows
Llame a wscript.shell o shell.application a través del objeto com generado para ejecutar el comando
Requisitos: sistema Windows, el módulo com_dotnet está activado
4. Use ld_preload para secuestrar variables de entorno
Use ld_preload para secuestrar la ruta de carga prioritaria de la biblioteca de enlaces dinámicos, y active la llamada a nuestra función de biblioteca estándar falsificada ejecutando la función php del programa del sistema, ejecutando así código malicioso
Requisitos: sistema Linux, la función putenv no está deshabilitada, puede cargar el archivo
5.php7.4 + características ffi
Nuevas funciones agregadas en php7.4, el uso de ffi puede ejecutar código c
Requisitos: PHP versión 7.4+, el módulo ffi está encendido y el estado ffi.enable está habilitado (tiene tres estados, debe estar habilitado)
6. Construya paquetes de datos para comunicarse directamente con el módulo php-fpm
Omita el proceso de solicitud de asignación de middleware y construya directamente un paquete de datos específico para comunicarse con el módulo php-fpm
Requisitos: el destino utiliza el módulo php-fpm, el puerto de proceso de php-fpm está expuesto a la red externa (generalmente el puerto 9000) y se conoce la ruta absoluta y el nombre de un script php
7. Cree otros archivos de sufijo procesados por el módulo mod_cig a través de .htaccess
La idea principal es similar a la idea 6
Requisito: use el módulo mod_cig, puede cargar archivos, el módulo .htaccess está activado (Ant espada tiene un módulo de función de desactivación de derivación, este método existe)
8.imap_open ()
cve-2018-19518, al construir exp, inserte el parámetro -oProxyCommand del comando ejecutable cuando se llama a rsh para ejecutar el comando del sistema
Requisitos: la extensión imap está habilitada, la opción enable_insecure_rsh está habilitada, imap_open no está deshabilitada y la vulnerabilidad no se ha solucionado
9. Shell rompe la vulnerabilidad
cve-2014-6271
Requisitos: php <5.6.2, sistema linux
10. Ejecución del comando del componente Imagemagick
El uso de la vulnerabilidad de ejecución de comandos de imagemagic, hay dos, el uso de diferentes exp
Requisitos: el módulo imagemagic está activado y la vulnerabilidad no está reparada
11. Vulnerabilidad de elevación de derechos de pagoda
Las pagodas de bajo nivel tienen permisos /dev/shnm/session.db de 666 que se pueden leer de forma predeterminada durante la inicialización y se pueden usar para ingresar al panel de control de pagodas
https://www.t00ls.net/thread-55874-1-1.html
Requisitos: el objetivo utiliza el panel de control de pagoda, el rango no está confirmado y la prueba de la versión 7.x dentro del rango indicado en el artículo anterior falla
Hizo un pequeño script que reúne la mayoría de los métodos comúnmente utilizados:
https://github.com/ic3s3137/tools/tree/master/bypass_disable_function
Para obtener recomendaciones más detalladas sobre los principios específicos enumerados anteriormente, consulte el artículo de este hermano mayor
https://github.com/mi1k7ea/Mi1k7ea.github.io/blob/master/index.html
Si el contenido anterior no es correcto, corríjalo