默认计划
931人加入学习
(9人评价)
安全测试缓冲区溢出

购买过Kali Linux渗透测试、武官课程包、安全技术会员课程的学员不要再买此课程

价格 ¥ 300.00
该课程属于 高校公益行 | 网络安全实践训练营 请加入后再学习

缓冲区溢出 攻击

oday 官方没有发现 只掌握某一个人手里面 直接远程控制你的计算机 种植木马  通过缓冲区攻击也是控制目标机器 从原理来自己去发现漏洞实现方法

缓冲区是内存里面的片段 使用程序 输入需要程序替我们执行的参数变量 通过这些参数和变量传递给程序 吧这些参数和变量提交的的数据部分 提交给计算机 放到内存里面 缓冲区就是就是内存片段 内存交由cpu处理计算 然后将结果传递给我们或者是写到计算机硬盘里面 这也是计算机程序运行根本原理

程序是一个动态的根据用户的输入 产生不同的结果反馈给用户 也是计算机程序的本质

计算机的漏洞也是源于计算机程序可以j接受输入数值 当我们向计算机输入某一个数值的时候 其实是通过某些过变量参数 这些可变的参数传递给计算机 正常情况下 向一个计算机发送一个参数 和一个指令 数据 正常情况下计算机会把我们提交的数据当成数据来处理 但是如果程序设计的规则不严 有可能实现输入的一部分数据和代码通过某种方法一些程序规则欺骗计算机让它将我们原本输入的数据这部分东西当成代码在计算机里面执行 这样也就造成某种注入的漏洞 后面的上传和sql也就是程序没有严格的限定和区分数据代码导致原本是输入数据的部分输入代码 被计算机执行 执行可能造成计算机的崩溃 和控制目标计算机

显示参数

类似于分号;| && ls 

漏洞产生的根源 程序本身没有做对用户输入的参数 过滤检查消毒毒交给计算机放到内存有cpu执行 本质的原理

更加复杂的 缓冲区的本质就是内存片段 应用程序提交的数据都会放在缓冲区里面 cpu去调度 去执行 执行之后吧结果返回客户端程序或者硬盘  如果应用程序对参数没有进行限制 会导致代码的执行 如果说程序没有对缓冲区的边境大小 做限制也有可能造成用户提交的数据溢出啦缓冲区(比如说提交啦一个大的数据放到一个缓冲区 如果缓冲区没有做边界的限制 那么这个大数据就会溢出到默认的缓冲区大小之外的空间里 导致数据占据其他进程 其他数据该有的内存里面 导致结果 程序崩溃 或者是进程劫持 完全控制服务器)没有对

逆向工程 打包安装号 反汇编 

发现是否存在漏洞 :源码审计 (能接触到源代码检查相应的漏洞) 

逆向工程(打包编译之后的软件安装包 逆向工程反汇编 逆向分析)

模糊测试 :安装包 安装一个操作系统 和环境软件安装包 部署 运用程序动态工具来检测这个程序运行工程中对我输入不同数值的反馈 这个时候 就可以像程序发送任意组合

数据生成器:公开通用的或者自己写程序 向目标程序发送数据 通过编程语言生成半随机的有规律性的打向目标机器

测试工具 动态调试

[展开全文]

缓冲区本质上是内存的片段

[展开全文]

 

罪恶的根源:变量

数据与代码边界不清 ,

 

如何发现漏洞?

源码审计

逆向工程

模糊测试:

            向程序堆栈半随机的数据,根据内存变化判  断溢出

            数据生成器:生成随机、半随机的数据,

           测试工具:识别出漏洞

[展开全文]

如何发现漏洞

源码审计

逆向工程

模糊测试

  1. 向程序堆栈半随机的数据,根据内存变化判断溢出
  2. 数据生成器:生成随机数据
  3. 测试工具:识别溢出漏洞
[展开全文]

罪恶的根源:变量
    数据与代码边界不清
    最简漏洞原理 —— shell脚本漏洞
当缓冲区边界限制不严格时,由于变量传入畸形数据或程序运行错误,导致缓冲区被“撑
暴”,从而覆盖了相邻内存区域的数据;
    成功修改内存数据,可造成进程劫持,执行恶意代码,获取服务器控制权等后果
如何发现漏洞
• 源码审计
• 逆向工程
• 模糊测试
• 向程序堆栈半随机的数据,根据内存变化判断溢出
• 数据生成器:生成随机、半随机数据
• 测试工具:识别溢出漏洞

[展开全文]