Encontre todos os scripts PHP com e-mail na minha fila de mensagens postfix

0

Como faço para encontrar todos os scripts que têm correio na minha fila de mensagens postfix? Este servidor está enviando spam e eu verifiquei, mas quero ter certeza de que não perdi nenhum script que possa estar incluído. O PHP é configurado para colocar o cabeçalho X-PHP-Originating-Script em cada email. Se eu puder fazer uma iteração em cada e-mail para encontrar todos esses cabeçalhos, poderei encontrar todos os scripts relevantes.

    
por flickerfly 07.04.2015 / 17:47

1 resposta

1

Esse oneliner reúne a saída mailq (geralmente canalizo isso para um arquivo e, em seguida, executo o script no arquivo para que eu possa ajustá-lo com menos impacto no desempenho). Em seguida, ele corta somente o ID do email usando o comando cut para identificar o campo adequado e usando egrep para limpar (removendo linhas vazias, IDs irrelevantes terminados em * e linhas iniciadas por a (ou -. Xargs coloca cada ID em postcat para produzir o conteúdo incluindo cabeçalhos. Então nós procuramos o cabeçalho, ordenamos para que o comando uniq funcione corretamente e encontre apenas uma instância de cada script com uniq.

mailq |cut -f 1 -d " "|egrep -v "^\(|^$|^-|\*" |xargs postcat -q |grep "X-PHP-Originating-Script"|sort|uniq
    
por 07.04.2015 / 17:47