Ir para conteúdo
  • Cadastre-se

[Tutorial] Protegendo seu Gesior e XAMPP!


Posts Recomendados

  • Administrador

Galerinha todo mundo sabe que o Gesior é uma bosta no quesito segurança e o XAMPP também tem suas falhas, porém muitos ainda utilizam o Gesior e o XAMP por diversos motivos, até mesmo por afinidade. Hoje eu vim aqui dar algumas dicas valiosas para que você possa tornar seu querido Gesior e seu XAMPP um pouco mais seguro.
 
1 - Se você utiliza XAMPP, siga os passos abaixo para tornar-lo mais seguro:

  • Crie um senha relativamente boa e segura para o seu xampp/phpMyAdmin.
  • Exclua completamente a pasta webdav.
  • Vá até o seu phpMyAdmin > Privilégios e exclua o usuário pma.

Vá até a pasta phpMyadmin/config.inc.php e procure pela seguinte tag:

$cfg['blowfish_secret'] = 'xampp';

E mude a palava xampp por algo completamente sem sentido, exemplo:

$cfg['blowfish_secret'] = 'hsdewu1721has1au';

Ainda em config.inc.php e procure pela seguinte tag:

$cfg['Servers'][$i]['auth_type'] = 'config';

E mude-a para:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

Agora vá até php/php.ini e procure pela seguinte tag:

Safe_mode = Off

Ative-o, deixando assim:

Safe_mode = On

Prontinho, seu XAMPP está bem mais seguro!
 
2 - Bom agora vamos ao Gesior, vá até o arquivo config/config.php e faça as edições nas seguintes tags:

$config['site']['access_news'] = 6; // access level needed to edit news
$config['site']['access_tickers'] = 6; // access level needed to edit tickers
$config['site']['access_admin_panel'] = 6; // access level needed to open admin panel

Mude todas para 6 para não termos problemas com invasões ao sistema de tickers, porém lembre de por page_acess 6 na sua account pelo phpMyAdmin para você administrar seu site.
 
3 - Vá até layouts/sua-skin/layout.php e procure a tag <body e substitua por essa:

<body onBeforeUnLoad="SaveMenu();" onUnload="SaveMenu();" oncontextmenu="return false" onselectstart="return false" ondragstart="return false">

Agora, logo abaixo da tag <body>, você adicionará o seguinte código:

<?php
{
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
return $sql;
}
 
function protect($str)
{
if( !is_array($str) ) {
$str = preg_replace("/(from|select|insert|delete|where|drop table|show tables)/i","",$str);
$str = preg_replace('~&amp;#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))',$str);
$str = preg_replace('~&amp;#([0-9]+);~e', 'chr("\\1")',$str);
$str = str_replace("<script","",$str);
$str = str_replace("script>","",$str);
$str = str_replace("<Script","",$str);
$str = str_replace("Script>","",$str);
$str = trim($str);
$tbl = get_html_translation_table(HTML_ENTITIES);
$tbl = array_flip($tbl);
$str = addslashes($str);
$str = strip_tags($str);
return strtr($str,$tbl);
}
else return $str;
}
 
$nome = anti_injection($_POST["nome"]);
$senha = anti_injection($_POST["senha"]);
 
$link = htmlspecialchars($_POST['link'], ENT_QUOTES);
echo $link; 
 
header("Content-Type: text/html;  charset=ISO-8859-1",true)?>

Ainda em layout.php logo abaixo da tag <head>, você adicionará o seguinte código:

<script type="text/javascript">
function click() {
if (event.button==2||event.button==3) {
oncontextmenu='return false';
}
}
document.onmousedown=click
document.oncontextmenu = new Function("return false;")
</script>

Esses códigos te ajudarão a se previr contra SQL Injection, mas eu afirmo logo que isso não é 100% seguro.
 
4 - Vá até o arquivo guilds.php e localize a seguinte tag:

$guild_logo = $guild->getCustomField('logo_gfx_name'); if(empty($guild_logo) || !file_exists("guilds/".$guild_logo)) $guild_logo = "default_logo.gif"; 

Agora substitua por isso:

foreach (array("/", "\\", "..") as $char) {
    $guild_logo = str_replace($char, "", $guild->getCustomField('logo_gfx_name'));
}
if (empty($guild_logo) || !file_exists("guilds/".$guild_logo)) {
    $guild_logo = "default_logo.gif";
}  

Pronto, seu guilds.php está seguro agora.
 
5 - Exclua completamente o arquivo houses.php, ele é um arquivo muito inutilizado e ainda muito vulnerável, pessoas maliciosas podem conseguir ver sua config.lua através dele, portanto apenas exclua.
 
Pronto, por enquanto é só, se você tiver mais dicas para deixar o Gesior e o XAMPP mais seguro, poste nesse tópico que você com certeza estará ajudando muitas pessoas necessitadas! ;)
 
Créditos:

dm3o5y8.png

 
Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!?
Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também! :P
 

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites

Muito, bom cara agora podemos ter um pouco mais de privacidade sem invasões rsrs'

ta3.gif

Melhor, comunidade de Tibia, e OTServ Parabéns TibiaKing por você existir.

Link para o post
Compartilhar em outros sites

Bom Tutorial Chaamps! (:

DEDICADO BRASIL

Professional Internet Datacenter

banner_divulgativo_468x60.gif

 

Tudo oque você precisa para ter certeza de que não há nada que vai estragar teus planos em seu projeto Gamer/Engine, nós somos uma empresa qualificada em Segurança em servidores, obtemos técnicos especializados, que possam lhe alertar sobre qualquer falha que você esteja sofrendo.

 

- Visite o site

Link para o post
Compartilhar em outros sites

Bom, só espero que funcione ^^
Rep+

Erro fatal : não é possível redeclare anti_injection () (anteriormente declarados em C: \ xampp \ htdocs \ layouts \ tibiacom \ layout.php

Fiz alguma merda
kkkkkkkkkkk

 

 

 

Ata deixa pra la, o meu já tem o anti_injection kkkkkkkkkkkkkkkkkkkkkk

mals ai ^^

Editado por 157kolosso (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 4 weeks later...

 Matheus ...peguei uns dois tutoriais seu graças a vc consegui colocar meu site online mais precisava de mais uma ajuda especializada tipo um cara que entende mesmo, eu até mandei um convite no skype não sei bem se é o seu tipo eu to apanhando pra caramba a que  sabe eu sou barriga verde na areá se tive algum meio de nos comunicarmos melhor eu te taria passando mais detalhes  se você poder dar essa força ai e se poder ja estou muito feliz de ter conseguido oque consegui até agora se fosse possivel fazer uma conexão via "teamviewer" pra vc dar uma ajeitada a qui..... ja agradeço  "cara essa letra vermelha veio na atualização do tk?? não consegui escrever de outra cor não desculpa ai qualquer coisa"

Link para o post
Compartilhar em outros sites
  • 1 month later...

Está dando um erro quando coloco a parte de sql injection, a minha página fica totalmente preta, sabes me dizer o que é e como resolver? Obrigado!

Link para o post
Compartilhar em outros sites
  • 3 months later...
  • 1 month later...

Pagina completamente preta com erro no fundo bem escondida

Erro: 

deprecated: Function sql_regvase() is deprecated in C:xampp\htdocs\tibiacom\layout.php on line 39

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
  • 1 month later...

matheus, quando eu adiciono o seguinte código:

 

 

<?php
{
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
return $sql;
}
 
function protect($str)
{
if( !is_array($str) ) {
$str = preg_replace("/(from|select|insert|delete|where|drop table|show tables)/i","",$str);
$str = preg_replace('~&amp;#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))',$str);
$str = preg_replace('~&amp;#([0-9]+);~e', 'chr("\\1")',$str);
$str = str_replace("<script","",$str);
$str = str_replace("script>","",$str);
$str = str_replace("<Script","",$str);
$str = str_replace("Script>","",$str);
$str = trim($str);
$tbl = get_html_translation_table(HTML_ENTITIES);
$tbl = array_flip($tbl);
$str = addslashes($str);
$str = strip_tags($str);
return strtr($str,$tbl);
}
else return $str;
}
 
$nome
= anti_injection($_POST["nome"]);
$senha = anti_injection($_POST["senha"]);
 
$link
= htmlspecialchars($_POST['link'], ENT_QUOTES);
echo $link; 
 
header
("Content-Type: text/html;  charset=ISO-8859-1",true)?>

 

o meu gesior fica inteiro azul, na bgcolor... pode me ajudar a resolver?

Link para o post
Compartilhar em outros sites
  • 5 weeks later...

dominicky, uma das possibilidades deste erro estar ocorrendo é porque ele já deve ter sido adicionado no index.php ou no layout.php,

e você pode estar "duplicando" ele...

Editado por Switz (veja o histórico de edições)

graphic.png

Link para o post
Compartilhar em outros sites
  • 2 months later...

bem útil essa parte do xampp coisas que desconhecia sobre a segurança dele :P

Link para o post
Compartilhar em outros sites
  • 2 months later...
  • 5 months later...
  • 6 months later...

Fiz tudo certinho e não gerou nenhum bug... VLW!

Maiiis como e onde vou para editar o " Page_acess 6" pra eu poder fazer login com o admin ? Eu sei que é no phpmyadmin mais explica o local detalhadamente rsrs esqueci onde é

Editado por Jose Peterson (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 4 months later...

Meu banco de dados do meu otserv sumiu.

Está funcionando a criação de char no site normal, e os players consegue logar.

Acredito que nao tenha sido deletada, porém acho que esta oculta...

E verifiquei que estou sem privilégios..

 

Expand/Collapse
Database operations

information_schema

 

So tem isso no meu phpadmin help plx

Link para o post
Compartilhar em outros sites
  • 4 months later...

Depois que fiz esse procedimento de apagar o usuario pma deu este erro na minha database phpmyadmin

consulta SQL: 

SELECT `comment` 
FROM `phpmyadmin`.`pma_column_info` 
WHERE db_name = 'xxxxx'
AND table_name = ''
AND column_name = '(db_comment)'

Mensagens do MySQL : 

#1142 - SELECT command denied to user ''@'localhost' for table 'pma_column_info' 

Tem alguma mandeira de eu criar este pma colum info de volta?

Preciso da ajuda para arrumar isso, obrigado Abraços!

 

 

@Edite

Lá em baixo tem uma mensagem dizendo o seguinte!

Nota: O phpMyAdmin recebe os privilégios dos usuário diretamente da tabela de privilégios do MySQL. O conteúdo destas tabelas pode divergir dos privilégios que o servidor usa se alterações manuais forem feitas nele. Neste caso, você deve usar RELOAD PRIVILEGES antes de continuar..

Editado por Digoshow (veja o histórico de edições)

 

                                                           

55f6tc.gif                     

Link para o post
Compartilhar em outros sites
  • 6 months later...

Quando ligo o safe_mode=On no xampp mais recente acaba crashando o apache

 

Citar

[Tue Mar 07 10:55:05.626725 2017] [ssl:warn] [pid 11944:tid 608] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Tue Mar 07 10:55:05.728054 2017] [core:warn] [pid 11944:tid 608] AH00098: pid file C:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Tue Mar 07 10:55:05.819616 2017] [ssl:warn] [pid 11944:tid 608] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name

 

Link para o post
Compartilhar em outros sites
  • 5 years later...
Em 15/07/2013 em 04:12, Erimyth disse:

Galerinha todo mundo sabe que o Gesior é uma bosta no quesito segurança e o XAMPP também tem suas falhas, porém muitos ainda utilizam o Gesior e o XAMP por diversos motivos, até mesmo por afinidade. Hoje eu vim aqui dar algumas dicas valiosas para que você possa tornar seu querido Gesior e seu XAMPP um pouco mais seguro.
 
1 - Se você utiliza XAMPP, siga os passos abaixo para tornar-lo mais seguro:

  • Crie um senha relativamente boa e segura para o seu xampp/phpMyAdmin.
  • Exclua completamente a pasta webdav.
  • Vá até o seu phpMyAdmin > Privilégios e exclua o usuário pma.

Vá até a pasta phpMyadmin/config.inc.php e procure pela seguinte tag:


$cfg['blowfish_secret'] = 'xampp';

E mude a palava xampp por algo completamente sem sentido, exemplo:


$cfg['blowfish_secret'] = 'hsdewu1721has1au';

Ainda em config.inc.php e procure pela seguinte tag:


$cfg['Servers'][$i]['auth_type'] = 'config';

E mude-a para:


$cfg['Servers'][$i]['auth_type'] = 'cookie';

Agora vá até php/php.ini e procure pela seguinte tag:


Safe_mode = Off

Ative-o, deixando assim:


Safe_mode = On

Prontinho, seu XAMPP está bem mais seguro!
 
2 - Bom agora vamos ao Gesior, vá até o arquivo config/config.php e faça as edições nas seguintes tags:


$config['site']['access_news'] = 6; // access level needed to edit news
$config['site']['access_tickers'] = 6; // access level needed to edit tickers
$config['site']['access_admin_panel'] = 6; // access level needed to open admin panel

Mude todas para 6 para não termos problemas com invasões ao sistema de tickers, porém lembre de por page_acess 6 na sua account pelo phpMyAdmin para você administrar seu site.
 
3 - Vá até layouts/sua-skin/layout.php e procure a tag <body e substitua por essa:


<body onBeforeUnLoad="SaveMenu();" onUnload="SaveMenu();" oncontextmenu="return false" onselectstart="return false" ondragstart="return false">

Agora, logo abaixo da tag <body>, você adicionará o seguinte código:


<?php
{
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
return $sql;
}
 
function protect($str)
{
if( !is_array($str) ) {
$str = preg_replace("/(from|select|insert|delete|where|drop table|show tables)/i","",$str);
$str = preg_replace('~&amp;#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))',$str);
$str = preg_replace('~&amp;#([0-9]+);~e', 'chr("\\1")',$str);
$str = str_replace("<script","",$str);
$str = str_replace("script>","",$str);
$str = str_replace("<Script","",$str);
$str = str_replace("Script>","",$str);
$str = trim($str);
$tbl = get_html_translation_table(HTML_ENTITIES);
$tbl = array_flip($tbl);
$str = addslashes($str);
$str = strip_tags($str);
return strtr($str,$tbl);
}
else return $str;
}
 
$nome = anti_injection($_POST["nome"]);
$senha = anti_injection($_POST["senha"]);
 
$link = htmlspecialchars($_POST['link'], ENT_QUOTES);
echo $link; 
 
header("Content-Type: text/html;  charset=ISO-8859-1",true)?>

Ainda em layout.php logo abaixo da tag <head>, você adicionará o seguinte código:


<script type="text/javascript">
function click() {
if (event.button==2||event.button==3) {
oncontextmenu='return false';
}
}
document.onmousedown=click
document.oncontextmenu = new Function("return false;")
</script>

Esses códigos te ajudarão a se previr contra SQL Injection, mas eu afirmo logo que isso não é 100% seguro.
 
4 - Vá até o arquivo guilds.php e localize a seguinte tag:


$guild_logo = $guild->getCustomField('logo_gfx_name'); if(empty($guild_logo) || !file_exists("guilds/".$guild_logo)) $guild_logo = "default_logo.gif"; 

Agora substitua por isso:


foreach (array("/", "\\", "..") as $char) {
    $guild_logo = str_replace($char, "", $guild->getCustomField('logo_gfx_name'));
}
if (empty($guild_logo) || !file_exists("guilds/".$guild_logo)) {
    $guild_logo = "default_logo.gif";
}  

Pronto, seu guilds.php está seguro agora.
 
5 - Exclua completamente o arquivo houses.php, ele é um arquivo muito inutilizado e ainda muito vulnerável, pessoas maliciosas podem conseguir ver sua config.lua através dele, portanto apenas exclua.
 
Pronto, por enquanto é só, se você tiver mais dicas para deixar o Gesior e o XAMPP mais seguro, poste nesse tópico que você com certeza estará ajudando muitas pessoas necessitadas! ;)
 
Créditos:

dm3o5y8.png

 
Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!?
Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também! :P
 

tão bom, que nem da pra inspecionar, fonte, ou copiar nada. no meu site kkkk 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Imperius
      Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar.
       
      É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/
       
      Como funciona?
       
      O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte.
       
      O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários itens de forma randômica no qual o jogador poderá ou não ganhar. No final, apenas um item é entregue ao jogador.
       
      Para entender melhor o seu funcionamento, segue o GIF abaixo:
       

       
       
      em data > actions > actions.xml
       
       
      em data > actions > scripts > crie um arquivo chamado leverTreasureChest.lua
       
       
      no banco de dados do servidor, adicione o seguinte código em "SQL":
       
       
       

      Também estou disponibilizando uma página PHP, para quem quiser usar no site do servidor. Na página tem informações sobre o funcionamento, quais são os possíveis prêmios e a lista de jogadores que ganharam os itens raros.
       

       
       
      Espero ter ajudado de alguma forma! : )
       
      treasure_chest.php
    • Por 4Marsupilami
      I present my newest beautiful and tasty layout called Silver brown cake. If you are interested in a unique layout, write to me on discord.
       
      • E-mail: [email protected]
      • Discord: 4Marsupilami#1243
       
       


    • Por 4Marsupilami
      I present my newest beautiful and tasty layout called Glacial. If you are interested in a unique layout, write to me on discord.

      • E-mail: [email protected]
      • Discord: 4Marsupilami#1243
       
       


    • Por luanluciano93
      Olá pessoal, hoje vou ensinar como deixar as urls limpas (amigáveis) no Gesior.

      Mas Luan, oque é URL?
      URL vem de Uniform Resource Locator, em português Localizador-Padrão de Recursos, é o vulgo endereço de uma rede, seja internet, ou até mesmo uma intranet. Resumindo é o endereço que você coloca no seu browser.

      exemplo: URL para entrar no TK: http://www.tibiaking.com/forum/

      Como podem ver no exemplo, a estrutura de uma URL é basicamente esse:
      protocolo://dominio-ou-ip/caminho
       
      Mas Luan, para que vou querer limpar as urls do meu site?
      Seguinte, existe um termo que se chama 'boas praticas', que a maioria (não todos)dos desenvolvedores web procuram seguir. A verdade é que a única coisa que altera é o visual, você vai ver as urls, e com elas limpas qualquer leigo consegue entender onde está em um site.

      Mas Luan, oque é realmente uma URL limpa (amigável)?
      Bom, vou usar o próprio site do tibia.com (que é o mesmo jeito do Gesior) como exemplo ... 

      tibia.com/index.php?subtopic=latestnews
      tibia.com/index.php?subtopic=archives
      tibia.com/index.php?subtopic=rules

      E etc ... o tibia.com ainda não fica tão feio, mas existem sites que ficam muito ruim mesmo.

      E se colocássemos um arquivo simples no gesior que alterasse as urls escondendo uma parte delas ... 

      Por exemplo, nos exemplos acima, temos algo em comum depois do domínio, que seria o index.php?subtopic=, e se escondêssemos essa parte? Não ficaria muito melhor?
      tibia.com/latestnews
      tibia.com/archives
      tibia.com/rules

      Apenas olhando no endereço da internet qualquer leigo entenderia onde está facilmente, e é isso que este arquivo faz. bem básico.

      Luan, como eu instalo esse arquivo?
      Usamos o arquivo .htaccess e determinado código nele.

      Basta coloca esse arquivo no diretório do site (pasta www ou htdocs) com o código.

      Para funcionar você terá um pequeno trabalho de alterar todos os 'caminhos' que existem no layout e nas pastas do ot, mas é simples, vá em cada arquivo e aperta Ctrl+F e procure por subtopic e muda o caminho, no caso se tiver o index.php?subtopic=, é só apagar tudo e deixar só que esta depois do =, se não tiver o index.php, só tiver ?subtopic=, apaga essa parte e deixa só o que ta depois do =, simples e fácil, só fazer isso na layout.php e em todas as páginas que tiver no seu site.

      Se você já tem o arquivo .htaccess no diretório do seu site, coloque esse código dentro:
      RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?subtopic=$1 Caso não tenha o arquivo, provavelmente existe um arquivo .htaccess na pasta config do seu site, copie ele e cole no diretório do site, apague o código e coloque o código que eu passei.

      É isso pessoal, espero que tenham gostado. Até a próxima, abração!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo