- Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
- Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
E se a aplicação estiver usando um ID hasheado/aleatório, verifique se o ID é previsível. Às vezes, as aplicações usam algoritmos que produzem entropia insuficiente e, como tal, os IDs podem ser previstos após uma análise cuidadosa. Nesse caso, tente criar algumas contas para analisar como esses IDs são criados. Você pode ser capaz de encontrar um padrão que permitirá prever IDs pertencentes a outros usuários.
Além disso, pode ser possível vazar IDs aleatórios ou hasheados por meio de outro endpoint de API, em outras páginas públicas na aplicação (página de perfil de outros usuários, etc.), ou em uma URL via referer.
Por exemplo, uma vez encontrei um endpoint de API que permite aos usuários recuperar mensagens diretas detalhadas por meio de um ID de conversa hasheado. A solicitação se parece com isso:
Isso parece estar bem à primeira vista, já que o _conversation\_id_ é uma sequência alfanumérica longa e aleatória. Mas mais tarde descobri que é possível encontrar uma lista de conversas para cada usuário apenas usando o ID do usuário!
Isso retornaria uma lista de _conversation\_ids_ pertencentes a esse usuário. E o _user\_id_ está disponível publicamente na página de perfil de cada usuário. Portanto, você pode ler as mensagens de qualquer usuário obtendo primeiro o user\_id na página de perfil deles, depois recuperando uma lista de conversation\_ids pertencentes a esse usuário e, finalmente, carregando as mensagens por meio do endpoint da API /api\_v1/messages!
Se os IDs de referência do objeto parecerem imprevisíveis, veja se há algo que você possa fazer para manipular o processo de criação ou vinculação desses IDs de objeto.
Se nenhum ID for usado na solicitação gerada pela aplicação, tente adicioná-lo à solicitação. Tente adicionar _id, user\_id, message\_id_ ou outros parâmetros de referência de objeto e veja se isso faz diferença no comportamento da aplicação.
Vulnerabilidades de HPP (fornecimento de múltiplos valores para o mesmo parâmetro) também podem levar a IDOR. As aplicações podem não antecipar que o usuário envie múltiplos valores para o mesmo parâmetro e, ao fazê-lo, é possível contornar o controle de acesso estabelecido no endpoint.
IDOR é uma vulnerabilidade que ocorre quando um aplicativo permite que um usuário acesse objetos diretamente por meio de uma referência a um identificador, como um número ou nome, sem qualquer outra forma de autenticação. Isso pode permitir que um invasor acesse recursos que não deveriam estar disponíveis para eles, como informações confidenciais ou funcionalidades restritas.
Existem várias maneiras de explorar uma vulnerabilidade IDOR, incluindo adivinhar ou enumerar identificadores, manipular solicitações HTTP ou usar ferramentas automatizadas para encontrar objetos ocultos.
Para evitar vulnerabilidades IDOR, os desenvolvedores devem implementar controles de acesso adequados e validar todas as solicitações do usuário para garantir que eles tenham permissão para acessar os objetos solicitados. Além disso, os identificadores não devem ser previsíveis ou sequenciais, e as solicitações devem ser protegidas contra manipulação ou interceptação.
Às vezes, os endpoints suscetíveis a IDOR não respondem com as informações vazadas diretamente. Eles podem levar a aplicação a vazar informações em outro lugar: em arquivos de exportação, e-mails e talvez até alertas de texto.
Às vezes, trocar o tipo de arquivo solicitado pode levar o servidor a processar a autorização de maneira diferente. Por exemplo, tente adicionar .json ao final da URL da solicitação e veja o que acontece.
Em termos de IDORs que mudam o estado (gravação), as IDORs de redefinição de senha, alteração de senha, recuperação de conta geralmente têm o maior impacto nos negócios. (Digamos, em comparação com uma IDOR de "alterar configurações de assinatura de e-mail".)
Quanto às IDORs que não mudam o estado (leitura), procure por funcionalidades que lidam com informações sensíveis na aplicação. Por exemplo, procure por funcionalidades que lidam com mensagens diretas, informações sensíveis do usuário e conteúdo privado. Considere quais funcionalidades na aplicação usam essas informações e procure por IDORs de acordo.