могу размещать на сервере файлы *.asp *.jsp и выполнять их....существует ли какой-нибудь эксплоит на *.asp или *.jsp который я мог реализовать вот так??? заранее спасибо
09.04.2003 08:14:55
могу размещать на сервере файлы *.asp *.jsp и выполнять их....существует ли какой-нибудь эксплоит на *.asp или *.jsp который я мог реализовать вот так??? заранее спасибо
|
|
|
|
09.04.2003 12:30:56
Да в общем и без ASP.NET можно немало гадостей натворить...
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
|
|
|
|
09.04.2003 12:54:44
Просто у ASP.NET есть неприятная особенность, связанная с ASPNET-аккаунтом и identity impersonate =) Когда мы это раскопали, чуть не охренели... =( |
|||
|
|
09.04.2003 13:01:59
Ты не говори загадками, а расскажи по подробней.
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
|
|
|
|
09.04.2003 13:22:30
Оки. =) Имена "битых" хостингов, есстесно не скажу. =)
Проблема заключается в следующем. Единственное условие -- нужно положить пару файлов на сервак. По умолчанию, все web applications, создаваемые в IIS-е (aspnet_wp.exe) работают в контексте пользователя ASPNET, и это вроде не меняется. Если на хостинге есть несколько "сайтов" (так обычно и бывает -- colocation вроде называется), то для любого юзера, пришедшего на эти сайты создается webapp (или дается готовый) выполняющийся под ASPNET. Это, как грится, раз. Далее, пишется простейший файловый браузер (средствами .NET). Типа список файлов / список папок. Каждый элемент списка -- ссылка на сам файлик / каталог. Юзер кликает по имени каталога, и соответственно, на ASP.NET страницу выдается команда "ChDir ()". Это реализуется очень просто. А результат может быть таким: Допустим есть некоторый хост: a.host.ru Мы кладем нашу .ASPX: a.host.ru/br.aspx Вызываем её и видим файлики в корне (ну по умолчанию так =) хоста. Дальше переходим выше ('..') и видим нечто подобное: www ftp logfiles ... Дальше переходим ещё выше и видим ещё более интересные вещи: a_host_ru b_host_ru c_host_ru ... Идем, к примеру, на b_host_ru: www ftp logfiles ... Дальше в www, и вытагиваем всю интеллектуальную собственность... =) Да, можно стянуть что-нить типа NTUSER.LOG (у нас получилось). Вот, в принципе, и все. На счет записи файлов -- это сложнее, т.к. ASPNET по умолчанию не имеет таких прав. Но можно че-нить откудова--нить стянуть. Вот и все. BTW, если нужен конкретный sample -- могу дать урл... =) |
|
|
|
09.04.2003 13:29:12
Вот от таких проблем и надо parent path запрещать. Фиг что нибуть сделаешь без него.
Да и при правильном задавании прав все это не сработает. Нужно просто иметь привычку каждый сайт запускать под отдельным аккаунтом, у которого права только на свою директорию.
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
|
|
|
|
09.04.2003 13:31:32
Или я не прав?
Хочешь быть мудрым? Не желай всего, что видишь; не верь всему, что слышишь; не говори всего, что знаешь; не делай всего, что умеешь, а только то, что полезно.
|
|
|
|
09.04.2003 13:33:46
Пальцем в небо, ибо parent paths тут не при чем. Как ты запретишь parent paths на уровне CreateFile() или FileSystemObject.OpenTextFile () ? Вся пенка-то в этом...
А вот это не сработает, ибо ASPNET один (я не нашел как менять), а IUSR_xxx -- их дофига, но они тут не при чем. Нужно настраивать .NET, чтобы пришедший на сайт юзер не шлялся под ASPNET, и пёр под IUSR_xxx, тогда все будет в шоколаде... =) |
|||||
|
|
09.04.2003 13:36:03
В догонку:
По умолчанию IIS настроен так, что любой юзер, по сути, рабтает под ASPNET, если нет явного требования для impersonation. А требования лежат в web.config нашего сайта / каталога... =) |
|
|
|
09.04.2003 13:43:25
И последнее:
Если на форуме присутствуют админы, то меняйте в %systemroot%\Microsoft.NET\Framework\%frameworkversion%\config\machine.config <identity impersonate="false" userName="" password=""/> на <identity impersonate="true" userName="" password=""/> Проблема решится. По крайней мере хоть как-то поможет. |
||||
|
|
|||