> For the complete documentation index, see [llms.txt](https://blog.s1rn3tz.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.s1rn3tz.ovh/pentest-mobile/android/corruption-de-memoire/out-of-bound-access.md).

# Out of Bound Access

## Linear Out Of Bound Access

#### Ressources

{% embed url="<https://github.com/3sjay/talks/blob/main/MHL_ScudoTalkPDF.pdf>" %}

### Reconnaissance

Les vecteurs d'attaques principaux pour ce type de vulnérabilité sont:

* Des erreurs de vérification de borne:
  * Utilisation de <= au lieu de <
  * Oublie de vérification de la taille réelle du buffer
* Un mauvais calcul de taille:
  * Confusion entre nombres d'éléments et nombre d'octets
  * Cacul dépassant la taille d'un entier
* L'abus de confiance en des données non fiables:
  * Entrée utilisateur plus longue qu'attendue
* Gestion incorrecte des chaînes de caractères:
  * Oublie de terminaison NULL (\0)
  * Utilisation incorrecte de fonctions de copie
  * mélanges entre chaînes de caractères et buffers binaires
* Erreurs d'indexation:
  * Index négatif converti en entier non signé
  * Calcul d'index incorrect
  * décalage (offset) non vérifié
* Arithmétique de pointeur
  * Déplacement d’un pointeur au-delà de l’objet prévu
  * Mauvais calcul d’un offset dans une structure
  * Hypothèse qu’une zone mémoire est contiguë alors qu’elle ne l’est pas
* Condition de conccurence

Patterns

## Non-Linear Out Of Bound Access
