4.4 KiB
Estouro de Inteiro
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? Você quer ver sua empresa anunciada no HackTricks? ou quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
{% 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" %}
Transbordamento de Inteiro
Transbordamento de inteiro ocorre quando uma operação matemática resulta em um valor maior do que o máximo que pode ser representado pelo tipo de dado utilizado. Isso pode levar a comportamentos inesperados e potencialmente vulnerabilidades de segurança, como a possibilidade de alterar variáveis importantes na aplicação.
Exemplo
#include <stdio.h>
int main() {
int a = 2147483647; // maior valor positivo que um int pode armazenar
a = a + 1; // ocorre transbordamento de inteiro
printf("Valor de a: %d\n", a);
return 0;
}
Neste exemplo, a variável a
atinge o valor máximo que um int
pode armazenar e, ao adicionar 1, ocorre um transbordamento de inteiro, resultando em um valor negativo inesperado.
Mitigação
Para mitigar o transbordamento de inteiro, é importante validar entradas de usuário, verificar limites de variáveis e utilizar tipos de dados apropriados para as operações matemáticas necessárias. {% 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;
}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Trabalha em uma empresa de cibersegurança? Gostaria de ver sua empresa anunciada no HackTricks? ou gostaria de ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.