Ataque com Regex - Negação de serviço com expressões regulares | Dias de Dev
Dias de Dev
Expressões regulares, ou RegEx, deixam muitos devs coçando a cabeça. Mas além de serem complicadas, podem ser perigosas e tirar um sistema do ar. Neste vídeo nós vamos falar sobre Regular expression Denial of Service (ReDoS), ou seja, negação de serviço utilizando RegEx.
Existem algumas expressões regulares que com determinados inputs podem simplesmente travar seu sistema e com isso torná-lo indisponível. Esse ataque não é tão comum quanto outros que já foram citados no canal, mas ainda assim é bastante perigoso e merece nossa atenção.
Aqui estão alguns links para você entender melhor este tipo de ataque:
- https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS
- https://snyk.io/blog/redos-and-catastrophic-backtracking/
- https://www.regular-expressions.info/catastrophic.html
E se quiser se aprender mais sobre expressões regulares, além de comentar aqui pedindo este conteúdo no canal, você pode conferir estes materiais:
- https://amzn.to/3EVcpy7
- https://amzn.to/3ABVYEc
- 10% de desconto na Alura, onde há cursos completos de RegEx: https://www.alura.com.br/promocao/diasdedev
0:00 - Introdução 0:32 - Vendo o problema de ReDoS 1:17 - Entendendo como RegEx funcionam 1:55 - Vendo RegEx em linguagens diferentes (PHP e JS) 2:43 - Executando o ataque no console JavaScript 3:35 - O que é RegEx Denial of Service 4:05 - Como evitar ReDoS usando PHP? 5:52 - Como detectar problemas em Expressões Regulares? 7:47 - Referências sobre o assunto 8:28 - Conclusão
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev Twitter: https://twitter.com/cviniciussdias LinkedIn: https://www.linkedin.com/in/cviniciussdias/ GitHub: https://github.com/CViniciusSDias/ ... https://www.youtube.com/watch?v=MEfgCLE3Dw8
80720933 Bytes