zoukankan      html  css  js  c++  java
  • 逆向之整数溢出漏洞

    逆向之整数溢出漏洞

    溢出漏洞的简介

    • 溢出漏洞的概念:

      溢出是黑客利用程序的漏洞,专门开发的一种程序,加相应的参数运行后,就可以达到某种目的。溢出是程序设计者设计时的不足所带来的错误

    • 溢出的类型:

      溢出分为缓冲区溢出、 内存溢出、数据溢出等

    整数的概念

    • 整数的分类:

      在计算机中,整数分为无符号整数以及有符号整数两种

    • 数据在计算机中的存储方式:

      数据在计算机中的存储方式都是二进制序列的形式,比如整数“10”在计算机中就是以二进制序列“1010”进行存储的。

    • 常见的整数类型:

      常见的整数类型有8bit(单字节字符、布尔类型) 16bit(短整型) 32bit(长整型)等。

    整数溢出

    • 整数溢出定义:

      计算机中整数都有一个宽度,即可以表示的最大值。当试图保存一个比它可以表示的最大值还大的数时,就会发生整数溢出。
      例如,将一个32bit的int类型数据存放在一个8bit的char类型变量里就会发生整数溢出现象整数溢出有的时候不会造成太大的影响,但也有可能导致极为严重的后果

    • 整数溢出危害:

      ISOC99标准规定整数溢出将导致“不确定性行为”,意即遵循标准的编译器可以做它们想做的任何事,比如完全忽略该溢出或终止进程。大多数编译器都会忽略这种溢出,这可能会导致不确定或错误的值保存在了整数变量中。

    避免溢出的方法

    • 尽早释放无用对象的引用
    • 程序进行字符串处理时,尽量避免使用String,而应使用StringBuffer。
    • 尽量少用静态变量。
    • 避免集中创建对象尤其是大对象,如果可以的话尽量使用流操作

    代码

    愿路途漫长,以后莫失莫忘。 愿你不骄不躁,安稳顺心。

    作者:菜鸟-传奇
    本文版权归作者和博客园共有,不以任何盈利为目的,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律声明责任的权利。
  • 相关阅读:
    [super dealloc]内存释放的先后顺序
    NSString的常用方法
    Xcode开发技巧之code snippets(代码片段)
    关于oc运行时 isa指针详解
    ios快捷键
    自动释放池的使用
    【字典树】统计难题
    数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
    字典树模板
    数据结构实验之串三:KMP应用
  • 原文地址:https://www.cnblogs.com/cainiao-chuanqi/p/14704062.html
Copyright © 2011-2022 走看看