hacktricks/pentesting-web/integer-overflow.md

3.5 KiB

Débordement d'entier

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

{% tabs %} {% tab title="Rust" %}

fn main() {

let mut quantity = 2147483647;

let (mul_result, _) = i32::overflowing_mul(32767, quantity);
let (add_result, _) = i32::overflowing_add(1, quantity);

println!("{}", mul_result);
println!("{}", add_result);
}

{% endtab %}

{% tab title="C" %}

Débordement d'entier

Lorsqu'un entier dépasse sa valeur maximale autorisée, il peut entraîner un débordement d'entier. Cela peut entraîner des comportements inattendus, tels que des valeurs négatives inattendues ou des valeurs très grandes qui ne sont pas correctement gérées par le programme. Les débordements d'entiers peuvent être exploités par des attaquants pour modifier le comportement attendu du programme et potentiellement exécuter du code malveillant. {% endtab %}

#include <stdio.h>
#include <limits.h>

int main() {
int a = INT_MAX;
int b = 0;
int c = 0;

b = a * 100;
c = a + 1;

printf("%d\n", INT_MAX);
printf("%d\n", b);
printf("%d\n", c);
return 0;
}
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!