美文网首页网络安全渗透程序员
网络安全渗透缓冲区溢出学习笔记------初级篇(一)

网络安全渗透缓冲区溢出学习笔记------初级篇(一)

作者: 玩世不恭的康森先生 | 来源:发表于2017-10-17 22:02 被阅读19次

    (第一次学习缓冲区溢出,全程懵圈。)

    一:初探缓冲溢出攻击:

    (1)堆栈的基础知识:

         1.堆栈遵循的原则:后进先出

         2.堆栈涉及两种操作:压栈(push),出栈(pop)

     (2)缓冲区溢出的基本原理初探:

         1.Strcpy(复制字符串函数)是一个经常引起缓冲溢出的函数。

         2.首先看到传递给function的字符串长度要远大于bufftr的大小,并且function没有经过任何长度校验而直接用strcpy将字符串拷如bufftr.

        3.当执行strcpy时,程序将256字节的字符串拷入到bufftr中,但bufftr仅能容纳16字节。

    二:windows堆栈溢全面解析:

      (1)溢出漏洞实例:

          1.编译,执行程序:

          2.进入汇编模式:Main函数的启动,可以看出调用主函数时堆栈的变化

          3.Main函数通过Call@ILT+0(fun) (00401005)指令调用Fun函数,在该指令之前还有两个push指令操作,这两个指令就是将Fun函数的两个实参按照从右像左的顺序压入堆栈。

         4.进入Fun函数的第一条指令就是push ebp,即保存地址指针EBP.最后完成了数据覆盖。

    (2)堆栈溢出漏的利用:

            JMP ESP和覆盖SEH结构

    三:经典WIN32堆栈溢出

    本地溢出程序,溢出后ShellCode功能时添加用户x,密码x:

    相关文章

      网友评论

        本文标题:网络安全渗透缓冲区溢出学习笔记------初级篇(一)

        本文链接:https://www.haomeiwen.com/subject/qpsjuxtx.html