Indie Hackers, sua segurança é uma droga 🤦‍♂️

00:10:51
https://www.youtube.com/watch?v=r2E_Mc9KY6c

概要

TLDRO vídeo explora vulnerabilidades em softwares como SAS, destacando como a falta de segurança pode permitir que hackers adquiram acesso não autorizado. O autor compartilha experiências práticas de como foi possível hackear dois SAS, demonstrando que muitos sistemas não possuem as devidas proteções. Ele critica a abordagem de desenvolvimento rápido sem a preocupação com a segurança, enfatizando que isso resulta em falhas facilmente exploráveis por invasores. O vídeo sugere que segurança deve ser parte integral do processo de desenvolvimento desde o início.

収穫

  • ⚠️ Muitos SAS estão vulneráveis a ataques.
  • 💻 Segurança deve ser prioridade durante o desenvolvimento.
  • 🛡️ Falhas de segurança são frequentemente causadas por negligência.
  • 🔍 Interceptação de requisições pode expor dados sensíveis.
  • 💡 Mercado Pago foi utilizado de forma inadequada.
  • 🚀 Desenvolvimento rápido pode levar a descuidos de segurança.
  • 🔒 Verificações de segurança são cruciais.
  • ✨ Hackers podem explorar sistemas sem grandes habilidades.
  • 📈 Incorporar segurança desde o início é mais eficaz.
  • 📹 O autor está disponível para compartilhar dicas de segurança.

タイムライン

  • 00:00:00 - 00:05:00

    Os ind hackers demonstram a facilidade de explorar falhas de segurança em plataformas SaaS, revelando que muitos serviços estão vulneráveis a ataques básicos. O apresentador compartilha a experiência de ter comprado um plano premium por 1 centavo e, em seguida, consguiu fazer um levantamento de usuários e acessar contas de outros usuários, utilizando as falhas na implementação de pagamentos com Mercado Pago como um exemplo de como a segurança foi negligenciada. Ele enfatiza a perigosidade de confiar nos dados que vêm do front-end sem devida validação interna.

  • 00:05:00 - 00:10:51

    No segundo serviço abordado, o apresentador continua a explorar vulnerabilidades e descobre que, ao mudar permissões em requisições, consegue obter acesso administrativo. Ele critica severamente as práticas inadequadas de desenvolvimento que focam em velocidade e recursos ao invés de segurança, indicando que isso geralmente é resultado de falta de conhecimento ou preocupação com a segurança. O vídeo termina convidando os espectadores a comentar se desejam dicas sobre princípios de segurança, sugerindo que é possível incorporar melhor segurança no desenvolvimento desde o início.

マインドマップ

ビデオQ&A

  • O que são SAS?

    SAS refere-se a 'Software as a Service', uma forma de software que é disponibilizada pela internet.

  • Quais foram as vulnerabilidades identificadas?

    Foram identificadas falhas na validação de dados, permitiram que o autor acessasse contas de usuários sem autorização.

  • Como foi possível hackear os sistemas?

    Usando técnicas de interceptação de requisições e manipulação de dados, o autor conseguiu explorar falhas nos sistemas.

  • O que é Mercado Pago?

    Mercado Pago é uma plataforma de pagamento que permite realizar transações financeiras online.

  • Quais as consequências da falta de segurança em SAS?

    A falta de segurança pode levar a acessos não autorizados, fraudes e comprometimento de dados dos usuários.

  • Como prevenir esses tipos de ataques?

    Implementar boas práticas de segurança durante o desenvolvimento e realizar testes de segurança regulares.

  • O que o autor sugere para desenvolvedores?

    Ele sugere que segurança deve ser uma preocupação desde o início do desenvolvimento de aplicações.

  • Há dicas de segurança apresentadas?

    O autor menciona que pode compartilhar dicas de segurança em vídeos futuros, se houver interesse.

ビデオをもっと見る

AIを活用したYouTubeの無料動画要約に即アクセス!
字幕
pt
オートスクロール:
  • 00:00:00
    os ind hackers estão tão focados em
  • 00:00:02
    lançar rápido que esqueceram da coisa
  • 00:00:03
    mais importante segurança e o resultado
  • 00:00:06
    comprei um plano Premium por 1 centavo
  • 00:00:08
    listei todos os usuários e entrei na
  • 00:00:10
    conta de qualquer um me tornei
  • 00:00:11
    administrador do sistema e Estorei uma
  • 00:00:13
    pay completamente quebrada e sabe o pior
  • 00:00:16
    esses SAS foram feitos por pessoas
  • 00:00:17
    experientes no vídeo eu vou explorar
  • 00:00:19
    dois SAS para não ficar muito longo mas
  • 00:00:21
    a real é que 80% dos SAS lá do servidor
  • 00:00:24
    de discord do ind hacking estão
  • 00:00:26
    vulneráveis a esses tipos de ataque na
  • 00:00:27
    primeira plataforma eu consegui comprar
  • 00:00:29
    um plano prêmium por 1 centavo listar
  • 00:00:31
    usuários e acessar qualquer conta no
  • 00:00:34
    segundo eu me tornei administrador e
  • 00:00:36
    abusei de uma API completamente exposta
  • 00:00:38
    se você acha que seu app Tá seguro só
  • 00:00:40
    porque ninguém vai tentar hackear pensa
  • 00:00:42
    direito vou te mostrar como é que essas
  • 00:00:44
    falhas acontecem e como evitar que seu
  • 00:00:46
    SAS vir um playground para hacker vamos
  • 00:00:48
    lá a primeira coisa que eu faço assim
  • 00:00:50
    que eu abro o site primeiro eu scollo
  • 00:00:52
    ele vejo que que ele tem de interessante
  • 00:00:54
    eu tô vendo aqui que ele tem planos e
  • 00:00:56
    preços e logo depois eu venho aqui e
  • 00:00:58
    vejo as tecnologias que o site est
  • 00:01:00
    usando então ele tá usando react Next O
  • 00:01:01
    esp na versel E por que que isso é
  • 00:01:03
    interessante sabendo as tecnologias que
  • 00:01:05
    ele tá usando eu sei um pouco do que que
  • 00:01:07
    tá acontecendo por exemplo por ele est
  • 00:01:09
    usando o Next Muito provavelmente o
  • 00:01:10
    processamento as requisições vão estar
  • 00:01:12
    escondidas do lado do servidor não vão
  • 00:01:14
    estar expostos para mim mas isso não é
  • 00:01:16
    100% verdade porque quando alguma
  • 00:01:18
    aplicação precisa de um input do usuário
  • 00:01:20
    como um formulário tipo esse aqui O
  • 00:01:22
    código vai ser carregado do lado do
  • 00:01:24
    cliente como se fosse injetado mesmo
  • 00:01:25
    podendo expor algumas coisas como
  • 00:01:27
    algumas Fas de api e coisas do tipo e
  • 00:01:29
    então eu vou abrir aqui o sorce e eu vou
  • 00:01:32
    procurar por algumas kws dentro do do
  • 00:01:34
    código então vou procurar por api por
  • 00:01:37
    exemplo aqui é uma coisa interessante
  • 00:01:39
    ele tá usando o Mercado Pago para poder
  • 00:01:41
    fazer o pagamento e é interessante
  • 00:01:43
    porque 80% das pessoas que usam Mercado
  • 00:01:45
    Pago para pagamento eles estão fazendo
  • 00:01:46
    errado o iniciantes no caso porque só de
  • 00:01:49
    ver aqui já dá para ver que tem uma
  • 00:01:51
    coisa errada o front Change ele tem que
  • 00:01:53
    se comunicar diretamente com seu
  • 00:01:54
    servidor abstendo o máximo de coisas
  • 00:01:56
    para evitar exposure evitar coisas de
  • 00:01:59
    segurança
  • 00:02:01
    então aqui nessa requisição ele tá
  • 00:02:03
    passando o amount isso é um pouco
  • 00:02:05
    estranho porque quem tiver ser
  • 00:02:07
    responsável por passar o amount pro
  • 00:02:09
    mercado pago é o servidor aqui ok o
  • 00:02:12
    servidor tá tá sendo intermediado então
  • 00:02:14
    eu sei que essa rota vai mandar pro
  • 00:02:15
    próprio servidor do cara só que o amount
  • 00:02:17
    tá aqui isso não faz sentido ele devia
  • 00:02:19
    só fazer uma rota ap payments Premium
  • 00:02:23
    por exemplo e eu passo meu user ID aqui
  • 00:02:24
    meu e-mail por
  • 00:02:26
    exemplo Vamos então já sei que ele tá US
  • 00:02:29
    mercado pago com uma possível
  • 00:02:30
    vulnerabilidade a gente não tem certeza
  • 00:02:32
    ainda vamos criar uma conta mas antes eu
  • 00:02:34
    vou abrir o Bup Switch que eu vou tentar
  • 00:02:35
    ver as aquisições que acontecem quando
  • 00:02:37
    eu tô logado em um usuário pronto eu
  • 00:02:39
    acabei de criar uma conta aqui e dá para
  • 00:02:42
    ver que o dashboard foi aberto aqui dá
  • 00:02:45
    para ver que a requisição tá sendo feita
  • 00:02:46
    do lado do
  • 00:02:47
    cliente Ele carrega mesmo depois a pgina
  • 00:02:50
    ter sido carregada não faz muito sentido
  • 00:02:52
    ele pode muito bem colocar fazer esse
  • 00:02:54
    glad no next mas ele deve ter motivo de
  • 00:02:56
    ter feito por aqui é vamos ver os
  • 00:02:58
    acessar planos aqui e ver o que acontece
  • 00:03:00
    quando a gente clica no pagamento do
  • 00:03:03
    Premium que a gente já sabe a gente viu
  • 00:03:04
    que isso vai mandar uma requisição aqui
  • 00:03:06
    na P P mercado pago pix com o
  • 00:03:10
    amount vamos trocar esse amount para
  • 00:03:14
    0.01 não vou colocar zero Porque o
  • 00:03:16
    mercado pago não aceita zero como um
  • 00:03:19
    valor eu vou interceptar a resposta
  • 00:03:24
    forward sucesso
  • 00:03:27
    forward aqui tá para fazer o pagamento
  • 00:03:29
    de 1 centavo vi pix já tá um erro o
  • 00:03:32
    servidor nunca nunca jamais pode confiar
  • 00:03:35
    nos dados que o fron tá mandando não
  • 00:03:37
    dessa forma se tiver alguma criptografia
  • 00:03:39
    ou coisa do tipo aí não tem problema mas
  • 00:03:42
    nesse caso não pode vamos M um set pro
  • 00:03:45
    cara e ver se funciona vou ver se meu
  • 00:03:47
    dashboard foi atualizado pronto eu t com
  • 00:03:49
    acesso Premium no site do cara por por 1
  • 00:03:52
    centavo Vamos botar uns dados fictícios
  • 00:03:55
    aqui e gerar o mapa vamos interceptar
  • 00:03:58
    gerar o mapa
  • 00:04:04
    ele tá mandando Birthday time longitude
  • 00:04:08
    e latitude mandar pro Repeater vamos
  • 00:04:11
    interceptar a
  • 00:04:12
    resposta e vamos ver que vai aparecer
  • 00:04:15
    para mim
  • 00:04:17
    carregando legal criado para
  • 00:04:20
    asdasd aqui aparece minha última
  • 00:04:23
    pesquisa agora vai ser interessante
  • 00:04:24
    vamos interceptar e ver o que acontece
  • 00:04:25
    quando a gente clica ele vai mandar
  • 00:04:28
    requisição
  • 00:04:30
    com o ID vamos interceptar e o que
  • 00:04:33
    acontece ele
  • 00:04:35
    vai ele me manda aqui direitinho o que
  • 00:04:39
    tá acontecendo Vamos mudar uma ideia
  • 00:04:42
    agora vamos botar 20 para ver o que
  • 00:04:45
    acontece aquário
  • 00:04:47
    Uai eu não era não era aquário quem que
  • 00:04:52
    é esse pera aí
  • 00:04:54
    19 quem que é nest eu não sou n test
  • 00:04:58
    Vocês estão entendendo o que tá
  • 00:04:59
    acontecendo n ele tá puxando os
  • 00:05:02
    registros dos das últimas pesquisas
  • 00:05:05
    então aqui eu pego o ID da
  • 00:05:09
    pessoa eu tenho nome né então botar o
  • 00:05:16
    name então eu consigo listar os usuários
  • 00:05:19
    também eu consigo ver quem tá usando o
  • 00:05:20
    site Isso aqui precisa de uma
  • 00:05:22
    verificação lembra que eu salvei esse
  • 00:05:24
    usuário aqui dessa vez quando eu entrar
  • 00:05:27
    no dashboard vou interceptar requisição
  • 00:05:29
    para trocar todo o ID por esse ID que eu
  • 00:05:31
    tenho salvo Então vamos em
  • 00:05:34
    dashboard eu vou trocar meu user ID por
  • 00:05:36
    esse user ID interceptar a resposta vou
  • 00:05:40
    ficar fazendo
  • 00:05:41
    isso vou só
  • 00:05:45
    trocando
  • 00:05:48
    aqui eu tô basicamente logado no outro
  • 00:05:51
    ID agora eu tô eu sou Basicamente já
  • 00:05:55
    Clara Agora tem todos os mapis que ela
  • 00:05:57
    gerou aqui dá para ver direitinho aqui
  • 00:06:00
    Então esse sistema tá completamente
  • 00:06:02
    falho Só de eu estar logado na conta de
  • 00:06:05
    qualquer conta não preciso nem nem pagar
  • 00:06:06
    eu consigo já fazer um mapa astral o
  • 00:06:10
    próximo da lista ele tá bem bonitinho
  • 00:06:12
    uma n page bem bonita vai ser o mesmo
  • 00:06:14
    esquema a gente vai vir aqui no
  • 00:06:15
    aqualizer e ver as tecnologias então ele
  • 00:06:17
    tá usando react e react router mais
  • 00:06:20
    interessante por qu dá para ver aqui que
  • 00:06:22
    ele não tá usando Next O que significa
  • 00:06:24
    que todas as páginas funções textos vão
  • 00:06:27
    já tá no código fonte não vai ter um las
  • 00:06:29
    load A não ser que ele tenha feito na
  • 00:06:30
    mão a gente pode vir aqui e abre o
  • 00:06:33
    código fonte e vai est aqui o código
  • 00:06:35
    inteiro do react é um código bem grande
  • 00:06:39
    mas é muito bom para encontrar
  • 00:06:40
    informação então eu posso procurar por
  • 00:06:42
    admin aí tem várias fotas admin admin
  • 00:06:46
    generate link admin users eu também
  • 00:06:48
    posso procurar por procurar por rotas
  • 00:06:51
    Então barapi aqui tem alguma P web Hook
  • 00:06:54
    Mercado Pago apay webhook abacate pay
  • 00:06:56
    apay abacate pay interessante você tá se
  • 00:06:59
    perguntando Nossa mas é muito rí a
  • 00:07:01
    informação desse jeito Tem muita coisa
  • 00:07:03
    muito Unificado não consigo ler nada
  • 00:07:04
    você tá certo mas pra nossa sorte ou
  • 00:07:08
    azar tudo fica formatado bonitinho no
  • 00:07:10
    sorce é como se a gente conseguisse ver
  • 00:07:12
    a passa do projeto como se tivesse
  • 00:07:14
    aberto github do cara então aqui a gente
  • 00:07:16
    tem o Source tem os pages tem todas as
  • 00:07:19
    páginas aqui tem os Services do abaca
  • 00:07:21
    Pay tem alguns hooks todos os
  • 00:07:23
    componentes tá tudo aqui então vai ser a
  • 00:07:26
    mesma proposta vamos criar uma conta
  • 00:07:28
    entrando no Switch bom criei minha conta
  • 00:07:31
    aqui eu t no dashboard do projeto e
  • 00:07:33
    vamos procurar antes porque a gente já a
  • 00:07:36
    gente acabou encontrando já que existe a
  • 00:07:38
    página admin Então vamos procurar por
  • 00:07:40
    admin
  • 00:07:41
    aqui e a gente tem esse post beleza esse
  • 00:07:47
    App Olha tem o admin route interessante
  • 00:07:50
    Protect R
  • 00:07:51
    aqui tem admin Men items perfeito a
  • 00:07:56
    gente no s bar a gente tá vendo todas
  • 00:07:58
    asos tem então ele tem o app orçamentos
  • 00:08:01
    clientes empresas e também tem o admin
  • 00:08:03
    menu items eu chutaria que esse admin
  • 00:08:05
    menu items está sendo renderizado por
  • 00:08:06
    uma condição isso se o meu Roll é igual
  • 00:08:10
    admin de novo por se react eu sei que
  • 00:08:13
    ele tá pegando esse profile data.on Roll
  • 00:08:15
    pelo lado do cliente por alguma
  • 00:08:16
    requisição que tá acontecendo e é
  • 00:08:18
    exatamente isso que eu vou fazer eu
  • 00:08:22
    vou Abrir meu
  • 00:08:24
    intercept e todo Roll que aparecer nas
  • 00:08:27
    minhas requisições eu vou trocar para
  • 00:08:28
    admin vamos lá nessa equizição apareceu
  • 00:08:32
    aqui meu roll de user vou trocar para
  • 00:08:33
    admin vou dar
  • 00:08:35
    forward de novo vou interceptar toda a
  • 00:08:38
    requisição que tá esse profile select
  • 00:08:40
    meu ID eu vou vou est interceptando e
  • 00:08:42
    trocando o meu Roll para admin
  • 00:08:47
    admin e agora em qualquer segundo deve
  • 00:08:50
    aparecer aqui perfeito
  • 00:08:52
    eh eu vou continuar mexendo só não vou
  • 00:08:55
    dropar ões aqui e aqui dá para ver que
  • 00:08:59
    abriu o lado
  • 00:09:00
    administrador então se eu vir aqui no
  • 00:09:02
    web Hook aparece as configurações de
  • 00:09:05
    webhook dele que por algum motivo Ele
  • 00:09:07
    não colocou no em uma documentação mas
  • 00:09:09
    Quis colocar no site
  • 00:09:12
    usuários aqui eu consigo listar todos os
  • 00:09:16
    usuários mas dá para ver que o botão
  • 00:09:18
    aqui ele tá bloqueado eu não tô
  • 00:09:21
    conseguindo fazer o botão funcionar no
  • 00:09:22
    lado da web então Vamos alterar
  • 00:09:24
    diretamente na api Então vamos vir aqui
  • 00:09:26
    intercept Vamos alterar o meu PR isento
  • 00:09:30
    Ok e aqui vai mudar eu vou receber esse
  • 00:09:33
    option aqui ó esse
  • 00:09:36
    Patch em vez de mudar is exempt eu vou
  • 00:09:40
    mudar o roll
  • 00:09:43
    para admin forward Beleza agora eu Sou
  • 00:09:49
    administrador eu não tenho nem mais que
  • 00:09:50
    falsificar a requisição então
  • 00:09:52
    configuração ou gerenciar planos essa
  • 00:09:55
    página PR deve est off mesmo então é
  • 00:09:57
    basicamente isso em 5 minutos eu vir
  • 00:09:59
    administrador nessa
  • 00:10:00
    plataforma você com certeza chegou até
  • 00:10:03
    aqui pensando Nossa mas que
  • 00:10:04
    vulnerabilidades ridículas como é que
  • 00:10:06
    eles deixou isso passar acontece quando
  • 00:10:09
    você usa a filosofia chip fast e o One
  • 00:10:11
    feature only esquecem ou ficam sem
  • 00:10:13
    vontade de se preocupar com a segurança
  • 00:10:15
    eu gosto de pensar que essas
  • 00:10:16
    vulnerabilidades acontecem quando foram
  • 00:10:18
    desenvolvidas por dois tipos de pessoas
  • 00:10:20
    as que não sabem e as que não querem as
  • 00:10:22
    que não sabem simplesmente podem ter
  • 00:10:23
    deixado alguma verificação passar
  • 00:10:25
    esquece Afinal nós somos humanos e
  • 00:10:27
    humanos cometem erros ou até mesmo não
  • 00:10:29
    sabe das práticas de saber segurança as
  • 00:10:31
    que não querem vão aprender com tempo
  • 00:10:32
    que precisa segurança deve ser parte do
  • 00:10:34
    processo de desenvolvimento não para ser
  • 00:10:36
    feito depois adicionar depois chega até
  • 00:10:38
    ser mais difícil e menos eficiente do
  • 00:10:39
    que construir desde o início se quiserem
  • 00:10:41
    posso fazer um vídeo mostrando alguns
  • 00:10:42
    princípios de seguranças e dicas de
  • 00:10:44
    segurança para S são bem simples mas
  • 00:10:46
    muito eficientes é só comentar aqui no
  • 00:10:48
    vídeo é isso falos
タグ
  • SAS
  • segurança
  • hacking
  • vulnerabilidades
  • Mercado Pago
  • desenvolvimento
  • software
  • API
  • interceptação
  • programação