Skip to content

Per què val la pena mantenir $ i # al prompt de la shell

Published:

Taula de continguts

Obrir taula de continguts

En defensa de l’humil $ i del temible #

(opinió totalment subjectiva, però amb afecte)

Aquest post no és un writeup de CTF, ni un exploit 0day, ni res útil per guanyar punts en un scoreboard. És simplement un rant afectuós sobre alguna cosa que veig cada cop més: gent traient el $ i el # del prompt.

Sí, aquests símbols d’abans que indiquen:

I jo vinc a dir:

si us plau, no els matem encara.

El prompt: aquest cartell que t’avisa abans de fer-la

Digues-li prompt, path, cursor, “on escric comandes”, tant se val. Aquest tros de text abans del que teclees no és decoració: és informació crítica.

$ comanda   # usuari normal
# comanda   # root

Amb un sol caràcter saps:

El que faré trenca el meu usuari… o trenca el servidor de producció?

Sense whoami, sense id, sense mirar res. Ho veus de reüll i ja està.

Per què alguns hackers passen del $ i #?

Perquè al món del hacking i l’administració de sistemes sempre estem provant coses rares al prompt, així que no sorprèn que, pel motiu que sigui, molta gent es carregui el $ i el #.

Veig molts prompts d’aquest estil:


λ
»

O temes de zsh/fish súper currats, amb:

…però ni rastre de $ o #.

Les raons típiques:

Molt bé. Fins que surts de la teva cova.

El dia que els colors no et poden salvar

L’argument “jo faig servir colors” es trenca molt ràpid:

El color mola, sí. Però no viatja bé. El caràcter, sí.

Exemples on el # hauria de fer-te esgarrifances

És molt més fàcil veure el perill així:

# iptables -F
# userdel -r usuari-que-no-era
# mv /etc /etc.bak
# mysql -e 'DROP DATABASE produccio;'

Que així:

 iptables -F
 userdel -r usuari-que-no-era
 mv /etc /etc.bak
 mysql -e 'DROP DATABASE produccio;'

En el segon cas, si no tens context, sembla un script qualsevol. En el primer, el # ja t’està cridant:

Ei, això no és una joguina, segur que vols prémer Enter?

No et salvarà sempre, però és un fre mental gratis.

Documentació, writeups i CTFs

En CTFs i writeups, el $ i # són or pur:

Exemple típic en un writeup:

$ sudo -l
# cat /root/root.txt

Encara que estiguis llegint ràpid, el teu cervell entén: “ah, vale, aquí ja soc root”. Sense colors, sense plugins, sense res. En un PDF, en un blog, on sigui.

Si treus aquests símbols, obligues el lector a endevinar el context. I ja en tenim prou amb barallar-nos amb filtres, WAFs, payloads URL-encodeats tres vegades, race conditions i logs plens de 500 registres com per també barallar-nos amb el prompt.

L’argument de l’estètica

Sí, ja ho sé: un prompt tipus:

┌─[ctfer@kali]─[~/ctf/machine]
└──╼ $

queda més “pro” que un trist:

$

I no hi ha cap problema en muntar un prompt bonic. Però no costa res que acabi en:

Pots tenir:

…i tot i així deixar que un caràcter al final resumeixi els teus privilegis.

Això no és un estàndard, és un rant

Tot això és simplement la meva opinió d’usuari rondinaire de shell:

Jo només defenso que, en un món de:

el vell $ i el vell # continuen sent la forma més barata i efectiva de veure els privilegis d’una ullada.

No és nostàlgia. És pura comoditat.

TL;DR

I al final, com sempre en aquest món:

Hackeja com vulguis, configura la teva shell com vulguis… però si deixes el $ i el #, sens dubte no t’estàs fent mal a tu mateix.

Gràcies per llegir fins aquí. Tant de bo t’hagi convençut una mica i, si no, tampoc passa res: al final, l’important és que cadascú sigui feliç amb el seu prompt. 😊