powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как правильно запретить прямой доступ к *.aspx?
22 сообщений из 22, страница 1 из 1
Как правильно запретить прямой доступ к *.aspx?
    #39153239
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юзеры грузят свои файлы, преимущественно это картинки и архивы.

Условно говоря - можно загрузить файл, вызов которого повлечет выполнение кода на сервере. Бред конечно, но это так.

Как запретить такую штуку наверняка?
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153362
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему весь пост бред.

1) aspx предназначен для прямого доступа, если не нужен доступ - удалить aspx
2) зачем выполнять загружаемые файлы?
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153454
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
расширение или сигнатура файла, все ж просто
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153535
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyпо-моему весь пост бред.

1) aspx предназначен для прямого доступа, если не нужен доступ - удалить aspx
2) зачем выполнять загружаемые файлы?


Что тебе непонятно??

Пользователь может загрузить сам aspx файл на сервер. А потом его выполнить. При этом имея доступ к файлам сайта.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153536
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuрасширение или сигнатура файла, все ж просто


Что (и где) прописывать то нужно?
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153538
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueПользователь может загрузить сам aspx файл на сервер. А потом его выполнить. да ты бредишь.
aspx содержит лишь разметку, а исполняемый код - в dll, которую компилируешь ты сам, и которая хранится в bin.
если кто-то в курсе про интерфейс этой твоей dll, написал свою собственную разметку, вызывающую какой-то метод, то в этом нет никакой разницы с тем, как если бы он дернул твой aspx.

это не считая того, что позволять загружать aspx - за гранью здравого смысла.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153539
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кроме того, загружать можно в папку, которой выставлен запрет на исполнение, только чтение/запись/удаление.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153551
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyMonochromatiqueПользователь может загрузить сам aspx файл на сервер. А потом его выполнить. да ты бредишь.
aspx содержит лишь разметку, а исполняемый код - в dll, которую компилируешь ты сам, и которая хранится в bin.
если кто-то в курсе про интерфейс этой твоей dll, написал свою собственную разметку, вызывающую какой-то метод, то в этом нет никакой разницы с тем, как если бы он дернул твой aspx.

это не считая того, что позволять загружать aspx - за гранью здравого смысла.

Да сам ты бредишь. Мало того, что aspx может выполнить js-скрипты, так он и произвольный c# код выполнить может, произвольный доступ к БД и прочее.

-- это не считая того, что позволять загружать aspx

Согласен. Но мне как-то казалось, что MVC "сам" блокирует прямой доступ к страницам. Оказывается, только в папке Views.

Вопрос - как запретить такой доступ по всему сайту?
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153552
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyкроме того, загружать можно в папку, которой выставлен запрет на исполнение, только чтение/запись/удаление.

Во во, а где это выставляется?? У меня AZURE
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153608
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueБред конечно, но это так.
Подтверждаю.

MonochromatiqueМало того, что aspx может выполнить js-скрипты, так он и произвольный c# код выполнить может, произвольный доступ к БД и прочее.
Срочно учим матчасть.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153690
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronMonochromatiqueМало того, что aspx может выполнить js-скрипты, так он и произвольный c# код выполнить может, произвольный доступ к БД и прочее.
Срочно учим матчасть.

Мил человек, не понимаю я намеков - какую матчасть??
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153703
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique Мало того, что aspx может выполнить js-скриптына сервере???

Monochromatiqueтак он и произвольный c# код выполнить можетисходники запускаются только из папки app_code.

короче, ты почему-то считаешь разработчиков веб-платформы ms идиотами, оставившими в ней дыры, через которые слон со свистом пролетает.
или сам постарался такие дыры раздолбить.
MonochromatiqueВо во, а где это выставляется?? У меня AZUREсвойства папки - безопасность. про AZURE не в курсе.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153747
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyисходники запускаются только из папки app_code.


Я не знаю, что ты имеешь в виду под "исходниками", но C#-код на aspx странице при обращении к ней будет скомпилен и выполнен. И выполнен на сервере. Если страница находится например в папке /Content.

C#-код и БД обратится, и файлы JS изменит\переместит - да что угодно.

Про папки я понял - только неясно, где это в азуре настраивается.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153755
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyкороче, ты почему-то считаешь разработчиков веб-платформы ms идиотами, оставившими в ней дыры, через которые слон со свистом пролетает.

Да там не слон пролетает, а целое стадо.

Короче, создай новый проект ASP.NET MVC, всё по умолчанию.

В папку Content положи aspx файл с

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="erase1.Content.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <% 
                var numbers = new[] { 1, 2, 3 };
                Response.Write(numbers.Sum());
                
                 %>
        </div>
    </form>
</body>
</html>



Ну и обратись к ней. Другой вопрос - как он там вообще оказался, но через это можно получить доступ и к файловой системе (web.config ага), и к БД.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153774
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обрати внимание на CodeBehind="WebForm1.aspx.cs"

WebForm1.aspx.cs - это и есть исходник. и, чтобы быть скомпилированным, находиться он должен ТОЛЬКО в App_Code. в самом aspx c#-кода в природе не встречается.

а про эту возможность я запамятовал:
Код: html
1.
2.
3.
4.
5.
<% 
                var numbers = new[] { 1, 2, 3 };
                Response.Write(numbers.Sum());
                
                 %>

впрочем, скорее всего и от нее можно избавиться, снеся с iis поддержку классического asp, ведь это asp.

Monochromatique Да там не слон пролетает, а целое стадо.
ты сам себе злобный буратино, раз позволяешь загружать aspx, и ms тут ни при чем. они не могут помешать тебе выстрелить самому себе в ногу.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153778
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyобрати внимание на CodeBehind="WebForm1.aspx.cs"

WebForm1.aspx.cs - это и есть исходник. и, чтобы быть скомпилированным, находиться он должен ТОЛЬКО в App_Code. в самом aspx c#-кода в природе не встречается.

а про эту возможность я запамятовал:
Код: html
1.
2.
3.
4.
5.
<% 
                var numbers = new[] { 1, 2, 3 };
                Response.Write(numbers.Sum());
                
                 %>

впрочем, скорее всего и от нее можно избавиться, снеся с iis поддержку классического asp, ведь это asp.

Monochromatique Да там не слон пролетает, а целое стадо.
ты сам себе злобный буратино, раз позволяешь загружать aspx, и ms тут ни при чем. они не могут помешать тебе выстрелить самому себе в ногу.

Я не гоню на MS (хотя по совокупности факторов - это дырищщщща), и с загрузкой на сайт вопрос отдельный.

Вопрос как это закрыть? Про папки на IIS я понял, как это закрыть на уровне приложения?


AntonariyДа там не слон пролетает, а целое стадо.
они не могут помешать тебе выстрелить самому себе в ногу.[/quot]

Вообще то - должна помешать. Во Views они эту возможность закрыли, а в остальных папках нет.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153779
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique как это закрыть на уровне приложения?запретить загрузку aspx же.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153808
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Monochromatique,

что тебе мешает проверить расширение файла или его сигнатуру? если ты знаешь какие типы файлов ты поддерживаешь то сразу напиши конечное множество.
даже если у тебя веб сайт а не веб апп(где все скомпилено) - загрузишь ты левую асп страницу, переименованную, iis её не выполнить, вернет просто текст страницы как есть (если переименовано), а переименовать назад в aspx не будет возможности у тебя, если конечно у тебя там нет встроенного своего файлового менеджера
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153812
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

Да ничего мне не мешает. Вопроса с препятствием загрузке - нет.

Вопрос - запрет прямого вызова aspx по всему сайту, ибо такое вот мое желание.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153833
Wiking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите в сторону
mime type checking
и ограничте загрузку только для разрешенных файлов
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153854
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueВопрос - запрет прямого вызова aspx по всему сайту, ибо такое вот мое желание.вырубить хендлер. вроде это в списке mime-типов делается.
...
Рейтинг: 0 / 0
Как правильно запретить прямой доступ к *.aspx?
    #39153873
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiquehandmadeFromRu,

Да ничего мне не мешает. Вопроса с препятствием загрузке - нет.

Вопрос - запрет прямого вызова aspx по всему сайту, ибо такое вот мое желание.
да ну просто ж. первая идея прям сходу, делаешь слепок всех страниц, просто список страниц которые твои. а на httpmodule проверяешь имя aspx файла, если не в твоем списке шлешь их на какой нить гей сайт, профит.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как правильно запретить прямой доступ к *.aspx?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]