zoukankan      html  css  js  c++  java
  • 2019-2020-1 20175330 《信息安全系统设计基础》第三周学习总结

    # 2019-2020-1 20175330 《信息安全系统设计基础》第三周学习总结
    目录
    * 一、教材学习内容总结
    * 二、教材学习中的问题和解决过程
    * 三、心得体会
    ### 一,教材学习内容总结
    我将本周的东西做了一个脑图

    其中的数据

    操作数可分为三种类型:

    ①、立即数(immediate):书写方式是符号后跟一个标准C表示的整数,比如52,$0x1F等等。任何能放进一个32位的字里面的数值都可以做立即数。

    ②、寄存器(register):它表示某个寄存器的内容,可以是8个32位寄存器中的一个(比如%eax),也可以是8个16位寄存器中的一个(比如%ax),还可以是8个单字节寄存器寄存器(比如%al)。

    ③、存储器(memory):它会根据计算出来的地址(通常称为有效地址)来访问某个存储器位置。我们将存储器看成一个很大的字节数组,用符号Mb[Addr] 表示对存储在存储器中从地址 Addr 开始的 b 个字节值的引用。

     一、Imm 是立即偏移数

     二、Eb 是基址寄存器

     三、Ei 是变址寄存器

    s 是比例因子,必须是 1、2、4或8

      然后有效地址计算公式为: Imm + R[Eb]+R[Ei]s。比如对于2(%esp,%eax,4)这个操作数来讲,它代表的是内存地址为2+%esp+4%eax的存储器区域的值。

     

     

    缓冲区溢出

    原理

    通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。

    漏洞

    缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。一般而言,攻击者攻击root程序,然后执行类似“exec(sh)”的执行代码来获得root权限的shell。为了达到这个目的,攻击者必须达到如下的两个目标:
    1. 在程序的地址空间里安排适当的代码。
    2. 通过适当的初始化寄存器和内存,让程序跳转到入侵者安排的地址空间执行。
    可以根据这两个目标来对缓冲区溢出攻击进行分类。 
    ### 二,教材学习中的问题和解决过程

     

  • 相关阅读:
    Vue父子组件传值之——访问根组件$root、$parent、$children和$refs
    js判断是否为ie浏览器,精确显示各个ie版本
    在JS/jQuery中,怎么触发input的keypress/keydown/keyup事件?
    HTML中a标签自动识别电话、邮箱
    如何彻底删除Mac磁盘中的文件
    使用Understand for Mac编写您的第一个API脚本
    如何将MacOS Catalina降级为Mojave
    macOS Catalina 10.15.1 发布 全新 Emoji、支持 AirPods Pro
    WingIDE Pro 7如何新建项目
    忘记MacBook密码的解决技巧!
  • 原文地址:https://www.cnblogs.com/waaaaa/p/11667861.html
Copyright © 2011-2022 走看看