一切,都是最好的安排。
可以选择接受,或者笑着接受。

日拱一卒之整数溢出漏洞

本文转自:https://blog.csdn.net/microzone/article/details/70240553/。

漏洞简介

整数溢出漏洞(integer overflow):在计算机中,整数分为无符号整数以及有符号整数两种。其中有符号整数会在最高位用0表示正数,用1表示负数,而无符号整数则没有这种限制。另外,我们常见的整数类型有8位(单字节字符、布尔类型)、16位(短整型)、32位(长整型)等。关于整数溢出,其实它与其它类型的溢出一样,都是将数据放入了比它本身小的存储空间中,从而出现了溢出。由此引发的一切程序漏洞都可以成为整数溢出漏洞。

漏洞总结:

略。

个人理解:

在数据进行交互时,对于可控赋值(值的大小)的参数而言,或可控符号(正负)的参数而言,可以通过转换 参数的大小或正负 来使公式计算——得到超出预估结果的值。

个人解释:

一般常数(固定一个大小的值)的值虽然很大,但是在编程语言中,我们给定了一个定值,比如C语言:①最大的无符号整型常数为65535②int最大值是2147483647。
使得我们的计算结果在超出其最大值或最小值后,会使得结果出现另一个方向的循环。
举个例子:如果我们对于预先设定的值作了限制:不允许参数值为负。所以“参数值为-1”不存在,所以跳入正循环“0+(-1)=65535-1=65534”,即此时我们得到的值为65534。

posted on 2024-07-02 19:41  大道至理  阅读(2)  评论(0编辑  收藏  举报