Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2017-9822 — Analisi tecnica approfondita e proof-of-concept per CVE-2017-9822, una vulnerabilità di deserializzazione non sicura in DotNetNuke che porta all'esecuzione remota di codice tramite cookie appositamente predisposti. | Kitploit
Strumenti/GitHubGitHub/tnot123/cve-2017-9822
Analisi delle VulnerabilitàAnalisi del CodiceExploitReverse EngineeringSfruttamento di Applicazioni WebDebuggerPenetration TestingApprendimento e FormazioneSviluppo PayloadBinary ExploitationLab e Pratica
651 anno faNon ancora revisionato
GitHub
tnot123/cve-2017-9822

cve-2017-9822

Analisi tecnica approfondita e proof-of-concept per CVE-2017-9822, una vulnerabilità di deserializzazione non sicura in DotNetNuke che porta all'esecuzione remota di codice tramite cookie appositamente predisposti.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
  • CVE-2017-9822
    • Informazioni principali
    • Configurazione dell'ambiente
    • Configurazione del debug
    • Analisi
    • Debug
      • XmlSerializer
      • Gadget di attacco
      • ObjectDataProvider
      • ResourceDictionary
      • Da xml insecure deserialization a RCE

CVE-2017-9822

DNN (noto anche come DotNetNuke), prima della versione 9.1.1, presenta una vulnerabilità di esecuzione remota di codice tramite cookie, nota anche come "2017-08 (Importante) Possibile esecuzione remota di codice sui siti web DNN".

Informazioni principali

  • Prodotto interessato: DotNetNuke (DNN Platform) – un CMS/portale .NET popolare.
  • Data di pubblicazione: Luglio 2017.
  • Livello: Critical (CVSS ~9.8).
  • Tipo di vulnerabilità: XML External Entity (XXE) / deserializzazione non sicura → Remote Code Execution (RCE).
  • Impatto: prima della versione 9.1.1 possibile esecuzione remota di codice tramite cookie

alt

Cos'è DotNetNuke?
DotNetNuke è un CMS (sistema di gestione dei contenuti) web gratuito e open source scritto in C# e basato sulla piattaforma .NET. DotNetNuke è molto popolare e ampiamente utilizzato su Internet perché è possibile distribuire una versione web di DNN in pochi minuti senza richiedere molte conoscenze tecniche. Un'altra importante funzionalità di DotNetNuke è la capacità di creare o importare moduli personalizzati di terze parti costruiti con VB.NET o C#
È possibile installare DNN su uno stack comprendente Windows Server, IIS, ASP.NET e SQL Server per Windows. DNN supporta anche la registrazione con verifica dei nuovi utenti tramite email, ma è necessario configurare un server SMTP valido affinché questa funzionalità di sicurezza funzioni. Caratteristiche principali di DNN
• Architettura modulare: DNN consente un'estensione facile installando ulteriori moduli (moduli funzionali) sviluppati dalla community. Gli amministratori possono caricare nuovi moduli tramite l'interfaccia di amministrazione (upload dei pacchetti .zip) o decomprimerli direttamente in una cartella sul server.
• Gestione utenti: Il sistema fornisce funzionalità di sicurezza e di autorizzazione dettagliata (ruoli/autorizzazioni) per portali e moduli. Account utente, ruoli e permessi sono gestiti centralmente in DNN.
• Gestione dei contenuti: Supporta l'editor WYSIWYG, la gestione di articoli, immagini, documenti... Dispone di un sistema di workflow/pubblicazione (pubblicazione con flusso di approvazione) e versionamento dei contenuti. I contenuti vengono archiviati nel database (SQL Server) condiviso.
• API e integrazione estensibile: DNN fornisce API .NET per lo sviluppo di moduli personalizzati (WebForms, MVC, Razor) e l'integrazione di servizi esterni. Molte librerie di terze parti sono disponibili (temi, moduli e-commerce, forum, ecc.) per estendere le funzionalità.
• Interfaccia e temi: Il sistema di skin (temi) separa contenuti e interfaccia, consentendo una progettazione web flessibile. I siti web creati con DNN possono cambiare aspetto cambiando skin.
• Meccanismo di installazione dei moduli: I moduli DNN sono impacchettati in file ZIP e possono essere installati tramite l'interfaccia di amministrazione o tramite estrazione manuale. DNN supporta sia moduli compilati (.NET DLL) sia moduli Razor dinamici; ogni modulo può concedere o revocare l'accesso tramite le impostazioni di autorizzazione su ogni pagina.

Configurazione dell'ambiente

Sistemi operativi: Windows 10
.NET Framework: 4.5.1+
Server web: Microsoft IIS 10
Server di database: Microsoft® SQL Server® 2019 Express, SQL Server Management Studio
Versione Dotnetnuke 9.1.0
È possibile utilizzare i seguenti Google dorks per trovare le versioni di Dotnetnuke distribuite disponibili su Internet e verificarle in base al sito web:
inurl:dnn.js
inurl:dnn.modalpopup.js
inurl:dnn.servicesframework.js
inurl:dnn.xml.js
inurl:dnncore.js
inurl:/Portals/0/
inurl:/DesktopModules/
inurl:/DNNCorp/
inurl:/DotNetNuke
inurl:/tabid//Default.aspx
inurl:/tabid/
/language/*/Default.aspx
intext:"by DNN Corp "
Puoi seguire questo articolo per costruire l'ambiente

Configurazione del debug

Modifica gli attributi dell'assembly in attributi "debuggabili": questo è molto necessario perché in fase di runtime vengono applicate alcune ottimizzazioni che possono ostacolare il debug, alcuni breakpoint potrebbero non essere raggiunti o alcune variabili potrebbero non esistere.
Carica DotNetNuke.dll in dnSpy (32 bit), quindi seleziona Edit Assembly Attributes (C#)

alt

Cambia la riga da
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
a
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]

alt

Quindi seleziona Compile e salva nuovamente il modulo nella posizione originale.
Successivamente, avvia dnSpy come amministratore e seleziona Debug -> Attach to Process

alt

Seleziona il processo w3wp.exe

alt

Il motivo per cui dobbiamo agganciare questo processo per il debug è che le applicazioni web su IIS utilizzano solitamente i worker process. Essi hanno il compito di gestire le richieste web inviate al server web IIS per ogni application pool; i worker process possono essere molteplici su una stessa macchina e condividono tutti lo stesso nome, w3wp.exe. Una piccola nota: può capitare che non ci sia alcun processo w3wp in esecuzione; IIS non avvia i worker process finché non riceve la prima richiesta web.

alt

Tornando al debug, dopo aver agganciato il processo, scegli: Debug -> Windows -> Modules

alt

Fai clic su un modulo e seleziona Open All Modules

alt

A questo punto, nella finestra Assembly si possono vedere tutti i moduli correlati

alt

Scarica lo strumento