下载此文档

linux平台漏洞利用技术与实例分析.pptx


文档分类:IT计算机 | 页数:约36页 举报非法文档有奖
1/36
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/36 下载此文档
文档列表 文档介绍
linux平台漏洞利用技术实例分析目录Linux平台常见漏洞与缓解措施64位系统下栈溢出漏洞利用ROP技术绕过NX保护字符串格式化漏洞覆盖kernel_vsyscall并利用中断绕过缓解措施常见漏洞栈溢出strcpy()、gets()格式化字符串漏洞printf()整数漏洞类型转换堆漏洞UAF/DOUBLEFREE/堆溢出常见漏洞缓解措施0x01栈溢出漏洞简要分析进入该vuln后subrsp-0x40,堆栈开辟了0x40字节空间然后调用gets函数读入数据到edi所指向的空间,edi此时实际上是等于rsp的,指向栈顶的位置gets函数读入数据以换行符号为结束标志,在遇到换行符号前,会读取任意数据到栈里,这样当读入超长字符串后,就会覆盖函数的返回地址超长字符串导致返回地址被覆盖0x02漏洞调试通过调试信息可以看到开启了nx保护。因为堆栈只开辟了0x40字节空间,那么我们用0x40个字符a覆盖此空间,再用8个字符b覆盖ebp,后面用8个字符c就可以覆盖返回地址了目录64位系统下栈溢出漏洞利用ROP技术绕过NX保护字符串格式化漏洞覆盖kernel_vsyscall并利用中断绕过缓解措施0x01漏洞利用思路跳转到libc空间去执行代码执行system函数获得SHELL首先获得system函数地址使得system函数第一个参数为’/bin/sh’地址利用printf函数,打印某个函数地址根据偏移计算system获得/bin/sh地址利用gets读入/bin/。因为图中call执行完后要判断rbxrbp是否相等,不等要继续循环,所以这里让rbx为0,rbp为1就绕过了循环判断。所以覆盖完返回地址后继续用0x0和0x1填充,这样pop时就可以覆盖掉rbx,rbp接下来用printf的got地址填充,这样可以pop给r12,刚好rbx为0,然后call的时候执行printfR13传给了edx这里并没什么作用,因此就用0x0填充R14传给了RSI是我们想要打印的地址,这里打印printfgot表地址指向的内容,所以用printfgot表地址覆盖R15传给了edi,对于printf来说他是一个格式化串,直接就用rop里该串的地址0x400784填充Popr15后执行的是retn,要返回到rsp指向的空间,这里因为我们要跳转到0x400740去执行call,所以后面就用0x400740来填充Call执行完后,还要执行一个“addrsp,8”和6次pop,然后返回,那么我们在后面再布置7个地址,然后返回地址用vuln的地址,然后rop继续跳转到漏洞函数里去,方便后面再操作。所以接下来填充7个0x0和0x400656

linux平台漏洞利用技术与实例分析 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数36
  • 收藏数0 收藏
  • 顶次数0
  • 上传人资料分享
  • 文件大小7.51 MB
  • 时间2019-09-08