
PoC für CVE-2022-0492
Eine moderne Bash-Skript-Vorlage mit farbiger Ausgabeformatierung und Hilfsfunktionen zur Erstellung professioneller Kommandozeilen-Tools.
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" - Zeigt Informationsmeldungen mit einem cyanfarbenen [i]-Präfix anok "message" - Zeigt Erfolgsmeldungen mit einem grünen [+]-Präfix anwarn "message" - Zeigt Warnmeldungen mit einem gelben [!]-Präfix anerror "message" - Zeigt Fehlermeldungen mit einem roten [-]-Präfix an (an stderr gesendet)prompt "question" - Zeigt eine Eingabeaufforderung mit magenta [?]-Präfix an und wartet auf Benutzereingabesection "title" - Erstellt eine formatierte Abschnittsüberschriftbold "text" - Zeigt Text in Fettschrift anDie folgenden Farbkonstanten stehen für die benutzerdefinierte Formatierung zur Verfügung:
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'
Wenn du das Beispielskript ausführst, siehst du:
=== 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
Du kannst die Bibliothek erweitern, indem du neue Meldungstypen in lib/format.sh hinzufügst:
DEBUG="${BLUE}[D]${RESET}"
debug() { echo -e "${DEBUG} $*"; }
Definiere deine eigenen Farbschemata, indem du die Farbkonstanten änderst oder neue erstellst:
PURPLE='\033[0;35m'
CUSTOM_PREFIX="${PURPLE}[*]${RESET}"
custom() { echo -e "${CUSTOM_PREFIX} $*"; }
source $LIB/format.sh am Anfang deiner Skripte hinzusection, um die Ausgabe deines Skripts zu organisierenerror für Fehlermeldungen und leite sie an stderr umchmod +x für deine Skripte nichtDu kannst gerne Issues einreichen, das Repository forken und Pull Requests für Verbesserungen erstellen.
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.
Erstellt von Christoph Huy