Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 49598|Отговор: 0

[Източник] (Security).NET/C# предотвратява достъпа между директории до изтегляния

[Копирай линк]
Публикувано на 2021-4-7 11:57:38 | | | |
Сценарий: Има API интерфейс, който получава параметри за пътя, завършва пътя на файла чрез определени правила и след това отговаря на потребителя за изтегляне.

Request:
ВЗЕМИ /download_page?id=content.dat HTTP/1.1

Request:
GET /download_page?id=.. %2f.. %2fweb.config HTTP/1.1(Това изтегля web.config файла на сървъра

Да предположим, че D:\storage\123 е кореновата директория на хранилището и всички съхранени файлове са в тази директория, когато потребителят добави пътя към : . символът може да се пресече под предишната директория, а URL параметърът се предава от: /.. / Лесен достъп до чувствителни ресурси и изтегляния.

решение

Нека първо разгледаме визуализациите:



Кодът е следният:







Предишен:MD5 онлайн сайт за декриптиране, често използван у дома и в чужбина
Следващ:Разликата между /bin/false и /sbin/nologin, която забранява на потребителите да влизат
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com