Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 49598|Răspunde: 0

[Sursă] (Security).NET/C# împiedică accesul cross-director la descărcări

[Copiază linkul]
Postat la 2021-4-7 11:57:38 | | | |
Scenariu: Există o interfață API care primește parametrii de traseu, completează calea fișierului prin anumite reguli și apoi răspunde la descărcare către utilizator.

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

Request:
GET /download_page?id=.. %2f.. %2fweb.config HTTP/1.1(Aceasta descarcă fișierul web.config al serverului

Să presupunem că D:\storage\123 este directorul rădăcină al magazinului, iar toate fișierele stocate se află în acel director, atunci când utilizatorul adaugă calea către : . simbolul poate fi tăiat sub directorul anterior, iar parametrul URL este trecut de: /.. / Acces facil la resurse sensibile și la descărcări.

soluție

Să aruncăm o privire mai întâi la randare:



Codul este următorul:







Precedent:Site-ul de decriptare online MD5 folosit frecvent în țară și în străinătate
Următor:Diferența dintre /bin/false și /sbin/nologin, care interzice utilizatorilor să se autentifice
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com