Taikoma
Win 10 Ent LTSB 2016 Win 10 Ent LTSC 2019 Windows 10 IoT Enterprise LTSC 2021 Windows 10, version 22H2, all editions Windows 11 Home and Pro, version 22H2 Windows 11 Enterprise Multi-Session, version 22H2 Windows 11 Enterprise and Education, version 22H2 Windows 11 IoT Enterprise, version 22H2 Windows 11 SE, version 23H2 Windows 11 Home and Pro, version 23H2 Windows 11 Enterprise and Education, version 23H2 Windows 11 Enterprise Multi-Session, version 23H2 Windows 11 version 24H2, all editions Windows 11 version 25H2, all editions Windows Server 2008 Premium Assurance Windows Server 2008 R2 Premium Assurance Windows Server 2012 ESU Windows Server 2012 R2 ESU Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025

Pradinė publikavimo data: 2025 m. gruodžio 9 d.

KB ID: 5074596

Šiame straipsnyje aprašomas pakeitimas, kuris pirmiausia turi įtakos įmonės arba IT valdomoms aplinkoms, kuriose "PowerShell" scenarijai naudojami automatizavimui ir žiniatinklio turinio gavimui. žmonės naudoti įrenginius asmeniniuose arba namų parametruose, paprastai nereikia imtis jokių veiksmų, nes šie scenarijai dažniausiai pasitaiko už IT valdomų aplinkų ribų.

Keisti datą

Keisti aprašą

2025 m. gruodžio 20 d.

  • Į skyrių "Suvestinė" įtrauktas saugos įspėjimas.

  • Siekiant aiškumo į skyrių "Santrauka" įtraukta ši pastraipa: "PowerShell" Invoke-WebRequest komanda pateikia HTTP arba HTTPS užklausą žiniatinklio serveriui ir pateikia rezultatus. Šiame straipsnyje aprašytas sustiklėjimo pakeitimas, kai Windows PowerShell 5.1" sąmoningai rodo saugos patvirtinimo raginimą, kai tinklalapiams be specialiųjų parametrų iškviesti naudojama komanda Invoke-WebRequest. Taip nutinka, kai palaikomi "Windows" klientai ir serveriai įdiegia "Windows Naujinimai", išleistą 2025 m. gruodžio 9 d. ir vėliau. Daugiau informacijos žr. CVE-2025-54100.

  • Prie skyriaus "Imtis veiksmų" 1 parinkties "Automatizuotų scenarijų arba suplanuotų užduočių" pridėtas šis ženklelis.

    • Scenarijams, vykdomiems naudojant ne profilio parinktį: jei scenarijuje yra daug Invoke-WebRequest iškvietimų pasikartojimų, paskelbti $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true scenarijaus viršuje.

    • Kai "Invoke-WebRequest" naudojamas su parametru "-UseBasicParsing", viso dokumento objekto modelio (DOM) analizė naudojant "Internet Explorer" komponentus (HTMLDocument sąsaja (mshtml)) negalima.

  • Įtrauktas šis punktas su ženkleliu į 2 parinkties ženklelio "Moderniizuokite savo požiūrį į sąveikas žiniatinklyje" skyriuje "Imtis veiksmų".

    • "PowerShell Core" (7.x arba naujesnės versijos) "Invoke-Webrequest" nepalaiko DOM analizės naudojant "Internet Explorer" komponentus. Numatytasis analizavimo būdas saugiai nuskaitys turinį be scenarijaus vykdymo.

Suvestinė

Windows PowerShell 5.1 dabar rodo saugos patvirtinimo raginimą naudojant komandą Invoke-WebRequest tinklalapiams iškviesti be specialių parametrų.

Saugos įspėjimas: Scenarijaus vykdymo rizikos Invoke-WebRequest analizuoja tinklalapio turinį. Scenarijaus kodas tinklalapyje gali būti vykdomas analizuojant puslapį.

REKOMENDUOJAMAS VEIKSMAS: naudokite jungiklį -UseBasicParsing, kad išvengtumėte scenarijaus kodo vykdymo.

Ar norite tęsti?

Šis raginimas įspėja, kad scenarijai puslapyje gali būti vykdomi analizuojant ir pataria naudoti parametrą -UseBasicParsing, kad būtų išvengta scenarijaus vykdymo. Vartotojai turi pasirinkti tęsti arba atšaukti operaciją. Šis pakeitimas padeda apsisaugoti nuo kenkėjiško žiniatinklio turinio reikalaujant vartotojo sutikimo prieš atliekant galimai rizikingus veiksmus.

"PowerShell" komanda "Invoke-WebRequest" pateikia HTTP arba HTTPS užklausą žiniatinklio serveriui ir pateikia rezultatus. Šiame straipsnyje aprašomas sustiklinimo pakeitimas, kai Windows PowerShell 5.1" sąmoningai rodo saugos patvirtinimo raginimą, kai naudojama komanda "Invoke-WebRequest" tinklalapiams iškviesti be specialių parametrų. Taip nutinka, kai palaikomi "Windows" klientai ir serveriai įdiegia "Windows Naujinimai", išleistą 2025 m. gruodžio 9 d. ir vėliau. Daugiau informacijos žr. CVE-2025-54100.

Kas pasikeitė?

  • Ankstesnis veikimas

    • Viso dokumento objekto modelio (DOM) analizė naudojant "Internet Explorer" komponentus (HTMLDocument sąsaja (mshtml)), kurie gali vykdyti scenarijus iš atsisiųsto turinio.

  • Naujas veikimas

    • Saugos patvirtinimo raginimas: Įdiegus 2025 m. gruodžio 9 d. arba vėliau išleistus "Windows" naujinimus, paleidus "PowerShell 5.1" komandą "Invoke-WebRequest" (dar vadinamą garbana) (kai nenaudojamas specialus parametras). Raginimas rodomas "PowerShell" konsolėje su įspėjimu apie scenarijaus vykdymo rizikąTai reiškia, kad "PowerShell" pristabdytas įspėti, kad be atsargumo priemonių jūsų sistemoje gali būti vykdomas tinklalapio scenarijaus turinys, kai jis apdorojamas. Pagal numatytuosius parametrus, jei paspausite "Enter" (arba pasirinksite Ne), operacija bus atšaukta dėl saugos. "PowerShell" parodys pranešimą, kad jis atšauktas dėl saugos problemų, ir siūlo iš naujo paleisti komandą naudojant parametrą "-UseBasicParsing" saugiam apdorojimui. Jei pasirinksite Taip, "PowerShell" pereis prie puslapio analizės naudojant senesnį metodą (visą HTML analizavimo metodą), o tai reiškia, kad ji įkels turinį ir visus įdėtuosius scenarijus, kaip anksčiau. Iš esmės, pasirinkus Taip, sutinkate su rizika ir leidžiate komandai veikti taip, kaip buvo anksčiau, o pasirinkus Ne (numatytoji reikšmė), veiksmas sustabdomas, kad jus apsaugotų.

    • Interaktyvus ir scenarijų naudojimas: Šio raginimo įvadas pirmiausia veikia interaktyvų naudojimą. Interaktyviuose seansuose matysite įspėjimą ir turėsite atsakyti. Dėl automatizuotų scenarijų (neinteraktyvių scenarijų, pvz., suplanuotų užduočių arba CI srautų), dėl šio raginimo scenarijus gali užstrigti laukiant įvesties. Kad to išvengtumėte, rekomenduojame atnaujinti tokius scenarijus, kad būtų galima aiškiai naudoti saugius parametrus (žr. toliau), kad jų nereikia patvirtinti rankiniu būdu.

Imtis veiksmų

Dauguma "PowerShell" scenarijų ir komandų, kurios naudoja komandą "Invoke-WebRequest", veiks mažai modifikuojant arba visai nekeitus. Pvz., scenarijai, kurie atsisiunčia turinį arba veikia tik su atsakymo tekstu kaip tekstas ar duomenys, nepaveikiami ir nereikia nieko keisti. 

Jei turite scenarijų, kuriuos paveikė šis pakeitimas, naudokite vieną iš toliau nurodytų būdų.

Iškviečiant turinį nereikia atlikti jokių veiksmų, jei įprastinis komandos Invoke-WebRequest naudojimas yra turinio iškvietimas (pvz., failų atsisiuntimas arba statinio teksto skaitymas) ir nepriklausote nuo išplėstinės svetainės sąveikos ar HTML DOM analizės. Naujas numatytasis veikimas yra saugesnis – į žiniatinklio turinį įdėti scenarijai nebus vykdomi be jūsų leidimo– tai rekomenduojama konfigūracija daugeliui scenarijų. 

Norėdami interaktyviai naudoti, tiesiog atsakykite Ne į naują saugos raginimą (arba paspauskite "Enter ", kad priimtumėte numatytąją reikšmę) ir iš naujo paleiskite komandą naudodami parametrą "-UseBasicParsing", kad saugiai gautumėte turinį. Taip išvengsite scenarijaus kodo vykdymo iškviedtame puslapyje. Jei dažnai interaktyviai gaunate žiniatinklio turinį, apsvarstykite galimybę komandose naudoti parametrą -UseBasicParsing pagal numatytuosius parametrus, kad iš viso praleistumėte raginimą ir užtikrintumėte didžiausią saugą. 

Automatinių scenarijų arba suplanuotų užduočių atveju atnaujinkite juos, kad į "Invoke-WebRequest" iškvietimus būtų įtrauktas parametras "-UseBasicParsing". Tai iš anksto pasirenka saugų veikimą, kad raginimas nebūtų rodomas ir scenarijus toliau veiktų be trukdžių. Taip užtikrinsite, kad automatizavimas sklandžiai veiktų po naujinimo, tuo pačiu metu pasinaudojant pagerinta sauga.

  • Scenarijams, kurie vykdomi naudojant parinktį -NoProfile: jei scenarijuje yra daug invoke-WebRequest iškvietimų pasikartojimų, paskelbti $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true scenarijaus viršuje.

  • Kai "Invoke-WebRequest " naudojamas su parametru "-UseBasicParsing ", viso dokumento objekto modelio (DOM) analizė naudojant "Internet Explorer" komponentus (HTMLDocument sąsaja (mshtml)) negalima.

Scenarijams arba automatizavimui, kurie susiję su nepatikimu arba viešu žiniatinklio turiniu ir kuriems reikia apdoroti HTML struktūras ar formas, apsvarstykite galimybę juos pakartotinai įtraukti arba atnaujinti, kad būtų galima užtikrinti ilgalaikę saugą. Užuot pasitikėdami "PowerShell", kad išanalizuotumėte ir paleistumėte potencialiai pavojingus tinklalapio scenarijus, galite: 

  • Naudokite alternatyvius analizės metodus arba bibliotekas (pvz., tinklalapio turinį traktuokite kaip paprastąjį tekstą arba XML, naudodami regex arba XML/HTML analizės bibliotekas, kurios nevykdo scenarijų).

  • Modernizuokite savo požiūrį į žiniatinklio sąveiką, galbūt naudodami naujesnę "PowerShell Core" (7.x arba naujesnę versiją), kuri nepriklauso nuo "Internet Explorer" modulio ir vengia vykdyti scenarijų, arba naudodami specializuotus žiniatinklio iškarpos įrankius, kurie saugesnį turinį apdoroja. Apribokite pasitikėjimą "Internet Explorer" specifinėmis funkcijomis, nes "Internet Explorer" nebenaudojama. Planuokite perrašyti dalis scenarijų, kurie priklauso nuo tų funkcijų, kad jie galėtų dirbti aplinkoje, kurioje saugiai tvarkomas žiniatinklio turinys.

    • "Invoke-WebRequest", esantis "PowerShell Core" (7.x arba naujesnėje versijoje), nepalaiko DOM analizės naudojant "Internet Explorer" komponentus. Numatytasis analizavimo būdas saugiai nuskaitys turinį be scenarijaus vykdymo.

  • Refactoring tikslas yra pasiekti savo reikiamas funkcijas, nekeliant sau saugumo pavojų, tokiu būdu apimantis saugesnes numatytąsias reikšmes, atsiradusias dėl šio pakeitimo.

Jei jums reikia naudoti " Invoke-WebRequest " komandos visas HTML analizės galimybes (pvz., sąveikauti su formų laukais arba išbraukiant struktūrinius duomenis) ir pasitikite žiniatinklio turinio šaltiniu, vis tiek galite toliau dirbti su senstelėjusiu analizės veikimu kiekvienu atveju. Interaktyviuose seansuose tai tiesiog reiškia, kad patvirtinimo raginime pasirinkus Taip leidžiama tęsti operaciją. Kaskart, kai tai padarysite, gausite priminimą apie saugos riziką. Tęsti be parametro -UseBasicParsing turėtų būti taikoma tik scenarijams, kai visiškai pasitikite žiniatinklio turiniu (pvz., vidinėmis žiniatinklio programomis, kurias valdote, arba žinomomis saugiomis svetainėmis). 

Svarbu: Šis metodas nerekomenduojamas scenarijams, vykdomiems su nepatikimu ar viešu žiniatinklio turiniu, nes iš naujo nustatoma tyliojo scenarijaus vykdymo rizika, kurią siekiama sumažinti šiuo naujinimu. Be to, neinteraktyvaus automatizavimo atveju nėra įtaisytojo mechanizmo, kuris automatiškai sutiktų su raginimu, todėl nepatariama pasitikėti visišku scenarijų analizavimu (be to, kad tai rizikinga). Naudokite šią parinktį saiingai ir tik kaip laikiną priemonę.

Dažnai užduodami klausimai​​​​​​​

Daugeliu atvejų scenarijai, kurie atsisiunčia failus arba iškvieta žiniatinklio turinį kaip tekstą, vis tiek veiks. Norėdami išvengti raginimo, įtraukite parametrą -UseBasicParsing.

 Scenarijai, kuriuose naudojama išplėstinė HTML analizė (pvz., formos ar DOM), gali pakibti arba pateikti neapdorotus duomenis, o ne struktūrinius objektus; jums reikės perjungti į pagrindinį analizavimą arba modifikuoti scenarijų, kad turinys būtų tvarkomas kitaip. 

Visada naudokite parametrą -UseBasicParsing su "PowerShell" scenarijų komanda Invoke-WebRequest, kad užtikrintumėte saugų, neinteraktyvų vykdymą.  

Taip. Scenarijai, atsižvelgiant į senstelėjusį analizavimo, turi būti atnaujinti, kad būtų galima pasirinkti arba pakeisti.

"PowerShell" pakeitimas taikomas tiek standartiniams naujinimams, tiek sparčiųjų pataisų naujinimams, todėl keičiasi tas pats veikimas.

Taip. Pagal numatytuosius parametrus "PowerShell 7" jau naudoja saugų analizavimą.

Kreipkitės į palaikymo planų modulio savininkus. Laikinai naudokite pasirinkimą patikimam turiniui perkelti.

Kad pasiruoštumėte ir patvirtintumėte šį keitimą, rekomenduojame: 

  • Nustatykite scenarijus naudodami DOM funkcijas.

  • Test automation with the new default.

  • Senstelėjusį pasirinkimą apriboti iki patikimų šaltinių.

  • Planuokite nepatikimo turinio pakartotinio aktyvumo planą.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.