[Música] essa falha que eu vou te mostrar nessa aula é uma falha que explora a lógica uma falha que permite você excluir a conta de outra pessoa editar algo que você não devia e fazer diversas funções simplesmente porque você quebrou a lógica quebrou a lógica de algum sistema de alguma aplicação uma coisa que o programador nunca tinha pensado que você faria nessa aula eu vou te mostrar a falha de Business Logic quando a gente pensa em a palavra lógica é algo que você aprende Desde da escola assim então PR você entrar em casa primeiro abre
a porta lógica mais iG lógica PR você tomar banho primiro você tir roupa lógico coisas básicas você aprende desde o início da sua vida mas a lógica ela também existe na programa inclusive ela é essencial essal programador construir um código construir um sistema e vocês viram até isso no módulo de Python precisa fazer a lógica de o que que vai primeiro o que que vai depois Qual código você coloca em cada local e o código ele deve seguir ordens ele deve seguir passos para ele ser executado por exemplo quando um programador ele cria um sistema
ele tem que entender que primeiro o usuário ele cria uma conta depois ele acessa o site primeiro você seleciona uma foto e depois você posta ela não tem como você postar uma foto no Instagram sem selecionar foto para postar para você trocar de uma conta primeiro você tem que deslogar da sua conta e logar em outra para você poder trocar de uma conta para outra sempre existe lógica no sistema todo sistema que você vai entrar aplicativo site ele segue uma lógica isso são problemas comuns que quando um programador cria um site ele tem que enfrentar
Mas algumas vezes eles erram a lógica eles erram a lógica do código do sistema deles talvez em verificar a ordem que alguma coisa acontece ou a forma que as coisas são feitas dentro do código dentro da aplicação dentro de uma loja virtual por exemplo e essa lógica que tá quebrada ela passa despercebida porque ele desenvolveu o código para fazer uma certa coisa mas ele não percebeu que alguém pode fazer uma lógica diferente da que ele tinha programado e essas falhas de lógica podem ser utilizadas por hacker para quebrar um sistema para trocar a senha da
conta de outra pessoa e para excluir coisas que não deviam uma coisa muito interessante dessa falha é que ela tem uma peculiaridade essa falha ela não é técnica Ela não é uma falha que eu vou te mostrar um monte de código que eu vou mostrar a lógica do código do programador que a gente vai ter que utilizar uma injeção de algum código não muitas vezes a gente nem toca em um código o ponto principal da falha de Business Logic lógica de negócio é a criatividade é pensar fora da caixa pensar como usar um sistema de
uma outra forma de uma outra forma que já foi predefinida por exemplo na hora de trocar o seu e-mail eu vou mostrar aqui um problema de lógica pode ser explorado por um hacker quando você for trocar o seu e-mail vamos supor que você cria uma conta em uma rede social você vai lá no Instagram por exemplo vai no Instagram e cria uma conta ou uma nova rede social ou uma loja qualquer local que você possa criar uma conta você cria essa conta com um e-mail e senha o e-mail
[email protected] Mas você sabe que uma outra
pessoa bem famosa nessa rede social nesse site também tem uma conta tem uma outra conta você sabe que o e-mail dessa conta por exemplo não sei contato @ig.com elonmusk @ tesla.com B Gates apple.com esse e-mail aqui é um pouquinho estranho mas enfim você sabe que essa pessoa ela tem uma conta ela tem um e-mail só que você não consegue acessar a conta dela claro você não tem a senha dela sabendo disso você decide trocar o seu e-mail acessar aquela página de trocar e-mail você provavelmente já deve ter visto essa página troque o seu e-mail coloque
o seu e-mail atual que você coloque o e-mail que você quer trocar e a sua senha quando você confirmar você troca o seu e-mail só que ao invés de colocar um e-mail novo um e-mail que você criou de uma nova conta você coloca um e-mail que já existe lusk @ Tesla Qual a lógica que deve acontecer que o programador deve programar primeiro o site ele deve verificar se já existe uma conta nesse mail se já existe se a gente tentasse Lomb @ Tesla ele iria ver que já existe uma conta e não deixar você trocar
o e-mail o site deve confirmar o e-mail talvez enviar um código de confirmação no e-mail para verificar se é para trocar ou não e após confirmar tudo isso Vê se tem uma conta confirmar o e-mail trocar o e-mail da sua conta mas a lógica que aconteceu foi diferente o site ele não verificou se existe uma conta com esse e-mail talvez o programador não colocou a linha de código lá verifique se existe uma conta com esse e-mail antes de trocar a senha foi uma coisa de lógica e quando você trocou o e-mail da sua conta para
elonmusk @ Tesla você sobrescreve a conta do Elon musk com a sua conta e quando ele tentar logar um do musk for fazer login a senha vai ter incorreta porque agora o e-mail da conta que era dele agora é Nossa que a gente trocou o e-mail dessa conta mas com uma falha de lógica não era para ter acontecido o programador deixou a gente fazer isso e esse é o exemplo de uma falha de lógica Esse é o exemplo de uma falha que não mexe não mexe Tecnicamente com códigos mas sim com a lógica de alguma
aplicação uma outra falha que acontece também redefinir a sua senha se você for redefinir a sua senha em algum site vai trocar sua senha o site ele vai te enviar um link de recuperação no e-mail então você perdeu a sua senha precisam recuperar minha conta vou lá esquecer a minha senha coloco o meu e-mail e ele me manda um código para eu confirmar para trocar o e-mail dentro esse código vai aparecer lá para trocar o meu e-mail e vai te enviar um código de verificação a lógica desse código de você pedir para trocar a senha
ele te mandar um código por e-mail mandar um e-mail tem um link para você poder trocar essa senha e nesse link você trocar a lógica deve ser quando você clicar no link para redefinir a sua senha você colocar sua nova senha e o link parar de funcionar mas a lógica você clica no link redefine a sua senha mas o link continua funcionando isso é uma coisa que você pode testar pedindo um código de recuperação indo lá recuperando a sua senha e se você tentar usar o código de novo você iria conseguir isso é uma falha
de segurança porque o código ele tem que parar de funcionar isso quer dizer que um código de definição de senha ele continua funcionando para sempre mesmo que você troque a sua conta mesmo que você troque o e-mail o código de redefinição de senha continua funcionando Isso é uma falha de segurança Então você vai poder utilizar esse código quantas vezes você quiser e por ser uma falha de segurança eu queria mostrar o exemplo de um hacker que ganhou 50 simplesmente entendendo essa lógica entendendo que quando ele recebeu um código de redefinir senha Ele clicou para redefinir
clicou de novo e ele continua funcionando felizmente fazendo isso então queria mostrar o artigo desse hacker que reportou essa falha para uma empresa mostrou essa falha fo para uma empresa e ganhou $150 Então aqui tem um artigo dele eu vou deixar aqui na descrição caso você queira ler um pouquinho mais mais profundamente v o passo a passo que ele fez mas simplesmente ele foi na empresa ele foi no site dela eu vou traduzir aqui a página in traduzir aqui simplesmente ele foi pro site da empresa que ele não não mostrou Qual era aqui e deixou
como oculto ele digitou o e-mail para solicitar um link de redefinição de senha ele foi pro e-mail e ele abriu esse link em duas Abas E aí depois de abrir em duas Abas ele foi e redefiniu a senha dele em uma e na segunda aba ele tentou redefinir a senha de novo e ele trocou a senha duas vezes esse link ele continuou funcionando e ele colocou até aqui um cenário de impacto de exploração então se a conta da do e-mail da vítima ainda tiver registrada em algum computador vamos supor que ela faz o login no
computador do escritório o código de redefinição de senha ainda vai est funcionando mesmo que ela troque aquele link Ninguém pode pegar aquele link senão aquele link a pessoa vai poder trocar a senha mesmo 10 anos depois então se a pessoa deixar a conta do e-mail em algum escritório café público na internet qualquer invasor vai poder trocar a senha dele e devido ao cenário de exploração difícil de acontecer que requer a interação do usuário então um cenário um pouco mais difícil para poder explorar a falha ele ganou GH só 50 por essa falha de de lógica
mas por exemplo uma falha se a gente aplicar isso é em uma empresa uma falha que permitiria você trocar o e-mail da conta de outra pessoa trocar o permitir ela não acessar a conta seria uma falha grave um outro exemplo também que eu já vi acontecendo em várias empresas até Empresas Grandes no iFood Magazine Luisa e são falhas de cupom existem muitas falhas de cupom E essas falhas são falhas de lógica vamos supor que você vai comprar em uma loja virtual Americanas Mercado Livre magazina Luiza e depois de colocar os itens no carrinho você vai
usa um cupom de 15% mas quando você usa esse cupom esse cupom ele não para de funcionar Então você aplica sete vezes o mesmo cupom de 15% na sua compra porque a lógica do programador não foi de Ele usou um cupom não vou deixar ele usar de novo você usa várias vezes o mesmo cupom deixando na compra custando r0 então isso seria um outro exemplo de uma falha de Business Logic e um hacker também ganhou 00 explorando essa falha em cupons não foi exatamente essa que eu te mostrei essa uma falha um pouquinho mais simples
mas que causaria um impacto absurdo mas a falha que ele encontrou é que vou traduzir o artigo também vou deixar ele na descrição é que quando ele ia em um e-commerce aqui ó esse site de comércio eletrônico tem um cupom de 15% mas esse cupom de 15% só funciona em compras com mínimo de $00 tem que ter $00 ou mais para poder usar o cupom Mas aí o que ele fez ele adicionou $00 de produtos no carrinho dele ele foi adicionou o cupom ganhou o cupom de 15% E aí na última página quando ele foi
comprar ele foi lá e removeu um monte de produto e a compra dele foi para $10 mas na lógica do programador deu $00 o cupom funciona mas se ele remover alguma coisa do carrinho e não dá mais 00 e e não dá mais 4 400 o cupom não para de funcionar então isso foi uma falha de lógica de um programador e ele conseguiu aplicar um cupom de 15% uma compra menor que $00 e reportando essa falha paraa empresa provavelmente uma empresa bem grande aí de de lojas ele ganhou 00 Agora ele pode usar o cupom
dele de 15% para comprar na loja então uma uma outra fala interessante que um programador conseguiu encontrar que um hacker conseguiu encontrar nos cupons de uma loja Então ess essa é a falha de Business Logic que você pode explorar em sites em sites de empresa em e-commerces em redes sociais em vários outros locais uma falha simples que não precisa de programação também mas que ela pode ser bem eficaz na hora de você tentar por exemplo redefinir alguma senha redefinir algum e-mail você tenta criar duas contas para em umaa conta você tenta colocar o e-mail da
outra você tenta colocar a senha da outra para ver se vai dar problema Tenta colocar algum dado de pagamento de outra conta e aí você tentar brincar com a lógica do negócio para tentar quebrar ela ou por exemplo em um site de e-commerce você tenta colocar vários cupons ao mesmo tempo para ver se vai ou colocar um cupom e remover os itens como esse cara fez então tem várias coisas que você pode fazer então essa foi a falha de Business Logic uma falha que você pode começar a aplicar ela a testar ela nos próprios sites
que você usa no dia a dia ou caso você seja contratado para hackar uma empresa você pode testar a lógica do código a lógica que tudo acontece primeiro Chega um e-mail de redefinição depois você troca a senha se um link ele vai inspirar ou não se você pode utilizar vários cupons essa lógica ela pode ser aplicada em todos os locais e o ponto principal é a criatividade poderia te mostrar vários exemplos dessa falha milhares de exemplos Mas você tem que entender que você pode quebrar a lógica de um programador um sistema não foi programado de
uma forma específica e essa forma é Irreversível você pode tentar alterar ela eu espero que você tenha curtido esse conteúdo essa vale de segurança eu te vejo em numa próxima aula falou [Música]