Alla fine ho ceduto e ho deciso di aggiornare XP a SP3. Una delle cose che mi infastidisce di SP2 + e che mi ha fatto rimandare per così tanto tempo è che richiede percorsi completi per i tipi di file e i verbi Explorer.
Ad esempio, in SP1, potresti fare qualcosa del tipo:
REGEDIT4
[HKCR\txtfile\shell]
"@"="Notepad2"
[HKCR\txtfile\shell\Notepad2]
"@"="notepad2.exe %1"
Supponendo che notepad2.exe
si trovi nel percorso, è possibile aprire un file di testo eseguendolo direttamente o selezionando Blocco note2 dal relativo menu di scelta rapida.
In SP2 +, questo non funzionerà e verrà invece visualizzata la finestra di dialogo Apri con ... Per risolverlo, è necessario utilizzare un percorso completo dell'eseguibile:
[HKCR\txtfile\shell\Notepad2]
"@"="e:\tools\editors\text\notepad2\notepad2.exe %1"
Questa modifica (che rende la PATH
variabile sostanzialmente inutile) è stata un miglioramento della sicurezza aggiunto al Great Security Update di SP2 , e ha senso in quanto previene gli attacchi di path-injection.
Tuttavia è più un problema di quanto non valga la pena perché se un virus può modificare la variabile del percorso di sistema, ha già ottenuto l'accesso al sistema e può fare quello che vuole. Inoltre, interessa solo Explorer; eseguire le cose dal prompt dei comandi funziona ancora come prima. Inoltre, funziona solo per il comando principale ; cioè, quanto segue funziona ancora se si infectednotepad.exe
trova nel percorso:
"@"="e:\tools\misc\shellexecute.exe /c infectednotepad.exe %1"
Questa modifica non fornisce realmente alcuna sicurezza aggiuntiva; invece, tutto ciò che fa è far sì che l'utente debba passare ore a scansionare il registro in ciascuno dei 6-10 punti diversi in cui è possibile registrare tipi di file, applicazioni e verbi Explorer, cercando percorsi non qualificati e sostituendo ciascuno e ognuno (sostituire solo la voce principale HKCR
non è sufficiente perché ci sono livelli in altre posizioni che aggravano e confondono il problema).
Inoltre, Microsoft ovviamente si rende conto che la sua "funzionalità" era inutile perché l'hanno rimossa in Vista. In Windows 7, il primo esempio funziona proprio come in SP1.
La "correzione" degli elementi può essere un'attività insormontabile per un sistema che è già stato configurato e utilizzato per un certo periodo di tempo, soprattutto se sono stati aggiunti programmi di terze parti.
C'è un modo per disattivare questa "funzione" e lasciare che la PATH
variabile faccia di nuovo il suo lavoro?
C:\Program Files
, ma non tutti lo fanno. Usare il PATH
senso ha senso perché è quello per cui è lì. In secondo luogo, ovviamente Microsoft stessa ha capito che questa "funzionalità di sicurezza" era inutile perché l'aveva rimossa da Vista +; ad esempio, in Windows 7, come in SP1, il primo funziona ( "@"="blah.exe"1
, se blah.exe
è nel percorso.
if a virus can modify your system path variable
: ... e la variabile del tuo percorso utente? Inoltre, che dire dell'utilizzo del tasto Reg percorsi app ?
if a virus can modify your system path variable:
, @afrazier, ovviamente se può modificare la PATH
variabile di sistema con privilegi elevati , può modificare anche quella dell'utente. Non ho provato i percorsi delle app; potrebbe fare solo il trucco. Lo proverò la prossima volta che sarò in XP. (È davvero fastidioso che ci siano una dozzina di posti dove si possono trovare cose come questa.)