hacktricks/pentesting-web/integer-overflow.md

3.9 KiB
Raw Blame History

整数オーバーフロー

htARTEHackTricks AWS Red Team Expert を使って、ゼロからヒーローまでAWSハッキングを学ぶ

{% 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" %}整数オーバーフローは、整数の最大値を超える計算結果が発生する脆弱性です。これは、C言語などの低レベル言語で特に一般的です。整数オーバーフローは、攻撃者が予期しない動作を引き起こし、メモリの破壊やセキュリティ上の脆弱性を悪用する可能性があります。整数オーバーフローを防ぐためには、適切な入力検証と整数演算の結果を確認することが重要です。{% 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;
}
ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert