Приветствую! Обнаружил досадную вещь. На сервере есть несколько сайтов, на них написаны web-формы, типа "обратная связь"Сейчас через них активно рассылается спам с сотнями получателями на разных доменах. У меня пока не получилось запостить в эту форму что-то, приходящее кому-то. Но логика такова. Постится сообщение, в нем bcc: .... куча адресов.
Естественно, у меня забилась очередь на сервере. Он сейчас только и обрабатывает отлупы :(
Что посоветуете сделать? Спамят с разных ip, не закроешь фаерволом
httpd-access.log203.233.21.143 - - [06/Feb/2006:15:11:30 +0300] "POST / HTTP/1.1" 200 -
203.162.2.132 - - [06/Feb/2006:15:12:22 +0300] "POST / HTTP/1.1" 200 -
61.135.132.202 - - [06/Feb/2006:15:13:16 +0300] "POST / HTTP/1.1" 200 -
66.139.79.153 - - [06/Feb/2006:15:13:56 +0300] "POST / HTTP/1.1" 200 -maillog
Feb 6 15:50:40 srvr postfix/smtp[4225]: DDC343865A: to=<dtying@aol.com>, relay=mailin-03.mx.aol.com[64.12.138.120], delay
Feb 6 15:50:40 srvr postfix/smtp[4225]: DDC343865A: to=<du97dude@aol.com>, relay=mailin-03.mx.aol.com[64.12.138.120], del
Feb 6 15:50:40 srvr postfix/smtp[4225]: DDC343865A: to=<duanea422@aol.com>, relay=mailin-03.mx.aol.com[64.12.138.120], de
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<browniebkr@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249], d
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownienoser@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249],
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownjb5@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249], del
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownkttl@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249], de
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownmcarroll@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249]
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownpromo@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249], d
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownrice9899@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249]
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownrmsv@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249], de
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownrs30@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249], de
Feb 6 15:50:40 srvr postfix/smtp[7593]: DC10737752: to=<brownsafe@aol.com>, relay=mailin-01.mx.aol.com[64.12.137.249], de
>Приветствую! Обнаружил досадную вещь. На сервере есть несколько сайтов, на них написаны
>web-формы, типа "обратная связь"
>
>Сейчас через них активно рассылается спам с сотнями получателями на разных доменах.
>У меня пока не получилось запостить в эту форму что-то, приходящее
>кому-то. Но логика такова. Постится сообщение, в нем bcc: .... куча
>адресов.
>
>Естественно, у меня забилась очередь на сервере. Он сейчас только и обрабатывает
>отлупы :(
>
>Что посоветуете сделать? Спамят с разных ip, не закроешь фаерволом
>httpd-access.log
>
>203.233.21.143 - - [06/Feb/2006:15:11:30 +0300] "POST / HTTP/1.1" 200 -
>203.162.2.132 - - [06/Feb/2006:15:12:22 +0300] "POST / HTTP/1.1" 200 -
>61.135.132.202 - - [06/Feb/2006:15:13:16 +0300] "POST / HTTP/1.1" 200 -
>66.139.79.153 - - [06/Feb/2006:15:13:56 +0300] "POST / HTTP/1.1" 200 -
>
>maillog
>
>Feb 6 15:50:40 srvr postfix/smtp[4225]: DDC343865A: to=<dtying@aol.com>, relay=mailin-03.mx.aol.com[64.12.138.120], delayНе знаю как у Вас, у себя очистил очередь от писем на @aol ( все равно они меня забанили :-) )
Это узвимость появляется при недостаточном контроле входных данных, передаваемых в функцию PHP mail.Например, вы формируете header следующим образом:
'From: '.$Sender."\n"
.'MIME-Version: 1.0'."\n"
.'Content-Type: text/html; charset=windows-1251'."\n"
.'Content-Transfer-Encoding: 8bitЕсли не контролировать содержимое переменной $Sender, то туда можно подсунуть любой заголовок. Нужно вырезать все управляющие символы ("\n\r").
Лучше сразу удалять все символы < 0x20. И, кончено, обрезать строку до 15-20 символов.
Как дополнение: привязать к форме тест Тьюринга - "введите число указанное на картинке"
>Как дополнение: привязать к форме тест Тьюринга - "введите число указанное на
>картинке"ага, видел такую: чему равен предел суммы ...
:)