
PoC para CVE-2022-0492
Una plantilla moderna de scripts Bash con formato de salida coloreado y funciones de utilidad para crear herramientas profesionales de línea de comandos.
chmod +x script.sh
./script.sh
#!/bin/bash
LIB="lib"
source $LIB/format.sh
section "Your Script Section"
info "Information message"
ok "Success message"
warn "Warning message"
error "Error message"
info "message" - Muestra mensajes informativos con el prefijo cian [i]ok "message" - Muestra mensajes de éxito con el prefijo verde [+]warn "message" - Muestra mensajes de advertencia con el prefijo amarillo [!]error "message" - Muestra mensajes de error con el prefijo rojo [-] (enviados a stderr)prompt "question" - Muestra un prompt con el prefijo magenta [?] y espera la entrada del usuariosection "title" - Crea un encabezado de sección con formatobold "text" - Muestra el texto en formato negritaLas siguientes constantes de color están disponibles para formato personalizado:
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
MAGENTA='\033[0;35m'
CYAN='\033[0;36m'
WHITE='\033[1;37m'
BOLD='\033[1m'
UNDERLINE='\033[4m'
RESET='\033[0m'
Cuando ejecutes el script de ejemplo, verás:
=== Start ===
[i] Running exploit setup...
[+] Everything is ready
[!] This might break your system
[-] Something failed
[?] Continue? [y/N]:
shell_template/
├── script.sh # Example script demonstrating usage
├── lib/
│ └── format.sh # Core formatting library
├── LICENSE # MIT License
└── README.md # This file
Puedes ampliar la librería añadiendo nuevos tipos de mensaje en lib/format.sh:
DEBUG="${BLUE}[D]${RESET}"
debug() { echo -e "${DEBUG} $*"; }
Define tus propios esquemas de color modificando las constantes de color o creando nuevas:
PURPLE='\033[0;35m'
CUSTOM_PREFIX="${PURPLE}[*]${RESET}"
custom() { echo -e "${CUSTOM_PREFIX} $*"; }
source $LIB/format.sh al comienzo de tus scriptssection para organizar la salida de tu scripterror para mensajes de error y redirige a stderrchmod +x para tus scriptsNo dudes en enviar issues, hacer fork del repositorio y crear pull requests para cualquier mejora.
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.
Creado por Christoph Huy