233论文中心网

[计算机科学与技术]Web服务缓冲区溢出渗透测试的设计与实现

soft/20/233/2007/14452478777 . html

摘要

缓冲区溢出漏洞是最常见的安全漏洞形式。更严重的是,缓冲区溢出漏洞是绝大多数远程网络攻击的原因,它可以让匿名互联网用户有机会获得对主机的部分或全部控制。因为这种攻击使任何人都有可能获得对主机的控制,所以它代表了极其严重的安全威胁。因此,利用缓冲区溢出作为渗透测试的手段是非常有意义的。

缓冲区溢出是渗透测试的重要手段。目前,大多数缓冲区溢出程序都是基于C/S架构的,因此其使用的便利性受到了限制。本文采用了目前最流行的B/S架构,最终实现了利用缓冲区溢出作为Web服务来检测远程主机是否存在溢出漏洞,并提醒用户尽快修复该漏洞的目的。本文介绍了缓冲区溢出的原理和三种常见的缓冲区溢出漏洞。通过实例介绍了缓冲区溢出程序的执行流程。外壳代码的编写技术;Java网络编程技术。

在原理研究的基础上,本文主要给出了缓冲区溢出作为Web服务的设计和实现过程以及Web服务的其他辅助功能块(网络安全新闻管理、网络安全论坛)的设计和实现。其中,缓冲区溢出模块和监控模块采用JavaBean技术实现,其他部分采用JSP技术实现。

总的来说,这个渗透测试平台实现了缓冲区溢出的便捷性、通用性和安全性,可以加载任何已经编译成可执行文件的溢出程序。与传统的C/S架构下的测试平台相比,是一大进步。

关键词:渗透测试、缓冲区溢出、JSP

目录

摘要1

摘要2

第1章简介5

1.1项目背景5

1.2渗透测试概述5

渗透测试的专业性6

1.2.2渗透检测的三个阶段6

1.3纸张排列8

第二章缓冲区溢出攻击技术9

2.1缓冲区溢出的基本原理9

2.2缓冲区溢出的常见形式11

2.2.1堆栈溢出11

2.2.2堆溢出12

2.2.3格式字符串溢出13

2.3缓冲区溢出执行流程16

2.4外壳代码技术19

2.4.1外壳代码编程语言19

2.4.2外壳代码本身的重新定位20

外壳代码代码21

第三章Java网络编程技术介绍。23

3.1 JavaBean技术23

3.1.1 JavaBean 23的概念

3.1.2 JavaBean特性23

3.1.3 JavaBean属性23

3.1.4 JSP页面中JavaBeans的部署24

3.2套接字网络编程技术

3.3 Java数据流25

3.3.1数据流的基本概念

3.3.2数据流分类介绍25

第四章缓冲区溢出渗透测试平台的设计与实现27

4.1测试平台框架设计27

4.1.1整体框架设计27

4.1.2网络安全新闻发布模块设计28

4.1.3网络安全论坛模块设计29

4.1.4缓冲区溢出渗透测试模块31的设计

4.2缓冲区溢出渗透测试编码的实现34

4.2.1缓冲区溢出漏洞选择34

4.2.2溢出模块34的实现

4.2.3监测模块34的实施

4.2.4本地执行命令实现36

4.2.5缓冲区溢出状态实现39

第五章实验设计和实验数据42

5.1实验准备42

sp3修补程序43之前的5.2 SqlServer2000

5.2.1实验数据43

sp3修补程序45之后的5.3 SqlServer2000

5.3.1实验数据45

结论47

参考文献48

感谢49