Привычка IIS выполняет Bat-файл

можно использовать procmail для фильтрации электронных писем согласно предмету. Затем у Вас будет опция выполнить любую команду в ответ на электронную почту, или можно оставить ее нетронутой и поставлять ее почтовому ящику.

Можно считать procmail быстрый запуск, который является превосходной статьей.

Для включения procmail использования поместите ".forward" файл в соответствии с корневым каталогом пользователя и сделайте его содержание как это

| "/usr/bin/procmail"

Затем запишите свои procmail "рецепты" под ~/.procmailrc

Обратите внимание, что большинство других опций фильтрации (как решето) не позволит Вам выполнять произвольные команды.

0
задан 3 January 2011 в 01:22
5 ответов

(Примечание: старый ответ был видом корректных, видом не корректный. Из поля IIS не может выполнить экземпляры cmd.exe, но это, по-видимому, возможно...),

Можно выполнить пакетные файлы из IIS, с помощью ASP.NET, но он требует, чтобы настройки олицетворения были 100%-м пятном на.

Я собираюсь предположить в целях этого сообщения, что Вы находитесь в очень безопасной среде, и Вы уже рассмотрели все векторы потенциальной атаки, которые могли быть открыты, позволив IIS выполнить пакетные файлы (которые находятся в экземплярах cmd.exe.)

Таким образом, веб-процесс должен работать как любой Администратор (GAH!) или другая учетная запись, которая может выполнить пакетную обработку. Я полагаю, что это не будет возможно с ящиком входящих сообщений учетные записи ASPNET/IUSR_.

Активируйтесь олицетворение описано здесь на MSDN, и дайте ему день в суде.

3
ответ дан 4 December 2019 в 13:13
  • 1
    Спасибо, я сделал все это, и мы в конечном счете пошли с другим решением, однако я чувствую, что этот ответ получит " googlers" на ходу лучшее, таким образом, я отметил его, как принято. –  Kyle Rozendo 22 February 2010 в 13:28

Это должно работать как Ваш пользователь Идентификационных данных пула приложений, под которым работает веб-сервис. Это - пользователь, чтобы гарантировать, что это имеет соответствующие полномочия выполнить и выполнить пакетный файл. Это вероятно не анонимный пользователь сайта, если Вам не включили олицетворение. Это - мое первое предположение.

В рамках кода вызова ASP.NET необходимо смочь получить сообщение возврата или код возврата. Если так, посмотрите, дает ли это дальнейший ключ к разгадке.

0
ответ дан 4 December 2019 в 13:13
  • 1
    К сожалению, WS просто возвращает это, он не мог открыть File, который пакетный файл предназначен для создания. Cmd.exe просто не открывается. Могли Вы уточнять полномочия; я уверен, что мы сделали все, что мы можем там. –  Kyle Rozendo 15 October 2009 в 12:24
  • 2
    Проверьте, какой пул приложений, под которым работает сайт, затем переходит к вкладке Application Pools и подтверждает что пользователь идентификационных данных это it' s работающий под имеет достаточно доступа. По умолчанию it' s ' Сетевой Service' какой вероятный doesn' t имеют достаточно полномочий. Дополнительно, если у Вас есть Олицетворение на нем, может работать при анонимном или аутентифицируемом пользователе. Моя рекомендация, если у Вас есть 1 сайт на пул приложений или все сайты, доверяет друг другу, должен установить анонимного пользователя на сайте для выполнения как идентификационные данные процесса (пользователь пула приложений). Затем у Вас только есть 1 пользователь для волнения о. –  Scott Forsyth - MVP 16 October 2009 в 16:28
  • 3
    Кроме того, действительно ли Вы уверены, что вызов код ASP.NET корректен? Можете Вы отправлять код это you' использование ре? –  Scott Forsyth - MVP 16 October 2009 в 16:29

Внезапно у меня есть прекрасная идея! Добавьте, что некоторые "Повторяют sometext >>log.txt" строки в коде.BAT файла, таким образом, он генерирует некоторый вход. Затем проверьте, пишет ли это действительно в этот файл журнала. Могло случиться так, что.BAT файл ожидает ввода данных пользователем где-нибудь. Или это ожидает пользователя для нажатия клавиши для закрытия консоли. Так как это было бы сервером, нет никакого экрана, где он отобразит консоль таким образом, он ожидает навсегда пользователя для нажатия клавиши на сервере.

0
ответ дан 4 December 2019 в 13:13
  • 1
    Как я сказал.BAT файл никогда не работает, сделайте вход в систему, это было бы бессмысленно, также для ответа на другой вопрос, да, он работает из IIS, таким образом, не код. –  Kyle Rozendo 14 October 2009 в 17:13
  • 2
    Но как Вы знаете, что это никогда не выполняет.BAT файл? –  Wim ten Brink 14 October 2009 в 20:36
  • 3
    Поскольку Файл the Bat никогда не работает? Я don' t понимают вопрос, как еще был бы я знать. –  Kyle Rozendo 15 October 2009 в 08:33
  • 4
    Вы кажетесь уверенными, что.BAT файл никогда не выполняется, в то время как я подозреваю, что.BAT файл просто останавливается в какой-то момент, вероятно, в одном из первых операторов. Существует ли СЕТЬ/ПУТЬ UNC в.BAT файле, который используется? Это, называя некоторое приложение that' s расположенный на сетевом ресурсе? –  Wim ten Brink 15 October 2009 в 09:44
  • 5
    Файл никогда не работает, никогда. Когда Вы тестируете его локально, выполнения файла, когда в открывает и действительно наполняет. При выполнении через WebService, ничто он никогда не открывается. Файл THE BAT выполняет единственный запрос к локальной машине, вот именно. –  Kyle Rozendo 15 October 2009 в 12:20

Вы проверили, что полномочия cmd.exe позволяют IIS выполнять его? В моей системе учетная запись IIS по умолчанию не имела необходимого разрешения.

0
ответ дан 4 December 2019 в 13:13
  • 1
    Да, cmd.exe имеет весь необходимый privs, тем не менее ничто. –  Kyle Rozendo 15 October 2009 в 12:22

Кажется, что это было тихо отключено, вероятно, потому что это походит на популярный вредоносный вектор атаки.

У Вас есть другой способ решить эту проблему?

0
ответ дан 4 December 2019 в 13:13

Теги

Похожие вопросы