基于Windows消息机制的HTTP隐蔽通道的设计与实现

合集下载

网络安全管理员-高级工习题库(附参考答案)

网络安全管理员-高级工习题库(附参考答案)

网络安全管理员-高级工习题库(附参考答案)一、单选题(共40题,每题1分,共40分)1.下列RAID技术无法提高读写性能的是()。

A、RAID0B、RAID1C、RAID3D、RAID5正确答案:B2.“会话侦听和劫持技术”是属于()的技术。

A、密码分析还原B、协议漏洞渗透C、应用漏洞分析与渗透D、DOS攻击正确答案:B3.上网行为管理设备应提供至少一个标准的、开放的接口,支持与外部域控用户服务器的(),实现上网行为记录与具体用户数据关联,以便审计管理员对上网行为管理数据的查询与分析。

A、连接B、同步C、共享D、通信正确答案:B4.基于网络的入侵检测系统的信息源是()。

A、系统的审计日志B、系统的行为数据C、应用程序的事务日志文件D、网络中的数据包正确答案:D5.在上网行为管理设备存储空间耗尽、遭受入侵攻击等异常情况下,上网行为管理设备应采取预防措施,保证已存储的上网行为管理记录数据的()。

A、可用性B、可靠性C、有效性D、连续性正确答案:A6.空调系统无备份设备时,单台空调制冷设备的制冷能力应留有()的余量。

A、20%-30%B、10%-20%C、15%-20%D、15%-30%正确答案:C7.使用数据库的主要目的之一是为了解决数据的()问题。

A、传输B、共享C、可靠性D、保密正确答案:B8.下面密码符合复杂性要求的是()。

A、!@#$%^B、134587C、adminD、Wang.123@正确答案:D9.当前运行的程序与数据存放在计算机的()中。

A、光盘B、辅助存储器C、硬盘D、内存正确答案:D10.Window nt/2k中的.pwl文件是?A、列表文件B、打印文件C、路径文件D、口令文件正确答案:D11.合格的安全工器具不得与不合格的安全工器具、报废的安全工器具混放,班组不得接收()不合格的安全工器具。

A、检验B、检修C、检查D、以上都不对正确答案:A12.地市级管理信息系统网络与信息安全应急预案构成包含本单位管理信息系统网络与信息安全应急预案和()。

计算机第9章练习题

计算机第9章练习题

第九章网络信息安全选择题1.网络安全的属性不包括______。

A.保密性 B.完整性 C.可用性 D.通用性答案:D2.计算机安全通常包括硬件、______安全。

A.数据和运行 B.软件和数据C.软件、数据和操作 D.软件答案:B3.用某种方法伪装消息以隐藏它的内容的过程称为______。

A.数据格式化 B.数据加工C.数据加密 D.数据解密答案:C4.若信息在传输过程被未经授权的人篡改,将会影响到信息的________。

A.保密性 B.完整性 C.可用性 D.可控性答案:B5.加密技术不仅具有______,而且具有数字签名、身份验证、秘密分存、系统安全等功能。

A.信息加密功能 B.信息保存功能C.信息维护功能 D.信息封存功能答案:A6.基于密码技术的传输控制是防止数据______泄密的主要防护手段。

A.连接 B.访问C.传输 D.保护答案:C7.在数据被加密后,必须保证不能再从系统中_____它。

A.阅读 B.传输 C.可见 D.删除答案:A8.网络环境下身份认证协议通常采用______来保证消息的完整性、机密性。

A.知识因子 B.拥有因子C.生物因子 D.密码学机制答案:D9.活动目录服务通过________服务功能提升Windows的安全性。

A.域间信任关系 B.组策略安全管理C.身份鉴别与访问控制 D.以上皆是答案:D10.不属于Windows XP系统安全优势的是________。

A.安全模板 B.透明的软件限制策略C.支持NTFS和加密文件系统EFS D.远程桌面明文账户名传送答案:D11. 下面不能够预防计算机病毒感染的方式是_______。

A. 及时安装各种补丁程序B. 安装杀毒软件,并及时更新和升级C. 定期扫描计算机D. 经常下载并安装各种软件答案:D12.网络安全攻击事件中大部分是来自( )的侵犯。

A.城域网 B.内部网络C.广域网 D.外部网络答案:B13.保护计算机网络免受外部的攻击所采用的常用技术称为______。

信息安全概论-张雪锋-习题答案

信息安全概论-张雪锋-习题答案

信息安全概论-张雪锋-习题答案(共6页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--信息安全概论--课后习题参考答案主编:张雪锋出版社:人民邮电出版社第一章1、结合实际谈谈你对“信息安全是一项系统工程”的理解。

答:该题为论述题,需要结合实际的信息系统,根据其采取的安全策略和防护措施展开论述。

2、当前信息系统面临的主要安全威胁有哪些答:对于信息系统来说,安全威胁可以是针对物理环境、通信链路、网络系统、操作系统、应用系统以及管理系统等方面。

通过对已有的信息安全事件进行研究和分析,当前信息系统面临的主要安全威胁包括:信息泄露、破坏信息的完整性、非授权访问(非法使用)、窃听、业务流分析、假冒、网络钓鱼、社会工程攻击、旁路控制、特洛伊木马、抵赖、重放、计算机病毒、人员不慎、媒体废弃、物理侵入、窃取、业务欺骗等。

3、如何认识信息安全“三分靠技术,七分靠管理”答:该题为论述题,可以从人事管理、设备管理、场地管理、存储媒介管理、软件管理、网络管理、密码和密钥管理等方面展开论述。

第二章1、古典密码技术对现代密码体制的设计有哪些借鉴答:一种好的加密法应具有混淆性和扩散性。

混淆性意味着加密法应隐藏所有的局部模式,将可能导致破解密钥的提示性信息特征进行隐藏;扩散性要求加密法将密文的不同部分进行混合,使得任何字符都不在原来的位置。

古典密码中包含有实现混淆性和扩散性的基本操作:替换和置乱,这些基本操作的实现方式对现代密码体制的设计具有很好的借鉴作用。

2、衡量密码体制安全性的基本准则有哪些答:衡量密码体制安全性的基本准则有以下几种:(1)计算安全的:如果破译加密算法所需要的计算能力和计算时间是现实条件所不具备的,那么就认为相应的密码体制是满足计算安全性的。

这意味着强力破解证明是安全的。

(2)可证明安全的:如果对一个密码体制的破译依赖于对某一个经过深入研究的数学难题的解决,就认为相应的密码体制是满足可证明安全性的。

安全导论填空单选(2)

安全导论填空单选(2)

填空26.出现网上商店等后,就有了B-C模式,即【企业】与【消费者】之间的电子商务。

27.典型的两类自动密钥分配途径有【集中式】分配方案和【分布式】分配方案。

28. -个好的散列函数h=H(M),其中H为【散列函数】;M为长度不确定的输入串;h为【散列值】,长度是确定的。

29.数据库的加密方法有【3】种,其中,与DBMS分离的加密方法是【加密桥技术】。

30.公钥证书系统由一个【证书机构CA】和【一群用户】组成。

26.最早的电子商务模式出现在【.企业】、【机构】之间,即B-B。

27.目前有三种基本的备份系统:简单的网络备份系统、【服务器到服务器的备份】和【使用专用的备份服务器】。

28.身份证明系统的质量指标之一为合法用户遭拒绝的概率,即【拒绝率】或【虚报率】。

29.基于SET协议电子商务系统的业务过程可分为【注册登记申请数字证书】、【动态认证】和商业机构的处理。

30.CTCA系统由【全国CA中心】、【省RA中心系统】、地市级业务受理点组成。

26.多层次的密钥系统中的密钥分成两大类:【数据】加密密钥(DK)和【密钥】加密密钥(KK)。

27.病毒的特征包括非授权可执行性、【隐蔽性】、【传染性】、潜伏性、表现性或破坏性、可触发性。

28. VPN解决方案一般分为VPN 【服务器】和VPN【客户端】。

29.身份证明技术,又称【识别】、【实体认证】、身份证实等。

30.密钥备份与恢复只能针对【解密密钥】,【签名私钥】为确保其唯一性而不能够作备份。

26.现在广为人们知晓的【传输控制】协议(TCP)和【网际】协议(IP),常写为TCP/IP。

27.计算机病毒具有正常程序的一切特征:【可存储性】、【可执行性】。

28. VPN利用【隧道】协议在网络之间建立一个_______通道,以完成数据信息的安全传输。

29.接入控制机构由【用户】的认证与识别、对【认证的用户】进行授权两部分组成。

30.实现身份证明的基本途径有【所知】、【所有】、个人特征。

CC标准浅析

CC标准浅析
z 信息安全标准化概述 z CC标准简介 z CC标准中的关键概念 z CC的核心内容和组织结构 z 安全评估 z 通用评估方法(CEM) z 总结和展望
7
CC标准简介
CC的驱动因素
国国际际计计算算机机市市场场 发发展展趋趋势势
国国家家间间一一般般性性的的 安安全全需需求求
早早期期标标准准的的 演演变变和和修修订订
信息安全标准概述
TCSEC简介
1985年美国国防部制定,是彩虹系列之一,即桔皮书; 主要用作军事领域,后沿用至民用,针对的是保密性; 使用了可信计算基础(Trusted Computing Base,TCB)的概念,这是一种实 现安全策略的机制,包括硬件、固件和软件,它们根据安全策略处理主体对客体 的访问,具有抗篡改的性质和易于分析和测试的机构; 定义了系统安全的4个方面:安全策略、可追溯性、安全保障和文档,并将这4 个方面分成7个安全等级:D、C1、C2、B1、B2、B3和A级; 在TCSEC的评价准则中,从B级开始就要求具有强制访问控制和形式化模型技 术的应用(Bell & LaPadula 保密模型); 桔皮书论述的重点是通用的操作系统,为了使其评判方法适用于网络,NCSC 于1987年出版了一系列有关可信计算机数据库、可信计算机网络等的指南(俗称 彩虹系列)。
• 即IT安全管理指南(GMITS),分5个部分。是信息全管理方面的指导性标准4
信息安全标准概述
信息安全技术测评标准
可信计算机系统评估标准
• Trusted Computer System Evaluation Criteria,TCSEC,即“桔皮书” • U.S. Department of Defense 5200.28-STD(1985)

信息安全试题

信息安全试题

1:网络安全的五种属性,并解释其含义:保密性:Confidentiality 保密性是指保证信息不能被非授权访问,即使非授权用户得到信息也无法知晓信息内容,因而不能使用。

通常通过访问控制阻止非授权用户获得机密信息,通过加密变换阻止非授权用户获知信息内容。

完整性:Integrity完整性是指维护信息的一致性,即信息在生成、传输、存储和使用过程中不应发生人为或非人为的非授权篡改。

一般通过访问控制阻止篡改行为,同时通过消息摘要算法来检验信息是否被篡改。

信息的完整性包括两个方面:(1)数据完整性:数据没有被未授权篡改或者损坏;(2)系统完整性:系统未被非法操纵,按既定的目标运行。

可用性:Availability可用性是指保障信息资源随时可提供服务的能力特性,即授权用户根据需要可以随时访问所需信息。

可用性是信息资源服务功能和性能可靠性的度量,涉及到物理、网络、系统、数据、应用和用户等多方面的因素,是对信息网络总体可靠性的要求。

可控性:确保个体的活动可被跟踪。

可靠性:即行为和结果的可靠性、一致性。

不可抵赖性:信息还要求真实性,即个体身份的认证,适用于用户、进程、系统等;包括对等实体认证和数据源点认证;对等实体认证是指网络通信必须保证双方或是多方间身份的相互确认;数据源点(主机标识)认证是指在安全级别较高的网络通信中需要对数据源点进行认证,以阻止各种恶意行为。

2:网络安全服务包括哪些?对等实体认证服务:网络通信必须保证双方或多方间身份,特别对等实体身份的相互确认,这是网络间有效通信的前提;对等实体主要指用户应用实体;数据源点认证服务:高安全级别的网络通信需要对数据源点进行认证,以阻止各种可能的恶意攻击行为。

这里,数据源点主要指主机标识,数据保密服务:信息不泄露给非授权的用户、实体或过程,或供其利用的特性;数据完整性服务:数据未经授权不能进行改变的特性。

即信息在存储或传输过程中不被修改、不被破坏和丢失的特性;访问控制服务:通信双方应该能够对通信、通信的内容具有不同强度的控制能力,这是有效和高效通信的保障;可用性:可被授权实体访问并按需求使用的特性。

了解你的敌人:Sebek

了解你的敌人:Sebek一个基于内核的数据捕获工具The Honeynet Project最后更新:2003/11/17介绍有一个问题至今还在困扰蜜罐研究者:怎样在不被入侵者察觉的情况下监视他们?蜜罐设计的目的是为了观察入侵者在一些普通系统里的所作所为,所以我们要确保让他们没有感觉到被监视。

传统的做法是记录相关活动的网络数据,这种做法对入侵者来说是不可见的。

但是黑帽子们是越来越精明了,他们越来越多的使用加密工具来保护他们的传输通道。

如果目标机器没有安装加密服务,那么他们也会自己安装上如SSH、加密的GUI客户端或者SSL等服务。

如果没有密钥,基于网络的数据捕获工具将无法察看传输的数据。

为了观察入侵者使用加密的会话,研究者必须找到破解加密会话的方法,不过许多组织已经证明这是非常困难的。

强攻不行就只能智取,Honeynet项目开始尝试在蜜罐机器安装基于内核的rootkit来捕获感兴趣的数据。

这些实验的结果导致开发出一个叫Sebek的工具,它是运行在内核空间的一段代码,记录系统用户存取的一些或者全部数据。

这个工具有这些功能:记录加密会话中击键,恢复使用SCP拷贝的文件,捕获远程系统被记录的口令,恢复使用Burneye保护的二进制程序的口令还有其它的一些入侵分析任务相关的作用。

这篇文章讨论Sebek版本2,当然也覆盖Sebek的内容。

下面将详细讨论Sebek,包括它如何工作和有什么价值。

我们会介绍它的结构和关键组成,演练如何执行以及操作的技术细节。

最后,我们会给出Sebek包括它最新的Web接口在内的使用例子。

Sebek最初是在Linux系统开发的,现在它已经移植到Win32、Solaris和OpenBSD等操作系统上。

这篇文章介绍的是Linux版本的Sebek,但是许多讨论到的概念也适合其它移植版本。

Sebek简介Sebek是一个数据捕获工具。

所有数据捕获工具的目的都是用捕获的数据准确的给我们重现蜜罐上的事件。

网络安全管理员

选择题1)1、网络系统中风险程度最大的要素是(数据)2、在计算机网络安全威胁中,属于直接安全威胁的是(偷窃和废物搜寻)3、网络安全的属性不包括(通用性)包括机密性、可用性、完整性4、企业内部网与外部网之间,检查网络传送的数据是否会对网络安全构成威胁的主要设备是(防火墙)2)1、构造计算机网络的目的是(信息交流)2、双绞线在制作时可分为直连线和交叉线两种,以下哪种连接适用于直连线(交换机与计算机)3、TCP、UDP处于TCP/IP协议分层结构的(传输层)4、(Netstat)命令可以显示本机的路由信息。

4、TCP/IP是一组分层的通信协议。

构成TCP/IP模型的四个层次是(网络接口层、网际层、传输层、应用层)5、在网络层提供协议转换、在不同网络之间存贮转发分组的网络设备是(路由器)6、路由器工作在OSI参考模型的(网络层)7、在物理层实现连接功能可采用(中继器)8、MAC地址表示方法正确的是(00-60-08-70-C8-9A)9.202.201.32.250是一个(C类IP地址)10.发送ICMP回送请求的命令叫做(ping)11.如果为二层交换式局域网分配多个网段的IP地址,那么网络需要配置(路由器)才能完成网段间工作站的通讯。

12.在下面给出的协议中,(DNS和SMTP)是TCP/IP的应用层协议。

13.下面的(网关)设备工作在OSI模型的传输层或传输层以上。

14.ARP协议的主要功能是(将IP地址解析为物理地址)14.一条TCP连接的建立过程包括(3)个步骤。

15.一条TCP连接的释放过程包括(4)个步骤。

15.清除本地DNS缓存内容的命令是(ipconfig/flushdns)16.以下关于加密文件系统(EFS)说法错误的是(被压缩的文件和文件夹也可以被加密)。

17.在windows NT系统中,使用(ipconfig)命令显示主机TCP/IP 协议的配置信息。

18、通常路由器不转发的网络地址是(172.16.32.1)19、下面关于以太网交换机部署方式的描述,正确的是(多个交换机矩阵堆叠后可以当成一个交换机使用和管理)20、将双绞线制作成交叉线(一端按ELA/TLA 568A线序,另一端按ELA/TLA 568B线序),该双绞线连接两个设备可以是(网卡与网卡)21、路由器的访问控制列表(ACL)的作用是(ACL提供路由过滤功能)22、以下用于在网络应用层的传输层之间提供加密方案的协议是(SSL)23、使用(tracert 210.102.58.74)来判断故障发生在企业网内部还是外部24、包过滤防火墙通过(过滤规则)来确定数据包能否通过25、如果希望别的计算机不能通过ping 命令测试服务器的联通情况,可以(关闭服务器中ICMP端口)3)1.下面(备份保护)不能包含在硬件安全机制中.2.WindowsNT/XP的安全性达到了橘皮书(C2)等级.3.Microsoft开发的可加密文件系统是(EFS).4.Windows Server2000系统在安全方面仍在改进,下面(开启不必要的服务)不能起到增强系统安全的作用.5.在WindowsXP中,下面除了(NetMeeting Remote DesktopSharing)服务外其他都是按需关闭的.4)1.下列选项中,防范网络监听最有效的方法是(使用加密技术)。

网络操作系统试题

. -. 网络操作系统

全国2004年7月高等教育自学考试 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共40分) 1.操作系统在计算机系统中位于( )。 A.硬件层和语言处理层之间 B.中央处理器CPU中 C.语言处理层和应用程序层之间 D.应用程序层和用户之间 2.在只有一台处理机的计算机系统中,采用多道程序设计技术后,使多道程序实现了( )。 A.微观上并行 B.宏观上并行 C.微观和宏观上都并行 D.微观和宏观上都串行 3.使处理机能从算态进入管态的指令被称作( )。 A.特权指令 B.I/O指令 C.通道指令 D.访管指令 4.下面的操作系统中,不属于...网络操作系统的是( )。 A.Netware B.UNIX C.Windows NT D.DOS 5.对进程而言,不可能发生的状态转换是( )。 A.就绪→运行 B.运行→就绪 C.就绪→阻塞 D.运行→阻塞 6.下列进程调度算法中,常被分时系统所采用的算法是( )。 A.先来先服务 B.时间片轮转 C.静态优先级 D.动态优先级 7.采用直接存取法来读写盘上的物理记录时,效率最低的是( )。 A.连续结构文件 B.索引结构文件 C.串联结构文件 D.其他结构文件 8.某一磁盘的输入输出请求序列(柱面号)为:0,23,5,7,11,21,2。如果当前存取臂处于4号柱面上,按最短查找时间优先算法来进行磁盘调度,存取臂总移动柱面数为( )。 A.68 B.41 C.32 D.22 9.进程之间的间接制约主要源于( )。 A.进程间合作 B.进程间共享资源 C.进程调度 D.进程间通信 10.下列通信方式中,属于基于消息传递通信方式的是( )。 A.信号量及P、V操作 B.消息缓冲通信 C.信箱通信 D.Socket 11.在远程过程调用中,负责将调用结果打包发送给客户方的是( )。 A.客户进程 B.客户代理 C.服务器进程 D.服务器代理 12.以虚拟软盘方式实现硬盘共享时,共享硬盘的软件不必..提供的功能是( )。 A.安装管理 B.盘卷管理 C.对虚拟盘上文件的管理 D.信号量管理 13.WWW是一种建立在Internet上的全球性的、交互的、动态、多平台、分 布式的图形信息系统,它的最基本的概念是( )。 A.超文本信息 B.文本信息 C.图形图像信息 D.多媒体信息 14.Internet中的ARP协议负责( )。 A.将网络层地址映射为链路层地址 B.将物理层地址映射为链路层地址 C.将链路层地址映射为网络层地址 D.将网络层地址映射为会话层地址 15.HTML中用来定义一个超文本链接的是( )。 A.… B.… C.

网络攻击与防御技术期末考试试卷及答案

1 网络攻击与防御技术期末考试试卷及答案网络攻击与防御技术期末考试试卷及答案考试时间:考试时间: 120 120 分钟分钟分钟 试卷页数(试卷页数(A4A4A4)): 2 页 考试方式:考试方式: 闭卷闭卷 (开卷或闭卷)(开卷或闭卷)考试内容:一、选择题(每小题1分,共30分)1、假冒网络管理员,骗取用户信任,然后获取密码口令信息的攻击方式被称为( )。

A 、密码猜解攻击、密码猜解攻击B 、社会工程攻击、社会工程攻击C 、缓冲区溢出攻击、缓冲区溢出攻击D 、网络监听攻击、网络监听攻击2、下列哪一项软件工具不是用来对网络上的数据进行监听的?(、下列哪一项软件工具不是用来对网络上的数据进行监听的?() A 、Xsniff B 、TcpDump C 、SniffitD 、UserDump 3、在进行微软数据库(Microsoft SQL Database )口令猜测的时候,我们一般会猜测拥有数据库最高权限登录用户的密码口令,这个用户的名称是(限登录用户的密码口令,这个用户的名称是( )?)?A 、adminB 、administratorC 、saD 、root 4、常见的Windows NT 系统口令破解软件,如L0phtCrack (简称LC ),支持以下哪一种破解方式?( )A. 字典破解字典破解 B 、混合破解、混合破解 C 、暴力破解、暴力破解 D 、以上都支持、以上都支持5、著名的John the Ripper 软件提供什么类型的口令破解功能? ( )A 、Unix 系统口令破解系统口令破解B 、Windows 系统口令破解系统口令破解C 、邮件帐户口令破解、邮件帐户口令破解D 、数据库帐户口令破解、数据库帐户口令破解6、下列哪一种网络欺骗技术是实施交换式(基于交换机的网络环境)嗅探攻击的前提? ( )A 、IP 欺骗欺骗B 、DNS 欺骗欺骗C 、ARP 欺骗欺骗D 、路由欺骗、路由欺骗7、通过TCP 序号猜测,攻击者可以实施下列哪一种攻击?(序号猜测,攻击者可以实施下列哪一种攻击?( ) A 、端口扫描攻击、端口扫描攻击 B 、ARP 欺骗攻击欺骗攻击 C 、网络监听攻击、网络监听攻击 D 、TCP 会话劫持攻击会话劫持攻击 8、目前常见的网络攻击活动隐藏不包括下列哪一种?(、目前常见的网络攻击活动隐藏不包括下列哪一种?() A 、网络流量隐藏、网络流量隐藏 B 、网络连接隐藏、网络连接隐藏 C 、进程活动隐藏、进程活动隐藏 D 、目录文件隐藏、目录文件隐藏9、在Windows 系统中可用来隐藏文件(设置文件的隐藏属性)的命令是(系统中可用来隐藏文件(设置文件的隐藏属性)的命令是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

- 26 - 第四章 基于Windows消息机制的HTTP隐蔽通道的设计与实现

4.1 概要设计 4.1.1 模型选择 本文选择2.2.1中介绍的“简单HTTP模型”来构建基于Windows消息机制 的HTTP隐蔽通道,原因如下: 1. 该模型简单易行,扩展性好。 2. 该模型可以携带较多的隐蔽通道数据。

4.1.2 方法选择 本文选择2.3.1中分析“GET”方法来携带隐蔽数据。通过URI来携带数据,可以方便地在隐蔽通道的客户端和服务端进行通信。

4.2 详细设计 本文构造的基于Windows消息机制的HTTP隐蔽通道详细流程图4-1: - 27 -

寻找合适的Iexplore.exe进程?

开始

没找到

找到创建新的IE窗口并隐藏它开

通过新建的IE窗口向服务端发起HTTP请求(ready=1)

Ready = 1是输入要发往客户端的数据(命令)

监听并接收来自客户端的请求

否Ready = 0是接收来自客户端的处理结果

构造HTTP响应消息否异常推出

通过新建的IE窗口接收来自服务端的数据(命令)

对命令进行处理通过新建的IE窗口把处理结果发送给服务端

客户端服务端

图 4-1 详细流程图 Figure 4-1 The program flow for the prototype

4.2.1 客户端设计 1. 平台选择 由于本文设计的这个HTTP通道是应用于Windows环境,所以本文选择在Windows系统(IE版本为7.0)环境上,采用C++语言编程,和Visual Studio.Net集成开发环境来开发客户端。 Visual Studio.NET是.NET平台下最为强大的开发工具,无论是软件服务商 还是企业应用程序的部署与发布,Visual Studio.NET都可以提供近乎完美的解决 - 28 -

方案。Visual Studio.NET提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。这些功能使得开发人员: (1) 可以增加开发应用程序的速度 高度集成的可视化开发环境简化了开发WEB应用程序的过程;共享HTML、 XML和样式表单编辑器使得开发人员能很容易地从任何Visual Studio语言,包括新的C#程序语言中开发WEB应用程序。 (2) 可以使用XML WEB服务很容易地简化分布式计算 借助于XML WEB服务,开发人员就可以使用标准的互联网协议通过线路调 用企业逻辑。XML WEB服务将HTTP作为优先使用的传输机制,HTTP允许功能请求通过企业防火墙。XML用于格式化请求的输入和输出参数,这样请求就不会绑定到任何特定组件技术或对象调用约定。最终,XML WEB服务就可以被任何语言访问,可以被任何组件模型使用,能运行在任何操作系统中。 (3) 可以快速设计功能全面的WEB应用程序 借助于WEB表单,开发人员使用原来用于构建基于表单的桌面应用程序的 工具,就可创建跨平台、跨浏览器的WEB应用程序。WEB表单在WEB服务器上运行,这样就提供了快速的运行时性能,建立了可运行在任何浏览器的与HTML3.2兼容的文档。

2.劫持IE 进程 对于客户端的设计而言,选择合适的进程进行劫持至关重要。由于IE进程(iexplore.exe)与身俱来的优势,本文选择对其进行劫持: (1) 由于IE作为Windows默认的WEB浏览器,IE进程通常拥有访问外部网 络的权限。 (2) 在Windows系统中,IE是作为用户层程序(相对于内核层程序)来运行的, 这为劫持该进程提供了更大的可能性。 (3) 在Windows系统中,当用户打开一个新的窗口时,IE进程通过启动一个 新的线程而不是启动一个新的IE进程来处理该窗口的相关事件。这意味着此时进程链表并没有发生变化。 (4) 通过IE进程可以方便的实现客户端和服务器端的双向数据交互。 因此,在客户端的设计中,我们选择IE进程作为劫持对象;即选择一个合适 的iexplore.exe进程。本文中认为满足以下两个条件的iexplore.exe进程即为合适的 (1) 该iexplore.exe进程必须正在运行。因为如果此时系统中没有iexplore.exe 进程在运行,而我们强制启动一个iexplore.exe进程,那么此时客户端系统(即Windows系统)中的进程链表将被改变。 - 29 -

(2) 该iexplore.exe进程必须拥有访问外部网络的权限。因为如果我们让没有 网络权限的进程去访问网络,那么防火墙将会让系统弹出警告对话框。在本文的客户端设计中,我们假定客户端所寄生的系统中的iexplore.exe具有网络访问的权限。

3. 创建并隐藏新窗口 在Windows中,每个窗口都一个对应的类与之相关联。对于IE5.0、IE6.0, 这个对应的类为IEFrame;对于IE7.0,这个对应的类为InternetToolbarHost。由于该客户端是建立在IE版本为7.0的Windows系统上,故本文以IE7.0为例来研究如何创建新窗口并隐藏它。 在IE7.0中,本文通过向劫持的IE进程(即类InternetToolbbarHost)发送WM_COMMAND消息,参数为275,来创建新窗口。该参数对于IE5.0、IE6.0同样适用,不过所对应的IE进程类应给为IEFrame。如表4-1: 表 4-1 利用WM_COMMAND创建新窗口 Version Class wParam IE7.0 InternetToolbarHost 275 IE 6.0 IEFrame 275 IE 5.0 IEFrame 275 创建结果如图4-2:

被劫持的IE进程

通过向劫持的IE进程发送WM_COMMAND(参数为275)来创建新窗口

图 4-28 新窗口示意图 Figure 4-2 The creation of new window 对于新创建的窗口,我们必须隐藏它。本文通过调用ShowWindow这个

Windows API来简单实现。虽然这会使桌面出现千分之一秒的闪烁,但这对于用 - 30 -

户来说是很难察觉到的。 4. 利用IE窗口来发送数据 在客户端设计中,由于新建的窗口已经被隐藏起来,所以本文中通过这个新 建的隐藏窗口来创建外出通道,即利用新建IE窗口中的URL地址栏来发送数据。 本文中通过往URL地址栏对应的控件类(即Edit)发送WM_SETTEXT消息来模拟往地址栏中输入信息;通过往系统发送WM_KEYUP和WM_KEYDOWN来模拟回车键的点击。这样就使得我们能够往服务端发送GET方法携带的数据。如图4-3:

Get /?ready=1&z=28820 HTTP/1.1\r\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-execl, application/vnd,ms-powerpint, application/msword, */*\r\nAccept-Language: zh-cn\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4/0(compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 2.0.50727)\r\nHost: 192.168.0.2\r\nConnection: Keep-Alive\r\n\r\n

图 4-3 发送数据 Figure 4-3 Sending data through IE window 5. 利用IE窗口来接收数据(来自服务端的命令)

上面我们介绍了如何往服务端发送数据,下面我们介绍如何接收来自服务端的数据。 本文中我们利用服务端响应的HTML页面中的Title标签存放来自服务端的数据,这样当客户端要接收数据时,我们只需调用GetWindowText这个Window API来获取Title标签中的内容就可以轻松得获得来自服务端的数据。 该方法简单易行,只需调用一个Windows API就可以了。如图4-4: - 31 -

14569 + reading

图 4-4 接收数据 Figure 4-4 Receive data through IE window

4.2.2 服务端设计 1.平台选择 服务端模块本文选择在Red Hat Linux Fedora Core 4下开发。 Linux是一个多任务、多用户、多平台、遵守POSIX标准、遵守SYSV和BSD扩展、遵守GPL许可、开放源代码的免费类UNIX操作系统。它最初由芬兰赫尔辛基大学的Linus Torvalds创建。它拥有许多良好的特性: (1) 完全的多任务。Linux是真正的多任务操作系统,它能同时访问多个设 备、完成多个任务。 (2) 提供了丰富的网络功能。Linux是通过因特网开发的,因此网络支持是 其优先加入的特性。Linux主要使用标准TCP/IP协议,也支持其它流行的网络协议。Linux是因特网上使用最多的服务器之一。 (3) 美观的图形界面X Window系统。X Window是主要用于UNIX类操作系 统的一套图形界面软件包。它支持许多应用程序并且是业界的标准界面。X Window的特点在于它是一组用户进程,而不像Windows那样将GUI集成到系统内核中,这既提高了安全性,又为开发定制系统打下了良好的基础。 (4) 开放源代码。GPL协议保证了源代码的开放性。大量的自由软件可供使 用。Linux是由计算机用户共同开发的,它本身就体现了开发者各方面的需求。无论是软件开发、网站建设、科学研究、多媒体应用,都有大量的软件可供挑选;并且这些软件都是经过实践考验的。而随软件发放的源代码使用户可以定制软件以适应自己的需求。 (5) 良好的可伸缩性,可定制性。Linux从内核到图形界面都可以按用户要 求裁减改进,其应用范围从移动电话到人造地球卫星,从掌上电脑、路由器到巨

相关文档
最新文档