Αρχική ημερομηνία δημοσίευσης: 9 Δεκεμβρίου 2025
KB ID: 5074596
Αυτό το άρθρο περιγράφει μια αλλαγή που επηρεάζει κυρίως εταιρικά περιβάλλοντα ή περιβάλλοντα με διαχείριση IT, όπου οι δέσμες ενεργειών PowerShell χρησιμοποιούνται για αυτοματοποίηση και ανάκτηση περιεχομένου Web. Άτομα η χρήση συσκευών στις προσωπικές ή τις οικιακές ρυθμίσεις γενικά δεν χρειάζεται να προβεί σε κάποια ενέργεια, καθώς αυτά τα σενάρια είναι ασυνήθιστα περιβάλλοντα εκτός της περιοχής διαχείρισης IT.
|
Αλλαγή ημερομηνίας |
Αλλαγή περιγραφής |
|
20 Δεκεμβρίου 2025 |
|
Σύνοψη
Windows PowerShell 5.1 εμφανίζει πλέον ένα μήνυμα επιβεβαίωσης ασφαλείας κατά τη χρήση της εντολής Invoke-WebRequest για τη λήψη ιστοσελίδων χωρίς ειδικές παραμέτρους.
Προειδοποίηση ασφαλείας: Ο κίνδυνος εκτέλεσης δέσμης ενεργειών Invoke-WebRequest αναλύει το περιεχόμενο της ιστοσελίδας. Ο κώδικας δέσμης ενεργειών στην ιστοσελίδα ενδέχεται να εκτελεστεί κατά την ανάλυση της σελίδας.
ΠΡΟΤΕΙΝΗ ΕΝΕΡΓΕΙΑ: Χρησιμοποιήστε το διακόπτη -UseBasicParsing για να αποφύγετε την εκτέλεση κώδικα δέσμης ενεργειών.
Θέλετε να συνεχίσετε;
Αυτό το μήνυμα σας προειδοποιεί ότι οι δέσμες ενεργειών στη σελίδα ενδέχεται να εκτελεστούν κατά την ανάλυση και σας συμβουλεύει να χρησιμοποιήσετε την παράμετρο -UseBasicParsing για να αποφύγετε τυχόν εκτέλεση δέσμης ενεργειών. Οι χρήστες πρέπει να επιλέξουν να συνεχίσουν ή να ακυρώσουν τη λειτουργία. Αυτή η αλλαγή συμβάλλει στην προστασία από κακόβουλο περιεχόμενο web, απαιτώντας τη συγκατάθεση του χρήστη πριν από πιθανώς επικίνδυνες ενέργειες.
Η εντολή Invoke-WebRequest του PowerShell πραγματοποιεί μια αίτηση HTTP ή HTTPS σε ένα διακομιστή Web και επιστρέφει τα αποτελέσματα. Αυτό το άρθρο τεκμηριώνει μια αλλαγή θωάνσεως όπου Windows PowerShell 5.1 εμφανίζει σκόπιμα ένα μήνυμα επιβεβαίωσης ασφαλείας κατά τη χρήση της εντολής Invoke-WebRequest για τη λήψη ιστοσελίδων χωρίς ειδικές παραμέτρους. Αυτή η συμπεριφορά παρουσιάζεται αφού υποστηριζόμενα προγράμματα-πελάτες και διακομιστές Windows έχουν εγκαταστήσει τα Windows Ενημερώσεις που κυκλοφόρησαν στις και μετά τις 9 Δεκεμβρίου 2025. Για περισσότερες πληροφορίες, ανατρέξτε στο CVE-2025-54100.
Τι άλλαξε;
-
Προηγούμενη συμπεριφορά
-
Ανάλυση μοντέλου αντικειμένων πλήρους εγγράφου (DOM) με χρήση στοιχείων του Internet Explorer (HTMLDocument Interface (mshtml)), η οποία θα μπορούσε να εκτελέσει δέσμες ενεργειών από περιεχόμενο που έχει ληφθεί.
-
-
Νέα συμπεριφορά
-
Μήνυμα επιβεβαίωσης ασφαλείας: Μετά την εγκατάσταση των ενημερώσεων των Windows που κυκλοφόρησαν στις ή μετά τις 9 Δεκεμβρίου 2025, η εκτέλεση της εντολής Invoke-WebRequest (γνωστή και ως curl) στο PowerShell 5.1 θα ενεργοποιήσει ένα μήνυμα ασφαλείας (όταν δεν χρησιμοποιείται ειδική παράμετρος). Το μήνυμα εμφανίζεται στην κονσόλα PowerShell με μια προειδοποίηση σχετικά με τον κίνδυνο εκτέλεσης δέσμης ενεργειών. Αυτό σημαίνει ότι το PowerShell παύει να σας προειδοποιεί ότι χωρίς προφυλάξεις, το περιεχόμενο δέσμης ενεργειών της ιστοσελίδας θα μπορούσε να εκτελεστεί στο σύστημά σας όταν υποβληθεί σε επεξεργασία. Από προεπιλογή, εάν πατήσετε το πλήκτρο Enter (ή επιλέξετε Όχι), η λειτουργία θα ακυρωθεί για λόγους ασφαλείας. Το PowerShell θα εμφανίσει ένα μήνυμα ότι ακυρώθηκε λόγω ανησυχιών για την ασφάλεια και προτείνει την εκ νέου εκτέλεση της εντολής χρησιμοποιώντας την παράμετρο -UseBasicParsing για ασφαλή επεξεργασία. Εάν επιλέξετε Ναι, το PowerShell θα προχωρήσει στην ανάλυση της σελίδας χρησιμοποιώντας την παλαιότερη μέθοδο (πλήρη ανάλυση HTML), που σημαίνει ότι θα φορτώσει το περιεχόμενο και τυχόν ενσωματωμένες δέσμες ενεργειών όπως στο παρελθόν. Ουσιαστικά, η επιλογή "Ναι" σημαίνει ότι αποδέχεστε τον κίνδυνο και επιτρέπετε στην εντολή να εκτελείται όπως πριν, ενώ η επιλογή "Όχι" (η προεπιλογή) διακόπτει την ενέργεια για την προστασία σας.
-
Αλληλεπιδραστική έναντι χρήσης με δέσμες ενεργειών: Η εισαγωγή αυτού του μηνύματος επηρεάζει κυρίως τη αλληλεπιδραστική χρήση. Σε αλληλεπιδραστικές συνεδρίες, θα δείτε την προειδοποίηση και θα πρέπει να απαντήσετε. Για αυτοματοποιημένες δέσμες ενεργειών (μη αλληλεπιδραστικά σενάρια, όπως προγραμματισμένες εργασίες ή διοχέτευση CI), αυτό το μήνυμα θα μπορούσε να προκαλέσει την παύση απόκρισης της δέσμης ενεργειών ενώ περιμένετε την εισαγωγή δεδομένων. Για να αποφύγετε κάτι τέτοιο, συνιστάται να ενημερώσετε αυτές τις δέσμες ενεργειών για να χρησιμοποιήσετε ρητά ασφαλείς παραμέτρους (δείτε παρακάτω), εξασφαλίζοντας ότι δεν απαιτούν μη αυτόματη επιβεβαίωση.
-
Ανάληψη δράσης
Οι περισσότερες δέσμες ενεργειών και εντολές του PowerShell που χρησιμοποιούν την εντολή Invoke-WebRequest θα συνεχίσουν να λειτουργούν με ελάχιστη ή και καθόλου τροποποίηση. Για παράδειγμα, οι δέσμες ενεργειών που κατεβάζουν μόνο περιεχόμενο ή λειτουργούν με το σώμα της απόκρισης ως κείμενο ή δεδομένα δεν επηρεάζονται και δεν απαιτούν αλλαγές.
Εάν έχετε δέσμες ενεργειών που επηρεάζονται από αυτήν την αλλαγή, χρησιμοποιήστε μία από τις παρακάτω προσεγγίσεις.
Για τη λήψη περιεχομένου, δεν απαιτείται καμία ενέργεια εάν η τυπική χρήση της εντολής Invoke-WebRequest είναι η λήψη περιεχομένου (όπως η λήψη αρχείων ή η ανάγνωση στατικού κειμένου) και δεν βασίζεστε σε σύνθετη αλληλεπίδραση τοποθεσίας ή ανάλυση HTML DOM. Η νέα προεπιλεγμένη συμπεριφορά είναι πιο ασφαλής —οι δέσμες ενεργειών που είναι ενσωματωμένες στο περιεχόμενο Web δεν θα εκτελούνται χωρίς τα δικαιώματά σας— και αυτή είναι η συνιστώμενη ρύθμιση παραμέτρων για τα περισσότερα σενάρια.
Για αλληλεπιδραστική χρήση, απλώς απαντήστε "Όχι" στο νέο μήνυμα ασφαλείας (ή πατήστε το πλήκτρο Enter για να αποδεχτείτε την προεπιλογή) και εκτελέστε ξανά την εντολή σας με την παράμετρο -UseBasicParsing για να ανακτήσετε με ασφάλεια το περιεχόμενο. Αυτό θα αποφύγει την εκτέλεση κώδικα δέσμης ενεργειών στη σελίδα λήψης. Εάν κάνετε συχνά λήψη περιεχομένου Web αλληλεπιδραστικά, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε την παράμετρο -UseBasicParsing από προεπιλογή στις εντολές σας για να παραλείψετε εντελώς το μήνυμα και να εξασφαλίσετε τη μέγιστη ασφάλεια.
Για αυτοματοποιημένες δέσμες ενεργειών ή προγραμματισμένες εργασίες, ενημερώστε τις ώστε να περιλαμβάνουν την παράμετρο UseBasicParsing στις κλήσεις Invoke-WebRequest. Αυτό προεπιλέγει την ασφαλή συμπεριφορά, έτσι ώστε να μην εμφανίζεται το μήνυμα και η δέσμη ενεργειών σας να συνεχίζει να εκτελείται χωρίς διακοπές. Με αυτόν τον τρόπο, εξασφαλίζετε ότι η αυτοματοποίησή σας εκτελείται απρόσκοπτα μετά την ενημέρωση, αξιοποιώντας παράλληλα τη βελτιωμένη ασφάλεια.
-
Για τις δέσμες ενεργειών που εκτελούνται με την επιλογή -NoProfile: Εάν η δέσμη ενεργειών έχει πολλές εμφανίσεις των κλήσεων Invoke-WebRequest, δηλώστε $PSDefaultParameterValues['Invoke-WebRequest:UseBasicParsing'] = $true στο επάνω μέρος της δέσμης ενεργειών.
-
Όταν χρησιμοποιείται η Invoke-WebRequest με την παράμετρο -UseBasicParsing , δεν είναι δυνατή η ανάλυση του Full Document Object Model (DOM) με χρήση στοιχείων του Internet Explorer (διασύνδεση HTMLDocument (mshtml)).
Για δέσμες ενεργειών ή αυτοματισμούς που ασχολούνται με μη αξιόπιστο ή δημόσιο περιεχόμενο Web και απαιτούν επεξεργασία δομών ή φορμών HTML, εξετάστε το ενδεχόμενο να τις ανανεώσετε ή να τις ενημερώσετε για μακροπρόθεσμη ασφάλεια. Αντί να βασίζεστε στο PowerShell για την ανάλυση και την εκτέλεση πιθανώς επικίνδυνων δεσμών ενεργειών ιστοσελίδων, μπορείτε να κάνετε τα εξής:
-
Χρησιμοποιήστε εναλλακτικές μεθόδους ανάλυσης ή βιβλιοθήκες (για παράδειγμα, να διαχειριστείτε το περιεχόμενο της ιστοσελίδας ως απλό κείμενο ή XML, χρησιμοποιώντας βιβλιοθήκες ανάλυσης regex ή XML/HTML που δεν εκτελούν δέσμες ενεργειών).
-
Εκσυγχρονίστε την προσέγγισή σας όσον αφορά τις αλληλεπιδράσεις στο web, ίσως χρησιμοποιώντας νεότερο PowerShell Core (έκδοση 7.x ή νεότερη), το οποίο δεν εξαρτάται από τον μηχανισμό του Internet Explorer και αποφεύγει την εκτέλεση δεσμών ενεργειών ή χρησιμοποιώντας εξειδικευμένα εργαλεία απόξεσης web που χειρίζονται το περιεχόμενο με μεγαλύτερη ασφάλεια. Περιορίστε την εξάρτηση από συγκεκριμένες δυνατότητες του Internet Explorer, καθώς ο Internet Explorer έχει καταργηθεί. Σχεδιάστε να ξαναγράψετε τμήματα των δεσμών ενεργειών σας που εξαρτώνται από αυτές τις δυνατότητες, ώστε να μπορούν να λειτουργούν σε ένα περιβάλλον όπου ο χειρισμός του περιεχομένου web γίνεται με ασφάλεια.
-
Invoke-WebRequest in PowerShell Core (έκδοση 7.x ή νεότερη) δεν υποστηρίζει ανάλυση DOM με χρήση στοιχείων του Internet Explorer. Η προεπιλεγμένη ανάλυση θα ανακτήσει με ασφάλεια το περιεχόμενο χωρίς εκτέλεση δέσμης ενεργειών.
-
-
Ο στόχος με τον επαναδιατύπωση είναι να επιτύχετε τις απαραίτητες λειτουργίες χωρίς να εκθέσετε τον εαυτό σας σε κινδύνους ασφαλείας, ενστερνίζοντας έτσι τις ασφαλέστερες προεπιλογές που εισήγαγε αυτή η αλλαγή.
Εάν έχετε μια συγκεκριμένη ανάγκη να χρησιμοποιήσετε τις πλήρεις δυνατότητες ανάλυσης HTML της εντολής Invoke-WebRequest (όπως η αλληλεπίδραση με πεδία φόρμας ή η απόξεση δομημένων δεδομένων) και εμπιστεύεστε την προέλευση του περιεχομένου Web, μπορείτε να συνεχίσετε με τη συμπεριφορά ανάλυσης παλαιού τύπου κατά περίπτωση. Σε αλληλεπιδραστικές περιόδους λειτουργίας, αυτό σημαίνει απλώς να επιλέξετε Ναι στο μήνυμα επιβεβαίωσης για να επιτρέψετε τη συνέχιση της λειτουργίας. Θα λαμβάνετε μια υπενθύμιση για τον κίνδυνο ασφαλείας κάθε φορά που το κάνετε. Η διαδικασία χωρίς την παράμετρο -UseBasicParsing θα πρέπει να περιορίζεται σε σενάρια όπου εμπιστεύεστε πλήρως το περιεχόμενο web (για παράδειγμα, εσωτερικές εφαρμογές Web υπό τον έλεγχό σας ή γνωστές ασφαλείς τοποθεσίες Web).
Σημαντικό: Αυτή η προσέγγιση δεν συνιστάται για δέσμες ενεργειών που εκτελούνται σε μη αξιόπιστο ή δημόσιο περιεχόμενο Web, επειδή επανεισάγει τον κίνδυνο σιωπηρής εκτέλεσης δέσμης ενεργειών που σκοπό έχει να μετριάσει αυτή η ενημέρωση. Επίσης, για μη αλληλεπιδραστικό αυτοματισμό, δεν υπάρχει ενσωματωμένος μηχανισμός για την αυτόματη συγκατάθεση για την προτροπή, επομένως δεν συνιστάται η πλήρης ανάλυση σε δέσμες ενεργειών (εκτός από το ότι είναι επικίνδυνη). Χρησιμοποιήστε αυτή την επιλογή με φειδιές και μόνο ως προσωρινό μέτρο.
Συνήθεις ερωτήσεις
Στις περισσότερες περιπτώσεις, οι δέσμες ενεργειών που κατεβάζουν αρχεία ή κάνουν λήψη περιεχομένου Web ως κείμενο θα εξακολουθούν να λειτουργούν. Για να αποφύγετε την προτροπή, προσθέστε την παράμετρο -UseBasicParsing.
Οι δέσμες ενεργειών που χρησιμοποιούν σύνθετη ανάλυση HTML (όπως φόρμες ή DOM) ενδέχεται να κολλάνε ή να εξάγονται ανεπεξέργαστα δεδομένα αντί για δομημένα αντικείμενα. Θα χρειαστεί να μεταβείτε σε βασική ανάλυση ή να τροποποιήσετε τη δέσμη ενεργειών σας για να χειριστείτε το περιεχόμενο διαφορετικά.
Χρησιμοποιείτε πάντα την παράμετρο -UseBasicParsing με την εντολή Invoke-WebRequest στις δέσμες ενεργειών του PowerShell για να εξασφαλίσετε ασφαλή, μη αλληλεπιδραστική εκτέλεση.
Ναι. Οι δέσμες ενεργειών ανάλογα με την ανάλυση παλαιού τύπου πρέπει να ενημερωθούν για να συμμετάσχουν ή να επαναδιαπροσδιοριστούν.
Η αλλαγή στο PowerShell ισχύει τόσο για τις τυπικές ενημερώσεις όσο και για τις ενημερώσεις hotpatch, με αποτέλεσμα να αλλάξει η ίδια συμπεριφορά.
Ναι. Το PowerShell 7 χρησιμοποιεί ήδη ασφαλή ανάλυση από προεπιλογή.
Επικοινωνήστε με τους κατόχους λειτουργικών μονάδων για προγράμματα υποστήριξης. Χρησιμοποιήστε προσωρινά την επιλογή για αξιόπιστο περιεχόμενο κατά τη μετεγκατάσταση.
Για να προετοιμαστείτε και να επικυρώσετε αυτήν την αλλαγή, συνιστάται να κάνετε τα εξής:
-
Προσδιορίστε δέσμες ενεργειών χρησιμοποιώντας δυνατότητες DOM.
-
Αυτοματοποίηση δοκιμής με τη νέα προεπιλογή.
-
Περιορίστε την επιλογή επιλογής παλαιού τύπου σε αξιόπιστες πηγές.
-
Προγραμματίστε τον επαναχρηματικό για μη αξιόπιστο περιεχόμενο.