[发明专利]一种Intel并Linux64平台上缓冲区溢出利用方法在审
申请号: | 201710707976.6 | 申请日: | 2017-08-17 |
公开(公告)号: | CN107480523A | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 王鹏 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F11/36 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 孙晶伟 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 intel linux64 平台 缓冲区 溢出 利用 方法 | ||
技术领域
本发明公开一种缓冲区溢出利用方法,涉及网络安全技术领域,具体的说是一种Intel并Linux64平台上缓冲区溢出利用方法。
背景技术
在网络安全领域,缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。然而目前介绍的溢出利用多是针对32位平台,很少有可供参考的64位平台上程序溢出利用的方法。而本发明提供一种Intel并Linux64平台上缓冲区溢出利用方法,鉴于Linux64位平台上函数调用时会将一系列寄存器做压栈处理,这些保存在栈上的寄存器值会在函数实现部分被引用,通过利用覆盖返回地址的程序溢出,通过确定函数的入口地址,将函数开头部分寄存器压栈时寄存器的值记录下来并用作溢出内容的一部分,保证函数返回不出错以免函数崩溃。还可运用到渗透测试过程中,增加测试的适用范围。
gdb:GNU项目的程序调试器。
peda:python exploit development assistant的简写,是一个利用程序开发辅助工具。
ida:商业的反汇编器和调试器。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种Intel并Linux64平台上缓冲区溢出利用方法,基于Linux64位平台,利用缓冲区溢出,使函数正常返回而达到利用的目的。
一种Intel并Linux64平台上缓冲区溢出利用方法,基于Linux64位平台系统,关闭栈保护、堆栈不可执行和ASLR编译器选项后编译应用程序;
观察函数开头部分入栈的寄存器值并记录,确定待溢出字符数组的偏移量,利用偏移量和记录下来的寄存器值构造溢出内容,
使用构造的溢出内容,覆盖函数的返回地址,完成函数的返回。
通过gdb在函数上设断点,在函数被调用时通过gdb观察开头部分入栈的寄存器值。
待溢出字符数组的偏移量是函数初调用时记录的rsp寄存器的值与待溢出的字符数组的地址的差值。
在函数的ret指令上设断点,当应用程序执行到ret时,通过gdb查看函数中的待溢出的字符数组的地址。
一种Intel并Linux64平台上缓冲区溢出利用系统,包括Linux64位平台、调试模块、汇编模块,
在Linux64位平台系统上,关闭栈保护、堆栈不可执行和ASLR编译器选项后编译应用程序;
调试模块观察函数开头部分入栈的寄存器值并记录,汇编模块确定待溢出字符数组的偏移量,利用偏移量和记录下来的寄存器值构造溢出内容,
Linux64位平台系统使用构造的溢出内容,覆盖函数的返回地址,完成函数的返回。
所述的系统中汇编模块将函数初调用时记录的rsp寄存器的值与待溢出的字符数组的地址的差值作为待溢出字符数组的偏移量。
所述的系统中调试模块包括gdb,通过gdb在函数上设断点,在函数被调用时通过gdb观察开头部分入栈的寄存器值。
所述的系统中调试模块在函数的ret指令上设断点,当应用程序执行到ret时,通过gdb查看函数中的待溢出的字符数组的地址。
本发明与现有技术相比具有的有益效果是:
本发明提供一种Intel并Linux64平台上缓冲区溢出利用方法,基于Linux64位平台上函数调用时会将一系列寄存器做压栈处理,这些保存在栈上的寄存器值会在函数实现部分被引用,通过利用覆盖返回地址的程序溢出,通过确定函数的入口地址,将函数开头部分寄存器压栈时寄存器的值记录下来并用作溢出内容的一部分,保证函数返回不出错以免函数崩溃。还可运用到渗透测试过程中,增加测试的适用范围。
附图说明
图1本发明方法的流程示意图。
具体实施方式
本发明提供一种Intel并Linux64平台上缓冲区溢出利用方法,基于Linux64位平台系统,关闭栈保护、堆栈不可执行和ASLR编译器选项后编译应用程序;
观察函数开头部分入栈的寄存器值并记录,确定待溢出字符数组的偏移量,利用偏移量和记录下来的寄存器值构造溢出内容,
使用构造的溢出内容,覆盖函数的返回地址,完成函数的返回。
同时提供一种Intel并Linux64平台上缓冲区溢出利用系统。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明进一步详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710707976.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种ELF文件执行控制系统及方法
- 下一篇:一种安全沙箱及其构建方法