Compartilhe
Ir em baixo
avatar
Membro

Titulo :  
Registro : 30/12/2013
Mensagens : 28
Reputação : 3

Ver perfil do usuáriohttps://www.youtube.com/ijockeroficiall

Como remover o bug da BrainCMS 2017!

em Ter 13 Jun 2017 - 10:56
A BrainCMS vem com um bug, que aceita comandos SQL e SCRIPTS na área de notícias, tanto nos comentários, como na criação da notícia no painel administrativo.

Para resolver:

Crie um arquivo PHP com o nome sanitize.php na pasta
system/app/classes/


E cole esse código:
Código:
<?php
/**
 * Classe que contem os métodos que iram
 * filtrar as entradas enviadas via GET e POST
 *
 * @filesource
 * @author      Pedro Elsner <pedro.elsner@gmail.com>
 * @license    http://creativecommons.org/licenses/by/3.0/br/ Creative Commons 3.0
 * @abstract
 * @version    1.0
 */
abstract class Sanitize {
/**
 * Filter
 *
 * @param  mixed $value
 * @param  array $modes
 * @return mixed
 * @static
 * @since  1.0
 */
    static public function filter($value, $modes = array('sql', 'html')) {
        if (!is_array($modes)) {
            $modes = array($modes);
        }
        if (is_string($value)) {
            foreach ($modes as $type) {
              $value = self::_doFilter($value, $type);
            }
            return $value;
        }
        foreach ($value as $key => $toSanatize) {
            if (is_array($toSanatize)) {
                $value[$key]= self::filter($toSanatize, $modes);
            } else {
                foreach ($modes as $type) {
                  $value[$key] = self::_doFilter($toSanatize, $type);
                }
            }
        }
        return $value;
    }
/**
 * DoFilter
 *
 * @param  mixed $value
 * @param  array $modes
 * @return mixed
 * @static
 * @since  1.0
 */
    static protected function _doFilter($value, $mode) {
        switch ($mode) {
            case 'html':
                $value = strip_tags($value);
                $value = addslashes($value);
                $value = htmlspecialchars($value);
                break;
       
            case 'sql':
                $value = preg_replace(sql_regcase('/(from|select|insert|delete|where|drop table|show tables|#|\*| |\\\\)/'),'',$value);
                $value = trim($value);
                break;
        }
        return $value;
    }
}

Agora, abra o arquivo  class.admin.php

Caminho: system/app/classes/class.admin.php

Agora importe a classe colocando:

require_once('sanitize.php');

Após <?php

Nesse mesmo arquivo (class.admin.php) procure por:

function EditNews
e
 PostNews()

E após a {  em cima do global

Cole isso:

Código:
$_GET = Sanitize::filter($_GET);
$_POST = Sanitize::filter($_POST);

Pronto, salve o arquivo e já esta corrigido o bug.
Créditos:
iJockerOficial

[Você precisa estar registrado e conectado para ver este link.]
avatar
Administrador
 Administrador
Titulo : Love me less
Registro : 02/05/2013
Mensagens : 1696
Reputação : 172

Ver perfil do usuário

Re: Como remover o bug da BrainCMS 2017!

em Ter 13 Jun 2017 - 11:20
Reputação da mensagem: 100% (1 votos)
Muito bom. Obrigado por compartilhar.


[info]Leia as regras do fórum para não ser punido, [Você precisa estar registrado e conectado para ver este link.][/info]



[Você precisa estar registrado e conectado para ver esta imagem.][Você precisa estar registrado e conectado para ver esta imagem.]

      
avatar
Membro Elite

Titulo :
Registro : 10/01/2014
Mensagens : 4676
Reputação : 665

Ver perfil do usuário

Re: Como remover o bug da BrainCMS 2017!

em Ter 13 Jun 2017 - 11:41
Reputação da mensagem: 100% (1 votos)
Ótimo tutorial!
Será muito útil.
avatar
Membro

Titulo :  
Registro : 25/05/2017
Mensagens : 55
Reputação : 4

Ver perfil do usuário

Re: Como remover o bug da BrainCMS 2017!

em Ter 13 Jun 2017 - 12:15
Reputação da mensagem: 100% (1 votos)
Cara, na hora de por este código
Código:
$_GET = Sanitize::filter($_GET);[size=12][/size]
$_POST = Sanitize::filter($_POST);
é pra por nos 2 resultados ou 1 em cada ?
avatar
Membro

Titulo :  
Registro : 30/05/2017
Mensagens : 32
Reputação : 1

Ver perfil do usuário

Re: Como remover o bug da BrainCMS 2017!

em Ter 13 Jun 2017 - 12:43
Reputação da mensagem: 100% (1 votos)
Um injector dando ideias de como impedir uma ataque sql injecton...

AIAIAIAIAIIAI
avatar
Membro

Titulo :  
Registro : 30/12/2013
Mensagens : 28
Reputação : 3

Ver perfil do usuáriohttps://www.youtube.com/ijockeroficiall

Re: Como remover o bug da BrainCMS 2017!

em Ter 13 Jun 2017 - 20:42
[Você precisa estar registrado e conectado para ver este link.] escreveu:Cara, na hora de por este código
Código:
$_GET = Sanitize::filter($_GET);[size=12][/size]
$_POST = Sanitize::filter($_POST);
é pra por nos 2 resultados ou 1 em cada ?
Os dois, pois precisa na parte de editar a noticia, e na criação da noticia.
avatar
Membro Bronze

Titulo :  
Registro : 31/05/2013
Mensagens : 226
Reputação : 4

Ver perfil do usuáriohttp://www.curtirhost.com.br

Re: Como remover o bug da BrainCMS 2017!

em Qui 15 Jun 2017 - 20:13
Reputação da mensagem: 100% (1 votos)
muito bom, obrigado!
avatar
Membro

Titulo :  
Registro : 02/05/2016
Mensagens : 16
Reputação : 2

Ver perfil do usuário

Re: Como remover o bug da BrainCMS 2017!

em Sex 23 Jun 2017 - 22:40
Reputação da mensagem: 100% (1 votos)
Boa irmão! Mas esqueceu de explicar pra tirar a falha na newscomment da brain cms que no caso é nos comentários, mas pra quem quiser aí está o processo:
Vá em system\app\plugins e abre o arquivo newscomment e coloque o código disponibilizado pelo [Você precisa estar registrado e conectado para ver este link.] em cima da global..

OBS: Lembrando que a brain é em PDO que é instruções preparadas e consultas parametrizadas, estas são instruções SQL que são enviadas e analisadas pelo servidor de banco de dados separadamente de quaisquer parâmetros. Desta forma, é impossível para um invasor injetar SQL malicioso de 1º ordem.... Mas ainda é possível fazer injeção via ataques de 2º ordem
avatar
Membro

Titulo :  
Registro : 28/04/2016
Mensagens : 157
Reputação : 6

Ver perfil do usuáriohttp://pixelsdourado.com.br

Re: Como remover o bug da BrainCMS 2017!

em Dom 25 Jun 2017 - 3:23
Ótimo tutorial para alguns que estavam precisando, obrigado por compartilhar! :D
avatar
Membro Bronze

Titulo :  
Registro : 18/03/2017
Mensagens : 399
Reputação : 9

Ver perfil do usuário

Re: Como remover o bug da BrainCMS 2017!

em Sab 1 Jul 2017 - 11:17
Obrigado por postar, seu tutorial ta bem explicado, irei tentar aqui no meu também!
avatar
Membro

Titulo :  
Registro : 19/06/2017
Mensagens : 179
Reputação : 10

Ver perfil do usuário

Re: Como remover o bug da BrainCMS 2017!

em Sab 1 Jul 2017 - 11:41
Já sabia, mais brigado por partilhar
Conteúdo patrocinado

Re: Como remover o bug da BrainCMS 2017!

Voltar ao Topo
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum