Ir para conteúdo
  • Cadastre-se

Outro Entrega de Pontos Automatico - Tomen Cuidado !


Posts Recomendados

Recentemente tive a dúvida se haveria um jeito de burlar o sistema de compras de pontos em servidores, e fazendo varios testes, consegui chegar a 1 resultado concreto.

 

Sim eu conseguir burlar o sistema de pontos, claro que não burlei de ninguem mais sim o meu proprio.

 

Se você usa métodos automaticos de enviar pontos para os seus clientes via ( Paypal, Pagseguro ),

tomen cuidado, com o jeito certo, é facilmente burlado o sistema e trocando os valores de R$10,00 ... por apenas R$1,00 ou até R$0,00 , e como você está com o modulo automatico, é claro que irá mandar os pontos automaticos mesmo se pagar essas quantias minusculas.

 

É claro que não irei ensinar como burlar sistemas de shops de jogos ( inclusive Tibia ), mas estou aqui alertando a todos que são admins e usam dessa prática.

 

Obrigado por sua Atenção.

Assinatura removida por Comedinha (Bruno Carvalho).

Link para o post
Compartilhar em outros sites

Aqui está o código principal do sistema disponibilizado pelo Nathanael ... 

[1]
<form target="pagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml">
	<input type="hidden" name="ref_transacao" value="'.$account_logged->getCustomField("name")	<input type="number" ng-model="get_points" min="1" size="5" maxlength="5">
	<input name="item_valor_1" type="hidden" value="{{get_points * 100}}" size="5" maxlength="5">
	<input name="item_quant_1" type="hidden" value="1" size="1" maxlength="1">
</form>

[2]
$Referencia = $_POST['Referencia'];
$NumItens = intval($_POST['ProdValor_1']);
$ProdQuantidade_x = $POST['ProdQuantidade_1'];

[3]
mysql_query("UPDATE accounts SET premium_points = premium_points + '$NumItens' WHERE name = '".htmlspecialchars($accname)."'"); 

 Primeiramente, devemos ver os 2 dados principais que o formulário envia para o pagseguro: item_valor_1 e item_quant_1.

• o item_valor_1 representa o valor do produto, e é contado em centavos.
• o item_quant_1 representa o quantidade do produto, e é contado por unidade.


Depois de enviado, o pagseguro retorna os valores, e se aprovado executa a query:

• Recebe item_valor_1 e executa o comando na database: premium_points = premium_points + item_valor_1

Bom, certamente que o sistema dele cada 100 premium points custam 1 real. (foi o o que aconteceu)

Se alguém altera o valor pago para 1 centavo, ele irá receber 1 ponto .. entende? O dele funciona perfeitamente, não tem como burlar mesmo que diminuindo o valor.


 

Link para o post
Compartilhar em outros sites

@luanluciano93, caso ele doe 1 centavos não irá retornar um valor inteiro para poder acrescentar um valor final...

 

 

@KingMapper, Módulo do pagseguro é falho na brecha certa, porém há diversos métodos que impede isso, um deles é:

if ($StatusTransacao == "Aprovado") {
mysql_query("UPDATE accounts SET premium_points = premium_points + '$NumItens' WHERE name = '".htmlspecialchars($accname)."'");
mysql_query("UPDATE pagsegurotransacoes SET StatusTransacao = 'Entregue' WHERE CONVERT( `pagsegurotransacoes`.`TransacaoID` USING utf8 ) = '$TransacaoID' AND CONVERT( `pagsegurotransacoes`.`StatusTransacao` USING utf8 ) = 'Aprovado' LIMIT 1 ;");
} 

Sabendo-se que o código acima adiciona a quantidade de items comprada... Revertendo o código para uma compra fixa, ou seja. Apenas será finalizada e completa a compra de valor determinado por sua pessoa. 5, 10, 15, assim por diante.

 

Ficando então o código

if ($StatusTransacao == "Aprovado") {
if ($NumItens == X){
mysql_query("UPDATE accounts SET premium_points = premium_points + '$NumItens' WHERE name = '".htmlspecialchars($accname)."'");
mysql_query("UPDATE pagsegurotransacoes SET StatusTransacao = 'Entregue' WHERE CONVERT( `pagsegurotransacoes`.`TransacaoID` USING utf8 ) = '$TransacaoID' AND CONVERT( `pagsegurotransacoes`.`StatusTransacao` USING utf8 ) = 'Aprovado' LIMIT 1 ;");
}
} 

Sendo assim depositado um quantia X. Caso este X exceda 1 ou seja diferente, não cairão os pontos. Tenho este sistema em meus servidores, e caso alguém venha de tentar burlar, é enviado a meu email pessoal e comercial com informações avançadas do cliente, da máquina e rede e de compra. Sendo assim entrando em contato com o mesmo e não tendo o ressarcimento do mesmo pois é uma tentativa de roubo dado assim como crime cybernético.

 

Sistema é falho nas mãos erradas, porém da para evitar com PHP, basta ter conhecimentos e lógica para fazer algo legal.

 

 

 

DeadPoolHost - Confira!

 

 

 

 

Fui útil? Realmente útil? Obrigado!

Não sabe como compensar?

Doe quanto puder... Seu ato é o que vale!

 

Link para o post
Compartilhar em outros sites

É usado alguma função pra verificar centavos??

Ajudei??? Rep + ae! :D

gtYFjO8.gif

 

1iiu7Gw.png

Facebook: Béria Alternative Server

Link para o post
Compartilhar em outros sites

@Victor Fasano Raful, 1 centavo retorna 1 em valor do produto, enfim, o sistema do Nathanael já é o bastante para evitar fraudes. 

Obs: Se o valor de 1 real equivaler 100 points. Caso contrário teria que trata-lo como o Victor disse.

 

@Patrick Jean• o item_valor_1 representa o valor do produto, e é contado em centavos.

Link para o post
Compartilhar em outros sites

Victor Fasano Raful Obrigado por Compartilhar sua Experiencia ! Sim , com o código errado é facilmente aletação do formulario GET e POST , vejam um exemplo abaixo.

Pedi a um amigo Dexar que fizesse um teste no servidor ja online dele com cerca de 108 players ( não irei citar nomes, pois pode haver burlaçao no sistema dele ) , fiz uma compra de 800 pontos por apenas R$0,01 em Paypal.

Felizmente tem muitos colaboradores no forum que ofereçem scripts funcionais e sem erros ou brechas

Assinatura removida por Comedinha (Bruno Carvalho).

Link para o post
Compartilhar em outros sites

@luanluciano93, pelo que vejo em logs, 1 centavo representa em valor retornado (pelo menos no meu sistema) 001.

 

 

@Patrick Jean, Você faz uma listagem de pontos, como por exemplo da imagem

 

@KingMapper, infelizmente não presenciei ainda erros com POST e GET, pois o script é executado em curl e fskopen remoto, é praticamente impossivel a não ser que o sistema que o site utilize para depositar os pontos utilize tais funções.

 

 

dv6BeV8.png

 

Ou seja, vende os pontos no valor e quantidade que você escolher, sendo dessa forma ele gerando o número da quantidade X e o valor fixo Y..

 

Já em PHP, no retorno de dados, seria mais ou menos assim.

if ($StatusTransacao == "Aprovado") {
if ($ProdQuantidade_x == 10 && $NumItens == 13){
QUERYS
}
}

No seguinte código acompanha a imagem... Sendo assim depositados 10 pontos somente se o valor referente for 13 reais.

Editado por Victor Fasano Raful (veja o histórico de edições)

 

 

DeadPoolHost - Confira!

 

 

 

 

Fui útil? Realmente útil? Obrigado!

Não sabe como compensar?

Doe quanto puder... Seu ato é o que vale!

 

Link para o post
Compartilhar em outros sites

@Victor Fasano Raful, creio que a melhor forma de se fazer é colocar um favor fixo em valor, e um input onde você digita o valor da quantidade, e no retorno do pagseguro verifica se  valor esta realmente de acordo com o valor que você fixou, se sim, adiciona a quantidade aos pontos. 

Link para o post
Compartilhar em outros sites

Sim @luanluciano93, mas concorda que os valores podem se elevar de 1 a 9999. Creio que o código seria meio extenso, é legal e prático e oferecer uma lista de variações de pontos e de acordo com os valores dos itens, sempre combinando do básico a uma compra mais complexa de x pontos... Também pode ser possivel a opção de promoções, doações X depositados valores Y...

 

Pode ser que eu disponibilize tal sistema, pois vi em alguns topicos o sistema contendo diversas páginas, tenho em apenas algumas simples linhas as funções necessárias e encurtadas com PHP OOP.

 

 

DeadPoolHost - Confira!

 

 

 

 

Fui útil? Realmente útil? Obrigado!

Não sabe como compensar?

Doe quanto puder... Seu ato é o que vale!

 

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

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "Tibia KingAtendimento Geral"

Para: "OTServSuporte OTServSuporte de OTServ Geral"

Bruno de Carvalho Câmara / Administrador TibiaKing

[email protected]


 

btn_donateCC_LG.gif

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Link para o post
Compartilhar em outros sites

Uma dúvida eu uso modern acc, com sistema pagseguro porém acabei de fazer o teste usando 12,12 e 12.12 e 12 12 < e as 3 formas diferentes deram erro ele pede um número numerico porém isso é do pagseguro e não do sistema do meu site se possivel alguem pode verificar se é possivel burlar o meu sistema donation podem acessar o site clicando no banner na minha assinatura como ainda estou mechendo no servidor ele se encontra off-line então estou querendo deixar tudo certo sem nenhum tipo de bug ou erro para os players.

 

obrigado pela atenção

 

aguardo respostas

 

+rep por avisar sobre isso rs ^^

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

Não tinha visto direito o conteúdo do tópico e após dar uma melhor analisada acho que ele deveria ficar em OTServ Geral por ser uma discussão muito polêmica e aqui ser a área para esse tipo de discussão :)

Bruno de Carvalho Câmara / Administrador TibiaKing

[email protected]


 

btn_donateCC_LG.gif

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Link para o post
Compartilhar em outros sites

Meu sistema funciona assim:

 

O player com x moedas, e desse formulário ele passa por um validador, que registra a compra e registra as informações.

Quando o PagSeguro fizer a comunicação com meu servidor eu busco o número da compra (isso o usuário não tem como alterar, pois é o validador que faz a operação).

Caso os valores que o PagSeguro me devolver for diferente do que está registrado em sistema, não irá dar moeda alguma.

Nesse exemplo citado acima, o cara edita para pagar 1 real por 10 moedas, quando o PagSeguro fizer a comunicação ele vai entregar apenas 1 moeda, porque ele pega o valor inteiro da compra e converte em moedas.

 

Agora, porque eu fiz isso?

Mesmo que o cara fique apenas com 1 moeda, isso não é certo, pois ele tentou fazer uma fralde. Caso ele entrar em disputa com o PagSeguro, eu imprimo um relatório e envio ao mesmo, informando que ele tentou fraudar meu sistema, desta forma ele estará se complicando!

 

Antes de praticar esses atos, principalmente utilizando o "F12" do Google Chrome, se achando o espertão, tome cuidado, que fralde é fralde, não importa de que forma.

 

Abraço!

Atenciosamente,

Bruno Minervino

Link para o post
Compartilhar em outros sites
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Budrox
      ola! venho apresentar meu protejo e ouvir a opinião de
      vocês estou trabalhando a alguns meses nessas sprites,
      jogariam um protejo assim, penso em fazer o jogo em
      outras engines mas faria mais sentido se fosse um
      protejo online.

    • Por GamerGoiano
      Provavelmente funciona com os outros jogos do quilante, basta substituir a pasta data na pasta do servidor e substituir os arquivos do cliente na pasta otclient/data/things/860
      Eu não tenho créditos sobre o projeto, estou apenas postando aqui porque ja é de dominio público porém em todos os tópicos na internet o projeto está muito desatualizado
      Este aqui está configurado pra por online no pc.
       

      Download: (TFS 04 860 + OTCLIENT "Ultima versão x64", Htdocs "O site" e o Banco de dados Compativel.
      https://www.mediafire.com/file/bmponjci62txbxd/TIBIA+GTA+ARRUMADO.rar/file

      Scan:
      https://www.virustotal.com/gui/file/b6236579ad11201f3c01899a218f6ca8ef8e645cf3881f5de2af46a04837085d?nocache=1
    • Por TestAccount
      Bem vindos a SwampSoldiers, um ot alternativo único de sapos e minhocas! Achou estranho? Eu também, mas comecei a jogar e viciei ?

      Website
      SwampSoldier - Play to earn (https://www.swampsoldiers.com/index)

      Social Media
      Twitter: https://twitter.com/SoldiersSwamp
      Discord: Join the SwampSoldiers | ? Vs ? Discord Server! (https://discord.gg/qc9wfMQ8vK)
      Youtube: https://www.youtube.com/c/SwampSoldiers
      Facebook: SwampSoldier (https://www.facebook.com/profile.php?id=100087871800250)
      Instagram: Swamp Soldiers (@swampsoldiers) • Instagram photos and videos (https://www.instagram.com/swampsoldiers/)

      =================================================================================================
      SwampSoldiers é um jogo blockchain gratuito, onde você é o verdadeiro dono de seus ativos e pode vendê-los facilmente a outros jogadores por dinheiro real.

      Características:
      Músicas de fundo e efeitos de som; Mapa unico e original; 6 diferentes classes e 2 facções; NPCs animados; Spells unicos com som; Mercado p2p; Quests únicas; 0% de perda de exp até o lvl 5; Sistema de crafting; Sistema de casas e ilhas particulares; Sistema de pet e autoloot; World boss; Tower defense mini-game; Battle royale sendo desenvolvido;  

       

       

       

       

       

    • Por MatteusDeli
      Nesse tópico você irá aprender a diferença entre ItemID, ActionID e UniqueID na criação de scripts.
       
      Primeiramente vamos começar com o ItemID, imagine que você está criando um simples script que o player pode ter acesso a uma área VIP, só que para ele entrar, primeiro precisará passar por um tile especial que possui o ID 471, até aqui tudo bem, só que qualquer player do servidor irá ter acesso também, já que não possui nenhuma restrição.
       
      Como poderíamos resolver isso?
       
      É aqui que entra a função da ActionID, com ela podemos dizer que os tiles que tiverem o valor 1000 no atributo ActionID, serão os tiles referentes a área VIP. Agora temos uma maneira de diferenciar os tiles comuns dos que são VIPs, veja como ficaria:
       

      (tiles sem as ActionIDs no valor de 1000)
       
      Repare que os 3 tiles tem apenas o atributo ItemID: [471]. Todos os players poderiam passar sem problemas… Caso você use apenas esse tipo de tile para as suas áreas VIPs então não tem problema, agora se você usa esses mesmos tiles para outras finalidades, então você precisará recorrer a ActionID, para que assim consiga diferenciá-los.
       
      Vamos adicionar as ActionIDs então:
       

      (tiles com as ActionIDs adicionados no valor de 1000)
       
      Pronto, agora apenas esse tiles terão a função de controlar a entrada para a área VIP!
       
      Bom, então você deve estar se perguntando, aonde que o UniqueID entra nessa história?
       
      O UniqueID é parecido com a ActionID com apenas uma diferença. O valor que você define para ele deve ser único para o servidor inteiro, caso ele se repita aparecerá um aviso na sua distro, mais ou menos como este…
       

       
      Repare quantos UniqueIDs duplicados existem, isso é ruim porque quanto mais tiver mais tempo demorará para o servidor iniciar, entre outras coisas como conflitos de scripts.
       
      Concluindo…
       
      O ItemID é usado quando você quer que todos os itens com esse ID façam uma ação, por exemplo a fishing rod, qualquer player pode comprar uma no NPC e começar a pescar.
       
      A ActionID é usado geralmente quando você quer diferenciar os mesmos itens um dos outros. Eu tenho 2 crystal rings só que apenas um deles vai me curar 500 de vida quando usá-lo.
       
      O UniqueID é quando você quer definir um ID único para um determinado item e só terá apenas um dele no servidor, um exemplo seria uma estátua que vai dar ao player um determinado item e só existirá somente uma dela no jogo.
       
      Tentei ser o mais breve e direto sobre esse assunto, espero que tenha ficado claro… Agora é só praticar!
    • Por Killua
      Últimas atualizações:
       
      16/12/2013:
       
       


       
       
      Introdução:
       
       
      Este é o meu já conhecido evento Blood Castle Automático que estava em outro fórum que acabou. Estou trazendo ele aqui para que ele não "morra".
       
       
       
       
      Informações:  
       
      #Dica: Acho que fica legal o premio do evento ser um item que da double exp por um tempo.
       
       
      Atualização [12/04/2014]
       
       
      Resolvi refazer o código, para facilitar a instalação e melhorar o funcionamento do evento.
       
       
      O que mudou?
       
       
       
       
       
      Instalando o evento:
       
      Lib:
       


       
       
      Movements: 
       


       
       
       
      Creaturescripts: 
       


       
      Monsters: 
       

          O evento pode acontecer de duas maneiras: automática ou manualmente. Vou por as duas possibilidades:     Automática:   

       
       
      Manual:
       


       
       
      Como Configurar:
       
       
      * Se você for colocar, dentro do evento, um teleporte para as pessoas que não quiserem mais participar, coloque o Action ID 9371 nele.
       
       
      * Lembre-se de por NO-LOGOUT tool e NO-PVP tool em toda área do evento!!
       
       
      Todas as demais explicações estão na lib, mas vou demonstrar como configurar os mais "confusos".
       
       
      No modo automático, você configura de quanto em quanto o tempo o evento vai acontecer. Nessa tag:
      <globalevent name="Blood Castle" interval="3600" event="script" value="BloodGlobalEvent.lua"/> Aqui está 3600 segundos, ou seja, 1 hora.
      * Se seu servidor for em milisegundos, multiplique o número por 1000, assim: 3600 segundos * 1000 = 3600000 milisegundos = 1 hora.
       
      No modo manual, para iniciar o evento, basta usar a talkaction /blood-start com seu god.
       
       
      Em posGuarda, vc deve colocar a posicao do Guarda do Portao, como mostrado abaixo:  
        As posPedras são onde ficam as pedras que tampam a passagem enquanto o evento não esta aberto, conforme na imagem abaixo:  
        Em estátua, vc deve colocar a posição em que o arcanjo vai ser criado, conforme na imagem abaixo:  

        Nas posParedes, vc deve por a posição das paredes que bloqueiam a entrada do castelo e que são removidas quando o guarda morre, conforme abaixo:  
        Em fromPos e toPos, você vai por o canto superior esquerdo e o canto inferior direito do mapa do seu evento, respectivamente. Dessa maneira:  
        As outras configurações eu acredito que já estejam bem explicadas.     Espero que gostem dessa nova versão. Recomendo a todos que já usam o evento, reinstalar com essa nova versão.   Qualquer dúvida ou bug, postem que irei responder.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo