Resultados 1 a 9 de 9
  1. #1
    Membro ValterHernandes's Avatar
    Data de Ingresso
    Apr 2017
    Posts
    34
    Thanks Thanks Given 
    3
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    1 Post(s)
    MEU HUMOR
    Bashful
    País
    Brazil

    Deixando sua Web+segura // MuSite // Effectweb // Shop v3

    - Olá pessoal pouco tempo atras eu mexendo no meu servidor reparei em uma coisa que MuSite // EffectWeb Gerar login e senha em uma determinada pasta sendo assim pessoas com más intenções,prejudicando seu servidor essa falha esta localizada na área de logs , Então aconselho sempre estar limpando os logs dentro dessa pasta o caminho para a pasta são os seguintes



    Effect Web : modules/Logs/CTM_MSSQL.htm

    MuSite : /logs/injects.txt


    Esses dois diretórios podem as vezes exibir senhas de administradores e mesmo de usuários segui as imagem a baixo




    Imagem EffectWeb

    [Somente membros podem ver os links. ]

    MuSite

    [Somente membros podem ver os links. ]



    BEM AVISO ESTA DADO , POSTEI ISSO POR QUE MUITOS ADMINISTRADORES DE MU ESTÃO SENDO VITIMAS DESSE DETALHE E ESTÃO PENSANDO QUE O TAL FULANDO ESTA EDITANDO POR SQL INJECTON ETC .





    Solução MuSite




    Vai até a pasta modules do seu site em [Somente membros podem ver os links. ] procure pela seguinte linha de comando pelo Ctrl+F desative o sistema de logs


    Código PHP:
    /*
        @Configurações Painel do Usuário.
        @Modulo: Gravação de logs das ações executadas no painel do usuário.
    */
    $PANELUSER_MODULE['LOG']['Active'] = true//Ativa os logs do painel.                    
    $PANELUSER_MODULE['LOG']['DirLog'] = "logs/paneluser"//Pasta para gravação dos logs, a pasta deve ficar na raiz do site 
    (OBSColoque uma pasta que ninguem saiba e essa pasta deve conter permissão de escrita.).                  


    /*
        @Configurações Painel do Game Master / Administrador.
        @Modulo: Gravação de logs das ações executadas no painel.
    */
    $PANELADMIN_MODULE['LOG']['Active'] = true//Ativa os logs do painel.                    
    $PANELADMIN_MODULE['LOG']['DirLog'] = "logs/paneladmin"//Pasta para gravação dos logs, a pasta deve ficar na raiz do site 
    (OBSColoque uma pasta que ninguem saiba e essa pasta deve conter permissão de escrita.). 


    Solução : EffectWeb




    Código PHP:
    define("MSSQL_Security_Log"FALSE); // -- Salvar Logs de Erros na tarefas do MSSQL (Padrão -> true) 

    Solução Secundaria


    Em sua hospedagem,procura pelos seguintes caminho , achando eles de um chmod nos arquivos contendo os arquivos citados a baixo

    MuSite : seusite/logs/injects.txt
    Effectweb : seusite/
    modules/Logs/CTM_MSSQL.htm
    Shop v3 : seushop/logs/injects.txt




    Explicando as permissões mais comuns:


    P ermissão Usuário Grupo Mundo
    644 L / G L L
    755 L / G /E L / E L / E
    777 L / G /E L / G /E L / G /E


    Siglas: L = Leitura , G = Gravação e E =Execução



    IMPLEMENTAÇÃO

    A maioria das invasões feitas através de sites são injects, recomendo que você faça os passos abaixo.
    1º Desativar o servidor ftp
    2º A maioria dos inject são feitos através dos upload de imagens, recomendo que desative o upload de imagem.

    3º Caso você for usar Effect Web (que na minha opinião é a melhor web pra mu.) recomendo que você corrija um erro da ranking class, existe uma falha de sqli, xssl isso é grave, com um exploit é possível executar as query no site.
    Link correção:

    [Somente membros podem ver os links. ]

    4º Recomendo pesquisar no google uma proteção contra inject, parecida com essa que eu uso http://imgur.com/vA2MWyf.jpg


    Proteção contra Brute Force para Effect-Web


    Não garanto que a Effect-Web tem essa falha, mas é melhorar prevenir do que remediar. Não é atoa que até o MuSite tem esse fix.
    Por isso quem utiliza Effect-Web, sugiro que aplique o fix.

    Se não sabe o que é Brute Force, confira aqui: [Somente membros podem ver os links. ]

    O que o fix vai fazer é bem simples, ele vai bloquear por 5 minutos o login que um determinado usuário errar a senha por 3 vezes em menos de 5 minutos.

    [Somente membros podem ver os links. ]


    Para aplicar o fix, faça os procedimentos abaixo

    Nota
    1° Rode em seu SQL, para criar a tabela onde ficará armazenada as tentativas incorretas de login.




    Código:
    GO
    /****** Object:  Table [dbo].[BRUTE_FORCE]    Script Date: 10/13/2015 16:38:44 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[BRUTE_FORCE](
        [login] [nvarchar](10) COLLATE Latin1_General_CI_AS NULL,
        [tentativas] [int] NOT NULL CONSTRAINT [DF_BRUTE_FORCE_tentativas]  DEFAULT ((0)),
        [block] [int] NOT NULL CONSTRAINT [DF_BRUTE_FORCE_block]  DEFAULT ((0))
    ) ON [PRIMARY]
    2° Rode em seu SQL, para criar a job que irá determinar o tempo de bloqueio.

    Código:
    USE [msdb]
    GO
    /****** Object:  Job [Proteção contra Brute  - EffectWeb]    Script Date: 10/13/2015 16:46:09 ******/
    BEGIN TRANSACTION
    DECLARE @ReturnCode INT
    SELECT @ReturnCode = 0
    /****** Object:  JobCategory [[Uncategorized (Local)]]]    Script Date: 10/13/2015 16:46:09 ******/
    IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
    BEGIN
    EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    
    END
    
    DECLARE @jobId BINARY(16)
    EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'Proteção contra Brute  - EffectWeb', 
    		@enabled=1, 
    		@notify_level_eventlog=0, 
    		@notify_level_email=0, 
    		@notify_level_netsend=0, 
    		@notify_level_page=0, 
    		@delete_level=0, 
    		@description=N'No description available.', 
    		@category_name=N'[Uncategorized (Local)]', 
    	 @[Somente membros podem ver os links. ]_login_name=N'sa', @job_id = @jobId OUTPUT
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [1]    Script Date: 10/13/2015 16:46:09 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'1', 
    		@step_id=1, 
    		@cmdexec_success_code=0, 
    		@on_success_action=1, 
    		@on_success_step_id=0, 
    		@on_fail_action=2, 
    		@on_fail_step_id=0, 
    		@retry_attempts=0, 
    		@retry_interval=0, 
    		@os_run_priority=0, @subsystem=N'TSQL', 
    		@command=N'delete from brute_force where tentativas > 2', 
    		@database_name=N'MuOnline', 
    		@flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'2', 
    		@enabled=1, 
    		@freq_type=4, 
    		@freq_interval=1, 
    		@freq_subday_type=4, 
    		@freq_subday_interval=5, 
    		@freq_relative_interval=0, 
    		@freq_recurrence_factor=0, 
    		@active_start_date=20151013, 
    		@active_end_date=99991231, 
    		@active_start_time=0, 
    		@active_end_time=235959
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    COMMIT TRANSACTION
    GOTO EndSave
    QuitWithRollback:
    	IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    Crie um arquivo php com nome CTM_Ajax.class.php e copie o codigo dentro do arquivo logo em seguida copie o arquivos para pasta /modules/classes/

    Código PHP:
    <?php 
    //**********************************************// 
    // -> Effect Web                                // 
    // -> Powered By: Erick-Master                  // 
    // -> CTM TeaM Softwares                        // 
    // -> www.ctmts.com.br                          // 
    //**********************************************// 
    $Page_Request strtolower(basename($_SERVER['REQUEST_URI'])); 
    $Page_File strtolower(basename(__FILE__)); 
    if (
    $Page_Request == $Page_File

        exit(
    "<span style=\"border:1px dashed #c00; color:#c00; padding:6px; background-color:#ffebe8;\"><strong>CTM-Error: N&atilde;o &eacute; permitido acessar o arquivo diretamente.</strong></span>"); 

    if(
    IN_EFFECTWEB != "47e5098c88cc5f67543414ff1af32efc"
        exit(
    "<!-- CTM.Error(x); -->"); 
    if(!
    class_exists("CTM_Ajax")) : 
    class 
    CTM_Ajax extends CTM_MSSQL 

        public function 
    Set_Panel() 
        { 
            global 
    $CTM_General
             
            if(
    $CTM_General->Check_Logged(false) == FALSE
            { 
                
    $this->Login_Command(); 
                
    $this->Login_Form(false); 
            } 
            else 
            { 
                
    $this->Panel($_SESSION["Hash_Account"]); 
            } 
        } 
        private function 
    Login_Form($Message
        { 
            global 
    $CTM_Template
             
            
    $CTM_Template->Set("Account"$_POST["Log_Account"]); 
            
    $CTM_Template->Set("Password"$_POST["Log_Password"]); 
            
    $CTM_Template->Set("Message"$Message); 
             
            
    $CTM_Template->Load("templates/".$CTM_Template->Open()."/pages/panel[LOGIN].ajax.php"); 
        } 
        private function 
    Panel($Account
        { 
            global 
    $CTM_General$CTM_Template$CTM$_PmSystem
             
            if(isset(
    $_SESSION["Hash_Account"]) == FALSE && isset($_SESSION["Hash_Password"]) == FALSE
            { 
                echo(
    "<script>CTM_Load('?ajax=panel','Panel','GET');</script> 
                <script>CTM_Load('?pag=home','conteudo','GET');</script>"
    ); 
            } 
            else 
            { 
                
    $Query $this->Query("SELECT * FROM ".MuAcc_DB.".dbo.MEMB_INFO WHERE memb___id='{$Account}'"); 
                
    $Staff $this->FetchQuery("SELECT type FROM {$CTM[0]} WHERE account='{$Account}'"); 
                
    $Type_Acc $this->FetchQuery("SELECT ".VIP_Column." FROM ".VIP_DB.".dbo.".VIP_Table." WHERE ".VIP_Login."='{$Account}'"); 
                
    $Golds $this->FetchQuery("SELECT ".GL_Column_1.",".GL_Column_2.",".GL_Column_3." FROM ".GL_DB.".dbo.".GL_Table." WHERE ".GL_Login."='{$Account}'"); 
                
    $Load_Acc $this->FetchArray($Query); 
                
    $VIP_Type $CTM_General->Memb_Type($Type_Acc[0]); 
                 
                
    /************************************* 
                    @ Private Message System 
                    @ Notifications 
                    @ By: Erick-Master 
                **************************************/ 
                /*if($_PmSystem["Enable"] == TRUE) 
                { 
                    if($_PmSystem["Mode"] == 0) 
                    { 
                        $Query_Chars = $this->Query("SELECT Name FROM ".MuGen_DB.".dbo.Character WHERE AccountID='".$_SESSION["Hash_Account"]."'"); 
                        while($PM_Chars = $this->Fetch($Query_Chars)) 
                        { 
                            $Check_PM = $this->NumQuery("SELECT * FROM ".MuGen_DB.".dbo.".$_PmSystem["Main"]." WHERE Name='{$PM_Chars[0]}'"); 
                            if($Check_PM > 0) 
                            { 
                                $GUID = $this->FetchQuery("SELECT GUID FROM ".MuGen_DB.".dbo.".$_PmSystem["Main"]." WHERE Name='{$PM_Chars[0]}'"); 
                                $Count_PM = $this->FetchQuery("SELECT count(*) FROM ".MuGen_DB.".dbo.".$_PmSystem["Table"]." WHERE GUID={$GUID[0]} and bRead=0"); 
                            } 
                        } 
                    } 
                }*/ 
                 
                /*if($_PmSystem["Enable"] == TRUE) 
                { 
                    if($_PmSystem["Mode"] == 0) 
                    { 
                        if($Count_PM[0] > 0) 
                        { 
                            $PM_Panel = "<li><a href=\"javascript: void(EffectWeb);\" onclick=\"CTM_Load('?pag=paneluser&option=PM_ENTER','conteudo','GET');\"><b>&raquo; Notifica&ccedil;&otilde;es <span class=\"colr\">(".$Count_PM[0].")</span></b></a></li>";
                        } 
                        else 
                        { 
                            $PM_Panel = "<li><a href=\"javascript: void(EffectWeb);\" onclick=\"CTM_Load('?pag=paneluser&option=PM_ENTER','conteudo','GET');\">&raquo; Notifica&ccedil;&otilde;es (0)</a></li>"; 
                        } 
                    } 
                }*/ 
                
    $CTM_Template->Set("Memb_Name"$Load_Acc["memb_name"]); 
                
    $CTM_Template->Set("Memb_Type"$VIP_Type); 
                
    $CTM_Template->Set("Memb_Amount[1]"$Golds[0]); 
                
    $CTM_Template->Set("Memb_Amount[2]"$Golds[1]); 
                
    $CTM_Template->Set("Memb_Amount[3]"$Golds[2]); 
                
    $CTM_Template->Set("PanelAdmin_Link"$Staff[0] > "<li><a href=\"javascript: void(EffectWeb);\" onclick=\"CTM_Load('?pag=paneladmin','conteudo','GET');\">&raquo; Painel Administrativo</a></li>" NULL); 
                
    //$CTM_Template->Set("PM_System#Notifications", $PM_Panel == TRUE ? $PM_Panel : NULL); 
                 
                
    $CTM_Template->Load("templates/".$CTM_Template->Open()."/pages/panel[LOGGED].ajax.php"); 
                         
            } 
        } 
        private function 
    Login_Command() 
        { 
            global 
    $CTM_Crypt
             
            if(
    $_GET["cmd"] == "login"
            { 
                
    $Account $_POST["Log_Account"]; 
                
    $Password $_POST["Log_Password"]; 
                
    $Check $this->FetchQuery("exec dbo.CTM_CheckLogin '".$Account."','".$Password."',".USE_MD5.""); 
                
    $Find $this->FetchQuery("SELECT bloc_code,mail_chek FROM ".MuAcc_DB.".dbo.MEMB_INFO WHERE memb___id='{$Account}'"); 
                
    $Findd $this->FetchQuery("SELECT login,block FROM ".MuAcc_DB.".dbo.brute_force WHERE login='{$Account}'"); 

                if(empty(
    $Account)) 
                { 
                    
    $this->Login_Form("<div class=\"min-warning\">Digite seu Login</div>"); 
                } 
                elseif(empty(
    $Password)) 
                { 
                    
    $this->Login_Form("<div class=\"min-warning\">Digite sua Senha</div>"); 
                } 
                elseif(
    $Findd[1] == 1
                { 
                    
    $this->Login_Form('<div class=\"min-error\">Login bloqueado por 5 minutos devido a 3 tentativas incorretas!</div>'); 
                } 
                elseif(
    $Check[0] !== 1
                { 
                    
    $this->Login_Form('<div class=\"min-error\">Login ou senha incorretos!</div>'); 
    if (
    $Findd[0] != $Account

    $this->Query("insert into MuOnline.dbo.brute_force (login,tentativas) values ('{$Account}',1)"); 

    else 

    $this->Query("update MuOnline.dbo.brute_force set tentativas=tentativas+1 where login='{$Account}'"); 
    $this->Query("update MuOnline.dbo.brute_force set block=1 where tentativas > 2 and login='{$Account}'"); 


                } 
                elseif(
    $Find[0] == 1
                { 
                    
    $this->Login_Form("<div class=\"min-error\">Sua conta est&aacute; Bloqueada</div>"); 
                } 
                elseif(
    $Find[1] == 0
                { 
                    
    $this->Login_Form("<div class=\"min-error\">Sua conta n&atilde;o esta confirmada.</div>"); 
                } 
                else 
                { 
                    
    $_SESSION["Hash_Account"] = utf8_encode($Account); 
                    
    $_SESSION["Hash_Password"] = $CTM_Crypt->Pwd($Password); 
                     
                    
    $this->Login_Form("<script>setTimeout(\"count()\", 1000);</script> 
                    <div class=\"min-success\">&raquo; Logado com Sucesso.&raquo; Aguarde...</div> 
                    <span id=\"time\" style=\"display: none;\">2</span>"
    ); 
                } 
            } 
        } 
        public function 
    ServerList() 
        { 
            if(
    constant("Server_List") == TRUE
            { 
                global 
    $_ServerList
                
    $CTM_ConnectServer = new CTM_ConnectServer(true); 
                 
                for(
    $GS 0$GS count($_ServerList); $GS++) 
                { 
                    
    $Count ceil($CTM_ConnectServer->ServerCount(true$_ServerList[$GS][1]) * 100 $_ServerList[$GS][2]); 
                    echo(
    "<li>&raquo; ".$_ServerList[$GS][0]." : <a href=\"javascript: void(EffectWeb);\" onclick=\"CTM_Load('?pag=online&gs=".urlencode($_ServerList[$GS][1])."','conteudo','GET');\"><strong id=\"".$_ServerList[$GS][1]."_ID\">".$Count."%</strong></a> 
                    <div class=\"OnlineCount\" id=\"ServerID"
    .$_ServerList[$GS][1]."\"> 
                     <div class=\"ServerCount\" style=\"width: "
    .$Count."%\"></div> 
                    </div></li>"
    ); 
                } 
                echo(
    "<li>Total: <strong id=\"TotalServers\"><a href=\"javascript: void(EffectWeb);\" onclick=\"CTM_Load('?pag=online','conteudo','GET');\">".$CTM_ConnectServer->ServerCount(falsefalse)."</a></strong> <a href=\"javascript: void(EffectWeb);\" onClick=\"CTM_Load('?ajax=check&cmd=servers', 'ServerRefresh', 'GET');\"><img src=\"images/icons/refresh.png\" width=\"10\" height=\"10\" border=\"0\"></a></li>"); 
            } 
            else 
            { 
                
    $CTM_ConnectServer = new CTM_ConnectServer(false); 
                echo(
    "<li>Total: <strong id=\"TotalServers\"><a href=\"javascript: void(EffectWeb);\" onclick=\"CTM_Load('?pag=online','conteudo','GET')\">".$CTM_ConnectServer->ServerCount(falsefalse)."</a></strong> <a href=\"javascript: void(EffectWeb);\" onClick=\"CTM_Load('?ajax=check&cmd=servers', 'ServerRefresh', 'GET');\"><img src=\"images/icons/refresh.png\" width=\"10\" height=\"10\" border=\"0\"></a></li>"); 
            } 
        } 
        public function 
    StaffList($Code
        { 
            
    $Query $this->Query("SELECT Name,AccountID FROM ".MuGen_DB.".dbo.Character WHERE CtlCode={$Code} ORDER BY Name"); 
            
    $Check $this->NumRow($Query); 
             
            if(
    $Check 1
            { 
                exit(
    "<div class=\"min-info\">Nenhum ADM/GM Cadastrados</div>"); 
            } 
            for(
    $WzAG 0$WzAG $this->NumRow($Query); $WzAG++) 
            { 
                
    $Member $this->Fetch($Query); 
                
    $Status $this->FetchQuery("SELECT ConnectStat FROM ".MuGen_DB.".dbo.MEMB_STAT WHERE memb___id='{$Member[1]}'"); 
                switch(
    $Status[0]) 
                { 
                    case 
    $Stat "<span style=\"color: red;\">Offline</span>"; break; 
                    case 
    $Stat "<span style=\"color: green;\">Online</span>"; break; 
                } 
                echo(
    "<li>&raquo; {$Member[0]} - {$Stat}</li>"); 
            } 
        } 
        public function 
    RefreshServers() 
        { 
            global 
    $_ServerList
            
    $CTM_ConnectServer = new CTM_ConnectServer(true); 
                 
            echo 
    "<script>document.getElementById('TotalServers').innerHTML = '<a href=\"javascript: void(EffectWeb);\" onclick=\"CTM_Load(\'?pag=online\',\'conteudo\',\'GET\');\">".$CTM_ConnectServer->ServerCount(falsefalse)."</a>';</script>"
            for(
    $GS 0$GS count($_ServerList); $GS++) 
            { 
                
    $Count ceil($CTM_ConnectServer->ServerCount(true$_ServerList[$GS][1]) * 100 $_ServerList[$GS][2]); 
                echo 
    "<script>document.getElementById('".$_ServerList[$GS][1]."_ID').innerHTML = '{$Count}%'; 
    document.getElementById('ServerID"
    .$_ServerList[$GS][1]."').innerHTML = '<div class=\"ServerCount\" style=\"width: {$Count}%\"></div>';</script>"
            } 
            exit(); 
        } 

    endif; 
    ?>
    Créditos Tutorial : Script
    Implementação : Rick Barbosa
    Implementação : Guilherme Souza


    Duvidas ou mais dicas para implementação ou algum Ant Sql Inject manda via MP que irei implementando ao post !
    Last edited by ValterHernandes; 26/08/2017 at 12:46 PM.

  2. #2
    Membro Rick Barbosa's Avatar
    Data de Ingresso
    Apr 2017
    Posts
    152
    Thanks Thanks Given 
    18
    Thanks Thanks Received 
    16
    Thanked in
    13 Posts
    Mencionado
    4 Post(s)
    País
    Canada
    Show, muitas coisas ai eu aprendi contigo.



  3. #3
    Membro Marco_Aurélio's Avatar
    Data de Ingresso
    Sep 2014
    Posts
    344
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Mencionado
    44 Post(s)
    Me falaram esses dias que existe uma falha no musite bem grave no meu ponto de vista, que faz com que consigam acesso ao arquivo Settings.ini, teria alguma solução para este problema?

  4. #4
    Developer C++ s00x's Avatar

    Data de Ingresso
    Jan 2015
    Posts
    373
    Thanks Thanks Given 
    75
    Thanks Thanks Received 
    146
    Thanked in
    24 Posts
    Mencionado
    63 Post(s)
    MEU HUMOR
    Cheerful
    País
    United States
    Citação Originally Posted by Marco_Aurélio Ver Post
    Me falaram esses dias que existe uma falha no musite bem grave no meu ponto de vista, que faz com que consigam acesso ao arquivo Settings.ini, teria alguma solução para este problema?
    Explore a falha, e concretize se é verdade, porque não estou sabendo disso não, claro que as permissões no arquivo inibe muita coisa, mas essa do acesso ao Settings, eu desconheço.
    Recomendo simular ela, e postar o resultado para todos ficarmos cientes.
    É melhor estar enganado, do que ser enganado.

  5. #5
    Membro ValterHernandes's Avatar
    Data de Ingresso
    Apr 2017
    Posts
    34
    Thanks Thanks Given 
    3
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    1 Post(s)
    MEU HUMOR
    Bashful
    País
    Brazil
    Citação Originally Posted by Marco_Aurélio Ver Post
    Me falaram esses dias que existe uma falha no musite bem grave no meu ponto de vista, que faz com que consigam acesso ao arquivo Settings.ini, teria alguma solução para este problema?
    Colega , como o [Somente membros podem ver os links. ]disse não estou sabendo dessa falha não procure saber mais sobre isso por que tentei de todas formas que eu conheço acessar diretamente o arquivo Settings pelo navegador e não tive sucesso em nem uma das tentativa !

  6. #6
    Super Moderador cri0's Avatar



    Data de Ingresso
    May 2017
    Posts
    773
    Thanks Thanks Given 
    46
    Thanks Thanks Received 
    1,011
    Thanked in
    181 Posts
    Mencionado
    85 Post(s)
    MEU HUMOR
    Dead
    País
    Brazil
    4º Recomendo pesquisar no google uma proteção contra inject, parecida com essa que eu uso http://imgur.com/vA2MWyf.jpg
    Tutorial sobre, poderia acrescentar ?


  7. #7
    Membro SeeKeerS's Avatar
    Data de Ingresso
    Apr 2015
    Posts
    9
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    1 Post(s)
    nunca ouvi falar sobre essa falha no musite de acessar diretamente o modules/settings.php e não modules/settings.ini

  8. #8
    Membro ValterHernandes's Avatar
    Data de Ingresso
    Apr 2017
    Posts
    34
    Thanks Thanks Given 
    3
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    1 Post(s)
    MEU HUMOR
    Bashful
    País
    Brazil
    Citação Originally Posted by cri0 Ver Post
    Tutorial sobre, poderia acrescentar ?

    Isso já é parte do @[Somente membros podem ver os links. ]
    mais quando eu tiver um tempinho faço um tutorial acrescentando isso

    8 Dias 21 Horas:------- Atualizado -------

    Post . update implementação de proteção contra BruteForce ( Simples ) Créditos : Guilherme
    Last edited by ValterHernandes; 26/08/2017 at 12:27 PM.

  9. #9
    3D MAKER Tenente-BK's Avatar

    Data de Ingresso
    Feb 2016
    Posts
    76
    Thanks Thanks Given 
    8
    Thanks Thanks Received 
    78
    Thanked in
    27 Posts
    Mencionado
    6 Post(s)
    MEU HUMOR
    Breezy
    País
    Brazil
    Sobre o erro da musite que ele fala é uma forma de PESCAR ela! Ou seja puxar ela pra fora do site assim pegando os dados dela!

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais