Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 49598|Risposta: 0

[Fonte] (Security).NET/C# impedisce l'accesso cross-directory ai download

[Copiato link]
Pubblicato il 7-04-2021 11:57:38 | | | |
Scenario: Esiste un'interfaccia API che riceve i parametri del percorso, completa il percorso del file attraverso determinate regole e poi risponde al download all'utente.

Request:
GET /download_page?id=content.dat HTTP/1.1

Request:
GET /download_page?id=.. %2f.. %2fweb.config HTTP/1.1(Questo scarica il file web.config del server

Supponiamo che D:\storage\123 sia la directory principale dello store, e tutti i file memorizzati siano in quella directory, quando l'utente aggiunge il percorso a : . il simbolo può essere incrociato sotto la directory precedente, e il parametro URL viene passato da: /.. / Facile accesso a risorse sensibili e download.

soluzione

Diamo prima un'occhiata ai rendering:



Il codice è il seguente:







Precedente:Sito web di decrittazione online MD5 comunemente utilizzato sia in patria che all'estero
Prossimo:La differenza tra /bin/false e /sbin/nologin, che impedisce agli utenti di accedere
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com