Добрый день, коллеги
Небольшой оффтоп, но возможно кому-то будет полезным. Подыму вероятно
избитую тему, но столкнулся с проблемой сегодня впервые. Для тех у кого
все еще хранятся пароли в БД в явном виде:
Аутентификатор вида
server_condition = ${lookup pgsql{SELECT login FROM \
accounts WHERE login = \
'$1' AND password = \
'$2'}{yes}{no}}
будет отрабатывать с любым логином и паролем ' OR ''='
Сегодня мой коллега обратился за помощью поскольку таким нехитрым
способом через него шла рассылка.
Использование quoted_pgsql эту дыру закрывает, однако делает невозможным
использование в паролях символов % и _
В качестве быстрого решения может быть:
server_condition = ${lookup pgsql{SELECT login FROM \
accounts WHERE login = \
'$1' AND md5(password) = \
'${md5:$2}'}{yes}{no}}
_______________________________________________
Exim-users mailing list
[email protected]
http://mailground.net/mailman/listinfo/exim-users