收藏 分享(赏)

基于网络的漏洞分析系统.doc

上传人:wo7103235 文档编号:6250659 上传时间:2019-04-03 格式:DOC 页数:49 大小:688KB
下载 相关 举报
基于网络的漏洞分析系统.doc_第1页
第1页 / 共49页
基于网络的漏洞分析系统.doc_第2页
第2页 / 共49页
基于网络的漏洞分析系统.doc_第3页
第3页 / 共49页
基于网络的漏洞分析系统.doc_第4页
第4页 / 共49页
基于网络的漏洞分析系统.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、1本科毕业论文(科研训练、毕业设计)题 目:基于网络的漏洞分析系统姓 名:学 院:软件学院系:专 业:软件工程年 级:学 号:指导教师(校内): 职称: 年 月摘 要2摘 要在信息技术革命的浪潮中,全球互联网(World Wide Web)起着至关重要的作用。如今互联网已经深入到行政,经济,军事等各个角落,成为人们工作生活中不可或缺的一部分。然而由于互联网早期设计的缺陷,在广泛普及的同时越来越多的安全问题暴露出来,造成不可估量的损失,成为阻碍网络发展的最大障碍。本文分析了网络安全问题中的重要环节:漏洞的产生。漏洞作为复杂软件设计与生俱来的危机几乎不可避免,这是由于软件设计本身的复杂性以及早期网

2、络协议的脆弱性造成的。几乎每天都有新的漏洞被发现,在软件更新的同时漏洞也会不断产生。虽然可以对已有的漏洞进行修补,然而庞大的漏洞数量,频繁的漏洞更新工作,以及更多潜在的漏洞危险仍然严重影响着网络的安全。本系统对分析网络漏洞的有力工具:端口漏洞扫描器进行了研究,实践和探索。该系统基于 Visual C+.net 开发平台,运用 Winsock,多线程,MFC 等技术作为开发手段,在简洁良好的用户界面环境下实现了对目标主机端口的探测以及常见漏洞的扫描分析等功能。关键词 网络安全工具 漏洞扫描 端口探测 WinsockAbstract3AbstractDuring the 3rd revolutio

3、n of technology, the World Wide Web played a very significant role. It activates in many parts of human life, such as administration, economic and military, that one can hardly tear apart from. Nevertheless, as the limitation in earlier protocol design, more and more serious security problems come u

4、p. And for it inestimably loss suffered. The security problem becomes the most important one that restricts the evolution of Internet.In this paper we have analyzed a very important part of the Internet security: the generation of loophole. Its impossible to avoid all the loopholes in software espec

5、ially that is huge due to the complexity of the system and the limitation in earlier design. New loopholes are discovered, or created in the update everyday. Although its possible to patch a loophole as we discovered it, the unnumbered loopholes, whether discovered or known, still limited the securi

6、ty of Internet.In our work, we have designed a very powerful tool in loophole analysis: a Network Vulnerability Scanner in Visual C+ .net SDK, with Winsock, Multithreading, and MFC technology. With clearly UI, ports scan and some familiar loopholes scan are achieved.Key words Network security tools,

7、 Network vulnerability scan, Port scan, Loophole scan.目 录4目 录第一章 绪 论 611 课题背景 .612 主要研究内容 .713 本论文组织结构 .8第二章 基本概念和工具 .921 基本概念及其技术 .9211 TCP/IP 协议简介 9212 端口功能简介 9213 多线程技术简介 .12214 Winsock 技术简介 14215 常见漏洞简介 .1722 使用工具及其介绍 19221 Microsoft Visual Studi o .net 简介 .19222 Microsoft Visual C+简介 .20223 MFC

8、 简介 2123 本章小结 22第三章 系统的设计 2331 系统整体设计方案 23311 设计模式简介 .23312 系统流程简介 .24313 系统的类和对象 .2532 系统的详细设计 26321 端口探测子模块 .26322 漏洞扫描子模块 .2733 本章小结 .28第四章 系统的实现 2941 系统的开发环境 2942 系统的运行界面 2943 系统的功能演示 31431 端口探测功能演示 .31432 漏洞扫描功能演示 .3244 与 X-Scan 系统的对比 .34441 端口探测功能对比 .34442 漏洞扫描功能对比 .3645 本章小结 38第五章 总 结 39致 谢 .

9、40参考文献 41CONTENTS5CONTENTSCHAPTER 1 INTRODUCTION 611 Background .612 Contents And Means .713 Thesis Hierarchy .8CHAPTER 2 BASIC CONCEPTS AND TOOLS 921 Basic Concept And Technology .9211 TCP/IP Protocol Introduction 9212 Port Introduction .9213 Multithreading Introduction 12214 Winsock Introduction .

10、14215 Familiar Loopholes Introduction 1722 22 Tool Introduction .19221 Microsoft Visual Studio .net Introduction 19222 Microsoft Visual C+ Introduction 20223 MFC Introduction .2123 Summary .22CHAPTER 3 SYSTEM DESIGN 2331 Holistic Design Plan 23311 Design Pattern .23312 Flow Chart .24313 Classes Char

11、t 2532 Partial Design Plan .26321 Port Module Flow Chart .26322 Loophole Module Flow Chart .2733 Summary .28CHAPTER 4 System Implement .2941 Environment .2942 Interface Introduction 2943 System Demonstrate 31431 Port Scan Demo .31432 Loophole Scan Demo .3244 Compare With X-Scan .34441 Port Scan Func

12、tion Compare .34442 Loophole Scan Function Compare .3645 Summary .38CHAPTER 5 Conclusions and Perspectives .39ACKNOWLEDGES 40REFERENCES 41第一章 绪 论6第一章 绪 论11 课题背景在信息技术革命的浪潮中,全球互联网(World Wide Web)起着至关重要的作用。通过网络作为信息传递的载体,进行信息的传递,交互和获取已经成为现代信息社会的一个重要特征。如今随着人们对网络信息系统的依赖性日益增强,互联网已经深入到行政,经济,军事等各个角落,成为人们工作生活

13、中不可或缺的一部分。当今社会是一个信息化社会,计算机通信网络在政治、军事、金融、商业、交通、电信、文教等方面的作用日益增加。计算机技术和通信技术相结合所形成的信息基础设施已经成为反映信息社会特征最重要的基础设施。人们建立了各种各样完备的信息系统,使得人类社会的一些机密和财富高度集于计算机中。但是这些信息系统都是依靠计算机网络接受和处理信息,实现其相互间的联系和对目标的管理、控制。随着网络上各种新业务的兴起,如电子商务(Electronic Commerce) 、电子现金(Electronic Cash) 、数字货币(Digital Cash) 、网络银行(Network Bank)等,以及各种

14、专用网(比如金融网等)的建设,数据的保密问题显得越来越重要。由于互联网早期设计的缺陷,在广泛普及的同时越来越多的安全问题开始暴露出来。在人类进入信息时代的今天,人们对重要信息,小到个人隐私,个人虚拟财产,大到商业机密,国家安全机密的重视程度与日俱增。信息网络已经成为社会发展的重要保证。信息网络涉及到国家的政府、军事、文教等诸多领域。包括政府宏观调控决策、商业经济信息、银行资金转帐、股票证券、能源资源数据、科研数据等重要信息。其中有很多是敏感信息,甚至是国家机密,难免会吸引来自世界各地的各种人为攻击(例如信息泄漏、信息窃取、数据篡改、数据删添、计算机病毒等) 。同时,网络实体还要经受诸如水灾、火

15、灾、地震、电磁辐射等方面的考验。近年来,计算机犯罪案件也急剧上升,计算机犯罪已经成为普遍的国际性问题。据美国联邦调查局的报告,计算机犯罪是商业犯罪中最大的犯罪类型之一,每笔犯罪的平均金额为 45000 美元,每年计算机犯罪造成的经济损失高达第一章 绪 论750 亿美元。计算机犯罪案率的迅速增加,使各国的计算机系统特别是网络系统面临着很大的威胁,并成为严重的社会问题之一。12 主要研究内容网络安全主要包括物理安全和逻辑安全 2 个方面。其中物理安全是指计算机系统,网络服务器,路由器,交换机等硬件设备的安全性。而逻辑安全指网络主机的访问安全策略,包括网络访问权限,登陆权限,目录控制权限,文件控制权

16、限,用户表等权限得到合理的分配并有效的防止恶意操作。本文的研究重点主要在网络的逻辑权限。网络漏洞是网络逻辑权限的重要内容,其成因主要是由于设计人员和程序员的疏忽或失误及对网络环境的不熟悉造成的。进行网络开发时,许多设计开发者并不重视网络的安全情况,也不完全了解程序的内部工作机理,致使程序不能适应所有的网络环境,造成网络功能与安全策略发生冲突,最终导致漏洞的产生。网络中的漏洞可以存在于硬件和软件中,但更多还是以软件漏洞的形式存在。无论是网络应用软件,还是单机应用软件,都广泛隐藏有漏洞。网络中的聊天软件如 QQ,文件传输软件如 FlashFXP、CuteFTP,浏览器软件如 IE,单机中的办公软件

17、如 MS Word,这些应用软件中都存在着可导致泄密和招致网络攻击的漏洞。在各种操作系统中也同样存在着大量漏洞,如:Windows 系统中存在 RPC 远程任意代码执行漏洞等,RedHat 中存在可通过远程溢出获得 root 权限的漏洞等,各种版本的 Unix 系统中同样存在着大量可导致缓冲器溢出的漏洞等。在 Internet 提供服务的各种服务器中,漏洞存在的情况和招致的危害更是严重。无论是 Web 服务器、FTP 服务器、邮件服务器,还是数据库服务器和流媒体服务器都存在着可导致网络攻击的安全漏洞。脚本语言的设计缺陷和使用不规范,更是令因特网的安全状况雪上加霜。网络服务主要是依靠端口的开放进

18、行的,TCP/IP 协议和 UDP 协议对于关闭的端口发送任何数据都是徒劳的。因此本系统在 Visual C+.net 开发平台下,利用 Winsock 技术和多线程技术,在简洁良好的用户界面下实现了对 60 个常用端口的同步探测工作,并对网络上比较知名的 3 个漏洞(FINGER,FTP,SMTP 漏第一章 绪 论8洞)进行了相应的扫描。从而有效的对目标主机的脆弱程度进行了一定程度的检验。13 本论文组织结构本论文结构如下:第一章:绪论。介绍本论文的课题背景,主要研究内容和和组织结构。背景主要介绍了当今网络的重要性和安全状况,主要研究内容介绍了网络漏洞的产生和基本情况,以及系统的实现意义。第

19、二章:基本概念和工具。介绍本系统使用的技术,如 TCP/IP 网络协议的起源及分层结构,端口的分类及其功能简介,多线程技术和 Winsock 技术,常见漏洞简介等。以及系统的开发工具:Microsoft Visual Studio .net,Microsoft Foundation Class 等。第三章:系统的设计。主要介绍系统的设计模式,类之间的关联(类图) ,系统运行的整体流程和详细的图表说明。以及系统详细设计,主要包括端口探测子模块和漏洞扫描子模块 2 个部分。第四章:系统的实现。简要说明了系统的运行界面,包括系统各个部分的功能和各个控件的作用。并演示了端口探测功能和漏洞扫描功能的执行

20、结果,最后将本系统和网络上著名的漏洞扫描软件 X-Scan 进行对比,分析了本系统的优势和不足之处。第五章:总结。总结了系统设计的经验以及个人对系统的评价,对系统进行了展望,并确定了下一步工作。第二章 基本概念和工具9第二章 基本概念和工具本系统以 Visual C+.net 作为开发平台,利用 TCP/IP 协议和 Winsock 技术进行端口探测和漏洞分析。因此本章将从网络协议,端口开放,Winsock 技术等方面进行详细的介绍。21 基本概念及其技术211 TCP/IP 协议简介TCP/IP 是为互联网开发的第一套协议,是在 60 年代由美国麻省理工学院和一些商业组织为美国国防部开发的。

21、TCP/IP 协议是支持 Internet/Intranet 的基本通信协议。传输控制协议 TCP(Transmission Control Protocol)负责数据的流量控制,并保证传输的正确性。网际协议 IP(Internet Protocol)负责将数据从一处传往另一处。TCP/IP 协议具有广泛的兼容性和可伸缩性,可连接不同的计算机网络协议、不同的网络设备。TCP/IP 已成为网络互连事实上的标准,并成为支持 Internet/Intranet 的协议标准。从协议分层模型方面来讲,TCP/IP 由四个层次组成:数据链路层(又称网络接口层) 、网络层、传输层、应用层。图 3.1 TCP

22、/IP 分层结构 数据链路层: 这是 TCP/IP 软件的最低层,负责接收 IP 数据报并通过网络第二章 基本概念和工具10发送,或者从网络上接收物理帧,抽出 IP 数据报,交给 IP 层。 网络层: 负责相邻计算机之间的通信。其功能包括三方面。一、处理来自传输层的分组发送请求,收到请求后,将分组装入 IP 数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入数据报:首先检查其合法性,然后进行寻径-假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。三、处理路径、流控、拥塞等问题。 传输层: 提供应用程序

23、间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。 应用层: 向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。如远程登录 TELNET 使用 TELNET 协议提供在网络其它主机上注册的接口。TELNET 会话提供了基于字符的虚拟终端。文件传输访问 FTP使用 FTP 协议来提供网络内机器间的文件拷贝功能。TCP/IP 协议的通讯模式:图 3.2 TCP/IP 通讯模式第二章 基本概念和工具11212 端口功能简介端口是计算机与外界通讯交流的出口。应用程序通过系统调用与某端口建立连接(b

24、inding)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。在 TCP/IP 协议的实现中,端口操作类似于一般的 I/O 操作,进程获取一个端口,相当于获取本地唯一的 I/O 文件,可以用一般的读写方式访问类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口。按端口号可分为 3 大类:(1)公认端口(WellKnownPorts):从 0 到 1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80 端口实际上总是 HTTP 通讯。(2)注册端口(RegisteredPorts)

25、:从 1024 到 49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从 1024 左右开始。(3)动态和私有端口(Dynamicand/PrivatePorts):从 49152 到 65535。理论上,不应为服务分配这些端口。实际上,机器通常从 1024 起分配动态端口。但也有例外:SUN 的 RPC 端口从 32768 开始。端口扫描用于判断目标主机的端口是否开放。从黑客的角度讲,攻击一台联网主机首先必定是寻找对方开放了哪些网络服务,即便该主机可能有防火墙保护,只要它开放了一些网络服务,那么其安全性就会大大降低

26、。而获得目标主机是否开放某些服务,最好的办法就是尝试连接该服务所对应的端口。其工作原理为向扫描对象的 TCP/UDP 端口发送连接请求,根据对方的回应判断端口是否开放。具体流程将在 Winsock 函数中进行介绍。第二章 基本概念和工具12常见端口列表:7 回送(Echo)13 日期时间(Daytime)15 网络状态(Netstat)20 FTP 数据(FTP-Data)21 FTP 控制(FTP)23 终端连接(Telnet)25 简单邮件传输协议(SMTP)37 时间(Time)53 域名服务器(DNS)67 引导协议服务器(Bootps)68 引导协议客户(Bootpc)69 简单文件

27、传输协议(TFTP)80 Web 服务(HTTP)110 邮件协议第 3 版(POP3)118 SQL 服务(SQL Service)8080 代理服务器(Proxy)213 多线程技术简介线程(Thread)是进程(Process)中的一个实体,是被系统独立调度和分派的基本单位。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。 第二章 基本概念和工具13线程是程序中

28、一个单一的顺序控制流程, 它和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。线程的周期包括新建,就绪,运行,阻塞,死亡 5 个阶段。在 MFC 中,线程分为用户界面线程(UI 线程)和工作者线程 2 种。这 2 种之间的区别是 UI 线程有消息循环,而工作者线程没有。UI 线程能够创建窗口并处理发送给这些窗口的消息,而工作者线程执行后台任务,并不需要处理窗口和消息循环。由于多线程的执行在应用程序中是异步的,适当的运用多线程技术虽然增加了代码的额外复杂度,却可以极大的提高程序的响应性能。工作者线程适合于执行孤立

29、的任务,这些任务能够与应用程序的其他部分相互脱离,并且能够在前台进行其他处理时在后台执行这些任务,有效的降低了程序的等待时间,提高了运行的效率。在 MFC 中,线程作为 CWinThread 类存在,其相关函数为:1AfxBeginThread()声明: CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATT

30、RIBUTES lpSecurityAttrs = NULL);作用: 根据输入的线程类型创建一个新线程,并将 LPVOID 类型的指针作为参数传递给新创建的线程。返回值: 若成功,则返回指向新创建线程的指针。2AfxEndThread()声明: void AFXAPI AfxEndThread(UINT nExitCode, BOOL bDelete = TRUE);作用: 终止正在执行的某个线程返回值: 无第二章 基本概念和工具143. WaitForSingleObject() 声明: DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwM

31、illiseconds);作用: 在等待时间内判断线程或对象是否已经正常中止或有响应。返回值: 若函数成功,则返回线程结束的事件,可以为WAIT_ABANDONED(该线程作为互斥线程,在调用该线程的线程结束之前无法中止) ,WAIT_OBJECT_0(线程有响应,并且已经正常中止) ,WAIT_TIMEOUT(超过规定的等待时间,强制退出) 。214 Winsock 技术简介WindowsSockets 规范以 U.C.Berkeley 大学 BSDU NIX 中流行的 Socket 接口为范例定义了一套 Micosoft Windows 下网络编程接口。它不仅包含了人们所熟悉的 Berke

32、ley Socket 风格的库函数,也包含了一组针对 Windows 的扩展库函数,以使程序员能充分地利用 Windows 消息驱动机制进行编程。WindowsSockets 规范本意在于提供给应用程序开发者一套简单的 API,并让各家网络软件供应商共同遵守。此外,在一个特定版本 Windows 的基础上,Windows Sockets 也定义了一个二进制接口(ABI ),以此来保证应用WindowsSockets API 的应用程序能够在任何网络软件供应商的符合 Windows Sockets 协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数

33、调用和相关语义。遵守这套 WindowsSockets 规范的网络软件,我们称之 WindowsSockets 兼容的,而 WindowsSockets 兼容实现的提供者,我们称之为 Windows Sockets 提供者。一个网络软件供应商必须百分之百地实现 Windows Sockets 规范才能做到现 WindowsSockets 兼容。任何能够与 WindowsSockets 兼容实现协同工作的应用程序就被认为是具有WindowsSockets 接口。我们称这种应用程序为 WindowsSockets 应用程序。WindowsSockets 规范定义并记录了如何使用 API 与 Int

34、ernet 协议族(IPS,通常我们指的是 TCP/IP)连接,尤其要指出的是所有 WindowsSockets 实现都支第二章 基本概念和工具15持流套接口和数据报套接口应用程序调用 WindowsSockets 的 API 实现相互之间的通讯。WindowsSockets 又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。图 3.3 Winsock 通讯模式常用 Winsock 函数介绍:1htons()声明: u_short htons(u_short hostshort);作用: 将主机的无符号短整形数转换成网络字节顺序。返回值: 返回一个网络字节顺序的值2inet_add

35、r()声明: unsigned long inet_addr(const char* cp);作用: 将一个点间隔地址转换成为一个 in_addr。返回值: 若无错误发生,返回一个无符号长整形数,其中以适当字节顺序存放 Internet 地址。如果传入的字符串不是一个合法的 Internet 地址,那么inet_addr()返回 INADDR_NONE。第二章 基本概念和工具163socket()声明: SOCKET socket(int af, int type, int protocol);作用: 创建一个对应于特定服务的套接口返回值: 若无错误发生,返回引用新套接口的描述字。否则返回SO

36、CKET_ERROR 错误,可以用 WSAGetLastError()获取相应错误代码。4connect()声明: int connect(SOCKET s, const struct sockaddr* name, int namelen);作用: 建立一个面向某套接口的连接返回值: 若无错误发生,返回 0。否则,返回一个 SOCKET_ERROR 错误,可以用 WSAGetLastError()获取相应错误代码。5send()声明: int send(SOCKET s, const char* buf, int len, int flags);作用: 向一个已连接的套接口发送数据返回值:

37、若无错误发生,返回所发送数据的总数(可能小于 len 规定的大小)。否则返回一个 SOCKET_ERROR 错误,可以用 WSAGetLastError()获取相应错误代码。6recv()声明: int recv(SOCKET s, char* buf, int len, int flags);作用: 从一个套接口接收数据返回值: 若无错误发生,返回读入的字节数。如果连接中断,返回 0。否则返回一个 SOCKET_ERROR 错误,可以用 WSAGetLastError()获取相应错误代码。7closesocket()声明: int closesocket(SOCKET s);作用: 关闭一个

38、套接口第二章 基本概念和工具17返回值: 若无错误发生,返回 0。否则,返回一个 SOCKET_ERROR 错误,可以用 WSAGetLastError()获取相应错误代码。215 常见漏洞简介FINGER 漏洞:Finger 是 UNIX 系统中用于查询用户情况的实用程序。UNIX 系统保存了每个用户的详细资料,包括 E-mail 地址、帐号,在现实生活中的真实姓名、登录时间、有没有未阅读的信件,最后一次阅读 E-mail 的时间以及外出时的留言等资料。Finger 命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录 shell 等信息。如果要查询

39、远程机上的用户信息,需要在用户名后面接“主机名” ,采用用户名主机名的格式,不过要查询的网络主机需要运行 finger 守护进程。该命令的一般格式为:finger 选项 使用者 用户主机可能的漏洞:SunOS fingerd 漏洞 列出用户名列表Cfingerd 漏洞 可执行任意命令finger 服务器漏洞 可执行任意命令dot 漏洞 显示 WEB 目录信息FTP 漏洞:FTP(File Transfer Protocal) ,是用于 Internet 上的控制文件的双向传输的协议。同时,它也是一个应用程序。用户可以通过它把自己的计算机与世界各地所有运行 FTP 协议的服务器相连,访问服务器上

40、的大量程序和信息。Internet 上早期实现传输文件,并不是一件容易的事。Internet 是一个非常复杂的计算机环境,有 PC,有工作站,有 MAC,有大型机,而这些计算机可能运行于不同的操作系统,有运行 Unix 的服务器,也有运行 Dos、Windows 的第二章 基本概念和工具18PC 机和运行 MacOS 的苹果机等等。而各种操作系统之间存在文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的 FTP。基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。与大多数 Interne

41、t 服务一样,FTP 也是一个客户机/服务器系统。用户通过一个支持 FTP 协议的客户机程序,连接到在远程主机上的 FTP 服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。匿名 FTP 是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户 ID,名为anonymous, Internet 上的任何人在任何地方都可使用该用户 ID。当远程主机提供匿名 FTP 服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名 FT

42、P 主机都允许用户从其下载文件,而不允许用户向其上传文件。可能的漏洞:匿名用户登陆 允许匿名用户登陆(严格意义上不算漏洞)匿名用户建立目录 允许匿名用户建立目录匿名用户修改文件 允许匿名用户修改文件匿名用户执行 Shell 允许匿名用户执行 Shell以上漏洞严格意义上不算漏洞,然而权限开放过多还是会导致的安全性问题。SMTP 漏洞:SMTP 即简单邮件传输协议(Simple Mail Transfer Protocol) ,是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建立在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。SMTP 独立于特

43、定的传输子系统,且只需要可靠有序的数据流信道支持。 第二章 基本概念和工具19SMTP 重要特性之一是能跨越网络传输邮件,即“ SMTP 邮件中继” 。通常,一个网络可以由公用互联网上可相互访问的主机、防火墙分隔的网络上可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。可能的漏洞:RCPT

44、 漏洞 可以获得用户名列表VRFY 漏洞 可以获得 decode 别名EXPN 漏洞 可以获得 decode 别名22 使用工具及其介绍221 Microsoft Visual Studio .net 简介Visual Studio.NET 是.NET 平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual Studio.NET 都可以提供近乎完美的解决方案。Visual Studio.NET 提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。Web 应用程序

45、(以因特网为基础的应用程序)的优点在于可以让企业间的商业数据及交易等行为,透过因特网的通讯来彼此交换讯息。这样不但可以节省数据交换的时间,而且可以简化流程。但是在新一代的.NET 开发平台还没有出现之前,要让因特网应用程序达到上述的功能是一项浩大的工程。牵涉到的技术及程序开发语言,可能包括了HTML、ASP、VBScript、JavaScript、C+、ADO、SQL、COM、MTS 等。这样的环境对于开发人员来说,想要快速的开发一个功能强大且稳定可靠的 Web 应用程序,不是一项轻松的工作。之前的微软的解决方案开发平台(Microsoft 第二章 基本概念和工具20Visual Studio

46、TM)及 Windows 上的一些架构及服务,已经帮助程序设计师由单机平台的程序开发转为主从式(Client/Server)的架构来开发应用程序。但是对于现在的环境而言,因为企业的客户或供货商等所使用的系统或软件可能不尽相同,开发人员所要面对的挑战是要如何整合所有的异质性资源,所以必须把焦点转到如何发展分布式的因特网应用程序架构,好整合这些存在于不同平台或不同软件的异质资源。目前全世界有超过六百万的专业程序设计师,而百分之 70 以上的人使用微软的 Visual Studio 开发平台;现今最受欢迎的架构则为主/从式的架构,而发展最快速的架构则是以 Web 为基础的架构。在这种架构下程序逻辑及

47、数据的处理都是在服务器端,使用者是透过网络以浏览器来存取服务器端的数据。这种架构的开发工具,微软早在前两版的 Visual Studio 中透过 Active Server Pages(ASP)以及 IIS 3.0 就已经提供了。为了因应 Web 架构的快速发展及广大程序开发人员的需求,微软亦举办了不下百场的研讨会和开发人员沟通、交换意见,就是为了提供给开发人员更好的解决方案开发平台。而这个新一代开发平台目前已经推出了,即为 Visual Studio.NET。VisualStudio.NET 开发平台里面包含 Visual Basic.NET、C#、Visual C+、ASP.NET 以及V

48、isualFoxPro。为了让这套开发平台更容易开发以因特网为基础的应用程序,这个开发平台做了许多和以往不同的改革,这个改革就是.NET Framework。.NET 架构就是为了让开发分布式因特网应用程序架构变得更简单容易而发展出来的。222 Microsoft Visual C+简介Visual C+是一个功能强大的可视化软件开发工具,是 Visual Studio .net 重要的一员。自 1993 年 Microsoft 公司推出 Visual C+1.0 后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。Visual C+不仅是一个 C+编译器,而

49、且是一个基于 Windows 操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+由许多组件组成,包括编辑器、调试器以及程序向导 AppWizard、类向导第二章 基本概念和工具21Class Wizard 等开发工具。 这些组件通过一个名为 Developer Studio 的组件集成为和谐的开发环境。Visual C+大概可以分成三个主要的部分:1 Developer Studio,这是一个集成开发环境,日常工作的 99%都是在其上完成的。虽然 Developer Studio 提供了一个很好的编辑器和很多 Wizard,但实际上它没有任何编译和链接程序的功能。Developer Studio 并不是专门用于 VC 的,它也同样用于 VB,VJ,VID 等 Visual Studio 系列的其他产品。Developer Studio 并不等于 Visu

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报