免费论文网 首页

黑客攻防之木马揭秘

时间:2017-05-16 07:52 来源:免费论文网

篇一:黑客攻防实例

1.1 搭建局域网

本节中提及的局域网并不是物理上的局域网,而是指

使用虚拟机搭建起来的虚拟局域网。该虚拟局域网可以

供那些没有网络环境的读者来测试、实践书中所介绍的

入侵与防御技术。

使用工具:VMware。

? 工具介绍

VMware是一个“虚拟机”软件。它可以实现在一台机器上同时运行两个或更多的操作系统。

与“多启动”系统相比,VMware采用了完全不同的概念。一台主机在正常安装多系统后同一时刻只能运行一个系统,需要进行系统切换时必须重新启动计算机,而VMware则是真正“同时”在主系统的平台上运行多个操作系统,实现像标准Windows应用程序那样切换。

此外,使用VMware可以实现在一台计算机上架设一个局域网。可以在这个虚拟的局域网中进行网络测试。

? VMware的获取

可以到VMware的官方网站“/”下载最新版本的VMware,并在官方网站上注册获得一个免费使用三十天的序列号。

? VMware的安装

本节中以VMware workstation 4.0.5为例介绍VMware的安装过程。

双击安装文件后会弹出如图1-1所示的窗口。

单击“Next”按钮,显示如图1-2所示。

选择接受许可后,单击“Next”按钮,会弹出如图1-3所示的窗口。

如果不想安装在默认路径下,可以单击“Change”按钮更改。选定路径后,单击“Next”按钮,如图1-4所示。

图1-2 图1-3

如果设置都正确,可以单击“Install”按钮进行安装了。

图1-4 图1-5

拷贝文件完成后,会要求输入序列号,如图1-6所示。

输入序列号后,单击“Enter”按钮,显示如图1-7。

图1-6 图1-7

单击“Finish”按钮完成VMware的安装。

? VMware的配置与使用说明

首次运行VMware显示如图1-8所示的界面。

图1-8

此时,VMware相当于一台裸机,需要为其安装操作系统。

单击图1-8所示窗口中的“New Virtual Machine”按钮或者在“File”下拉菜单中选择“New Virtual Machine”,进入如图1-9所示的界面。

单击“下一步”按钮后显示如图1-10所示的界面。

图1-9图1-10

在图1-10所示的窗口中有两个配置选项:Typical指选择VMware已配置的系统,如安装Windows操作系统或者Linux操作系统;Custom用于指定特殊的系统配置或特殊的功能,一个新开发的操作系统需要进行测试时可以使用这个选项。由于要安装的是Windows操作系统,所以选择Typical。然后单击“下一步”按钮,进入如图1-11所示的界面。

“Guest operating system”用于选择操作系统类型。本例中选择Windows 2000 Professional。然后单击“下一步”按钮,进入如图1-12所示的界面。其中,“Virtual machine name”用于指定虚拟机的名称,Location用于指定安装操作系统的位置,选择好后单击“下一步”按钮。

接下来进行网络配置,如图1-13所示。其中显示了4个预设的网络配置选项。

?Use bridged networking:虚拟机直接连接外部网络,需要为虚拟机设定

独立的IP地址。

? Use network address translation:虚拟机通过主系统连接到外部网络,这种设置下,

虚拟给与主系统使用相同的IP地址。

? Use host-only networking:将虚拟机连接到一个架设在主系统之上的虚拟局域网中,为

架设虚拟局域网并且不希望虚拟机连接到外部网络时,可以选择此项。

?Do not use a network connection:不使用网络连接。

图1-11图1-12

本例中选择第二项,单击“完成”按钮,显示如图1-14所示。

图1-13图1-14

在光驱或虚拟光驱中插入Windows 2000 Professional的安装光盘。然后,单击图1-14中所示的“Start this virtual machine”按钮进行操作系统的安装。虚拟机的启动过程如图1-15所示。

图1-15

系统安装过程略。

刚刚安装好操作系统的虚拟机也需要一些驱动程序。如果在安装操作系统时,安装的是Typical选项中除Other以外的默认的操作系统类型,则可以安装VMware Tools代替安装驱动程序。VMware Tools可以被认为是一个集合了驱动程序的工具包。VMware Tools菜单的位置如图1-16所示,版本不同位置有所不同,在VMware的高版本中其位置在Tools的下拉菜单中。安装了VMware Tools的Windows 2000 Professional操作系统如图1-17所示。

篇二:《黑客攻防技术宝典:Web实战篇》习题答案

《黑客攻防技术宝典:Web实战篇》习题答案(一)

(2012-02-26 11:18:30)

转载▼

标签: 译者按:以下为《黑客攻防技术宝典:Web实战篇》一书第二版中的习题答案,特在此推出。如果读者发现任何问题,请与本人联系。英文答案请见:

http://mdsec.net/wahh/answers1e.html。

如有转载,请注明出处。谢谢!

第2章:核心防御机制

1. 为什么说应用程序处理用户访问的机制是所有机制中最薄弱的机制?

典型的应用程序使用三重机制(身份验证、会话管理和访问控制)来处理访问。这些组件之间高度相互依赖,其中任何一个组件存在缺陷都会降低整个访问控制机制的效率。例如,攻击者可以利用身份验证机制中的漏洞以任何用户身份登录,并因此获得未授权访问权限。如果能够预测令牌,攻击者就可以假冒成任何已登录用户并访问他们的数据。如果访问控制不完善,则任何用户都可以直接使用应该受到保护的功能。

2. 会话与会话令牌有何不同?

会话是服务器上保存的一组数据结构,用于追踪用户与应用程序交互的状态。会话令牌是应用程序为会话分配的一个特殊字符串,用户需要在连接提出请求的过程中提交该字符串,以重新确认自己的身份。

3. 为何不可能始终使用基于白名单的方法进行输入确认?

许多时候,应用程序可能会被迫接受与已知为“良性”输入的列表或模式不匹配的待处理数据。例如,许多用户的姓名包含可用在各种攻击中的字符。如果应用程序希望允许用户以真实姓名注册,就需要接受可能的恶意输入,并确保安全处理这些输入。 4. 攻击者正在攻击一个执行管理功能的应用程序,并且不具有使用这项功能的任何有效

证书。为何他仍然应当密切关注这项功能呢?

攻击者可以利用任何访问控制核心机制中的缺陷未授权访问管理功能。此外,攻击者以低权限用户身份提交的数据最终将向管理用户显示,因此,攻击者可以提交一些恶意数据,用于在管理用户查看这些数据时攻破他们的会话,从而对管理用户实施攻击。 5.旨在阻止跨站点脚本攻击的输入确认机制按以下顺序处理一个输入:

(1) 删除任何出现的<script>表达式;

(2) 将输入截短为50个字符;

(3) 删除输入中的引号;

(4) 对输入进行URL解码;

(5) 如果任何输入项被删除,返回步骤(1)。

是否能够避开上述确认机制,让以下数据通过确认?

“><script>alert(“foo”)</script>

是。如果没有第4步,此机制将是可靠的,能够过滤其旨在阻止的特定项目。但是,由于输入在执行过滤步骤后被解码,攻击者只需要对有效载荷中的选定字符进行URL编

码,就可以避开这种过滤:

">

如果首先执行第4步,或根本不执行该步骤,攻击者将不可能避开上述过滤。

第3章:Web应用程序技术

1. OPTIONS方法有什么作用?

OPTIONS方法要求服务器报告可用于特定资源的HTTP方法。

2. If-Modified-Since和If-None-Match消息头的作用是什么?它们为何引起攻击者的兴趣?

If-Modified-Since消息头用于指定浏览器最后一次收到被请求的资源的时间。

If-None-Match消息头用于指定实体标签,在最后一次收到被请求的资源时,服务器与被请求的资源一起发布该标签。

在上述两种情况下,这些消息头用于支持浏览器中的内容缓存,服务器通过它们指示浏览器使用资源的缓存副本,而非资源的完整内容(如果这样做没有必要)。

在攻击应用程序时,浏览器可能已经缓存了攻击者感兴趣的资源(如JavaScript文件)副本。如果删除这两个消息头,就可以覆写浏览器的缓存信息,确保服务器以攻击者希望查看的新的资源副本做出响应。

3. 当服务器设置cookie时,secure标签有什么意义?

secure标签用于向浏览器发出以下指示:只应通过HTTPS连接、绝不能通过未加密的HTTP连接重新提交cookie。

4. 常用状态码301与302有什么不同?

301状态码告诉浏览器被请求的资源已永久移动到其他位置。在当前浏览器会话期间,如果浏览器需要访问最初请求的资源,它将使用在301响应中指定的位置。

302状态码告诉浏览器被请求的资源已临时移动到其他位置。下次浏览器需要访问最初请求的资源时,它将从最初请求的位置请求此资源。

5. 使用SSL时,浏览器如何与Web代理实现互操作?

浏览器向代理发送一个CONNECT请求,将目标主机名和端口号指定为此请求中的URL。如果代理允许该请求,它将返回一个状态码为200的HTTP响应,使TCP连接保持开放,并在随后作为指定目标的纯TCP级中继。

第4章:解析应用程序

1. 当解析一个应用程序时,会遇到以下URL:

https://wahh-app.com/CookieAuth.dll?GetLogon?curl=Z2Fdefault.aspx

据此可以推论出服务器使用何种技术?该技术的运作方式可能是怎样的?

文件名CookieAuth.dll说明应用程序正使用Microsoft ISA Server。这是登录功能的URL,成功登录后,应用程序将重定向到URL /default.aspx。

2. 如果所针对的应用程序是一个Web论坛,并且只发现了一个URL:

http://wahh-app.com/forums/ucp.php?mode=register

如何通过它获得论坛成员列表?

此URL是phpBB Web论坛软件的常用“指纹”。因特网上提供了有关此软件的大量信息,读者可以自己安装该软件以进行体验。可以通过以下URL获取成员列表:

http://wahh-app.com/forums/memberlist.php

通过类似于下面的URL可以获取单个用户的用户资料:

http://wahh-app.com/forums/profile.php?mode=viewprofile&u=2

phpBB软件中包含各种漏洞,因此,读者应确认所使用的版本并研究任何相关问题。 3. 当解析一个应用程序时,遇到以下URL:

https://wahh-app.com/public/profile/Address.asp?action=view&location=default

据此推断服务器端应使用何种技术。可能还存在哪些其他内容和功能?

.asp文件扩展名说明应用程序正使用Microsoft的Active Server Pages(ASP)。/public路径说明可能存在其他有用的路径,如/private。action=view参数表明可能存在其他操作,如edit、add或delete。应调查location=default参数的用途,其中可能包含用户名,因此应在应用程序中探查路径遍历漏洞。

4. Web服务器的一个响应包含以下消息头:

Server:Apache-Coyote/1.1

这表示服务器使用何种技术?

如果该消息头是准确的,说明服务器正运行Apache Tomcat。Tomcat是一种Java Servlet容器,因此应用程序可能使用的是Java和JSP技术。

5. 假设正在解析两个不同的Web应用程序,在每个应用程序中请求URL /admin.cpf。每

个请求返回的响应消息头如下所示。仅由这些消息头能否确定每个应用程序中存在被请求的资源?

HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Expires: Mon, 20 Jun 2011 14:59:21 GMT

Content-Location: http://wahh-

app.com/includes/error.htm?404;http://wahh-app.com/admin.cpf

Date: Mon, 20 Jun 2011 14:59:21 GMT

Content-Type: text/html

Accept-Ranges: bytes

Content-Length: 2117

HTTP/1.1 401 Unauthorized

Server: Apache-Coyote/1.1

WWW-Authenticate: Basic realm=”Wahh Administration Site”

Content-Type: text/html;charset=utf-8

Content-Length: 954

Date: Mon, 20 Jun 2011 15:07:27 GMT

Connection: close

第一个响应使用HTTP状态码200,通常这表示请求已成功提交。但是,Content-Location消息头表示从中获取该响应的位置。这似乎是一个动态生成的错误页面,并且其查询字符串中包含值404,表明响应中包含定制的“文件未发现”消息。

第二个响应使用HTTP状态码401,表明被请求的资源存在,但用户必须提供HTTP验证证书才能访问该资源。

对于以上每一种情况,可以使用相同扩展名(如/iuwehuiwefuwedw.cpf)请求同一目录中的某个确定不存在的项目,并比较相关响应,以证实上述结论。第一个应用程序可能

会返回与原始响应极其类似的响应。第二个应用程序可能会返回包含“文件未发现”消息的不同响应。

第5章:避开客户端控件

1. 通过客户端传送的数据如何阻止破坏性攻击?

可以使用保存在服务器上的密钥对数据进行加密或散列处理,就像选择性地使用

ASP.NET ViewState一样。除非攻击者以某种方式获得密钥,否则他们将无法加密任意数据,或计算出任意数据的有效散列。但是,攻击者仍然能够将一种情形中的数据用于另一种情形——例如,可以用廉价商品的加密价格替代昂贵商品的加密价格。为防止这种攻击,应用程序应在受保护的数据中包含足够的上下文信息,以便于确认所采用的数据源自同一情形——例如,可以将产品代码和价格组合在一个加密对象中。

2. 应用程序开发者希望阻止攻击者对登录功能发动蛮力攻击。由于攻击者可能以多个用户

名为目标,开发者决定将登录尝试失败次数保存在一个加密cookie中,阻止任何失败次数超过5次的请求。有什么办法能够避开这种防御?

这种防御很容易突破。攻击者不需要提交跟踪登录尝试失败次数的cookie。他们可以在浏览器中禁用cookie,或使用自动化脚本不通过相关cookie提交请求。

其他防御措施包括使用CAPTCHA控件暂时阻止攻击者,或在登录失败次数达到五次后阻止源IP地址,但是,这样做可能会对使用代理或NAT防火墙的多个用户造成负面影响。

3. 某应用程序包含一个执行严格访问控件的管理页面。该页面上有一个连接到另一台

Web服务器的诊断功能链接。只有管理员才能够访问这些功能。不执行另一种验证机制,下列哪一种(如果有)客户端机制可用于为诊断功能提供安全的访问控件?要选择一个解决方案,是否还需要了解其他信息?

(1) 诊断功能能够检查HTTP Referer消息头,证实请求由主管理页面提交。

诊断功能能够验证收到的,证实其中包含访问主应用程序所需的有效会话令牌。

主应用程序可在请求的一个隐藏字段中设置一个身份验证令牌。诊断功能能够确认这一点,证实用户在主应用程序中有一个会话。

(1) 攻击者可以将Referer消息头设置为任意值,因此它不是执行任何访问控制检查的安全方法。

(2) 这种方法仅在包含诊断功能的Web服务器为源Web服务器的父域或子域,且对会话cookie进行了相应地审查时有效,否则cookie将不会被提交到诊断服务器。将需要为诊断服务器实施后端机制,以确认随源服务器一起提交的令牌。

(3) 无论诊断服务器的域名是什么,这种方法都有效。只要身份验证令牌不可预测,并且以安全方式传输(请参阅第7章),这种方法就是安全的。此外,还需要实施用于验证令牌的后端机制。

4. 如果一个表单字段的属性为,那么它就不会和表单的其他内容一起提交。

如何才能改变这种情况呢?

有两种基本的方法:

(1) 可以拦截提交表单的请求,并添加被禁用的参数。

(2) 可以拦截包含表单的响应,并删除disabled=true属性。

5. 应用程序可采取什么方法确保客户端执行了输入确认?

应用程序没有办法可以确保客户端执行了输入确认。在客户端上执行的各种操作完全由用户控制。

第六章

1. 在测试一个使用joe和pass证书登录的Web应用程序的过程中,在登录阶段,在拦截代理服务器上看到一个要求访问以下URL的请求:

/app?action=login&uname=joe&password=pass

如果不再进行其他探测,可以确定哪3种漏洞?

(a) 由于证书在该URL的查询字符串中传送,因此,这些证书将面临通过浏览器历史记录、Web服务器和IDS日志或直接在屏幕上显示而遭到未授权泄露的风险。

(b) 证书通过未加密HTTP连接传送,因而易于被位于网络适当位置的攻击者拦截。 (c) 密码为一个包含四个小写字母的英文单词。应用程序并未实施任何有效的密码强度规则。

2. 自我注册功能如何会引入用户名枚举漏洞?如何防止这些漏洞?

通常,自我注册功能非常易于受到用户名枚举攻击,因为用户可以选择自己的用户名,并且应用程序不允许用户注册现有用户名。

应用程序可以通过以下两种方法防止攻击者通过滥用自我注册功能来实施用户名枚举攻击:

(a) 应用程序可以生成自己的用户名,然后在每名新用户提交了所需的个人信息后向其分配一个无法预测的用户名。

(b) 可以在自我注册过程的第一个步骤要求用户输入他们的电子邮件地址。然后,应用程序向用户发送一封电子邮件,该邮件包含一个URL,用户可以使用该URL继续注册过程。如果提供的电子邮件已注册,则在电子邮件中向用户通知这一情况。

3. 某登录机制由以下步骤组成:

(a) 应用程序要求用户提交用户名和密码;

(b) 应用程序。

应用程序为何要求用户分两个阶段提供所需的信息?如果不这样做,登录机制将存在什么缺陷?

要求用户提交值得纪念的词中的两个随机选择的字母,而不是整个单词,其原理在于:即使攻击者截获了用户在一次登录过程中提交的所有证书,他仍然无法使用这些证书再次登录,因为这时应用程序会要求用户提交另外两个字母。

如果应用程序在一个步骤中要求用户提交全部所需信息,那么它必须提前选定随机选择的字母,而此时它并不知道正在进行验证的用户的身份。这意味着,即使攻击者只知道值得纪念的词中的两个字母,他仍然可以通过重复加载登录表单,直到应用程序请求那两个单词,从而使用截获的证书登录。

为避免这种缺陷,应用程序必须在用户每次成功登录后选择另外两个单词,并将其存储在用户配置文件中,直到用户再次成功登录。当用户在登录的第一个阶段确认自己的身份后,将从用户配置文件中检索这两个字母,并要求用户提交相同的字母。这样,即使攻击者在一次登录中获取了用户证书,他仍然需要等待非常长的一段时间,直到应用程序再次要求用户提交相同的字母。

篇三:OK版浅谈黑客攻防

中文摘要

浅谈黑客攻防

摘 要

近年来,网络的迅猛发展,影响着社会的经济生活,而且猛烈地冲击着传统的思想观念和思维方式,改变着人们的工作方式和生活方式。 网络不仅对人们的物质生活产生了巨大的作用,也对人们的精神生活带来了深远的影响。一般而言,网络对人们物质生活的影响都是正面的,网络极大地提高了人们的工作效率,促进了社会生产率的提高,但网络对人们精神生活的影响却要复杂得多,网络不仅对人们的精神生活带来了正面的影响,同时也带来了很多负面的影响。本文主要探究了计算机网络对人们的生活及人类社会发展所带来的突飞猛进的变化,以及它给人们生活带来的各种不利影响。

关键词:计算机;网络时代;现实生活

目录

摘要 ..................................................................... I 1 引言 .................................................. 错误!未定义书签。

2防火墙技术 ............................................................. 1

3访问控制技术 ........................................................... 1

3.1网络登录控制 ..................................................... 1

3.2网络使用权限控制 ................................................. 2

3.3目录级安全控制 ................................................... 2

3.4属性安全控制 ..................................................... 3

3.5服务器安全控制 ................................................... 3

4入侵检测技术 ........................................................... 3

5安全扫描 ............................................................... 3

5.1安全扫描所涉及的检测技术主要有以下四种 .......................... 4

5.1.1基于应用的检测技术 ......................................... 4

5.1.2基于主机的检测技术 ......................................... 4

5.1.3基于目标的漏洞检测技术 ..................................... 4

5.1.4基于网络的检测技术 ......................................... 4

6安全审计 ............................................................... 5

6.1网络安全审计系统的主要功能 ...................................... 5

6.1.1采集多种类型的日志数据......................................... 5

6.1.2日志管理 .................................................... 5

6.1.3日志查询 .................................................... 5

6.1.4入侵检测 .................................................... 6

6.1.5自动生成安全分析报告 ....................................... 6

6.1.6网络状态实时监视 ........................................... 6

6.1.7事件响应机制 ................................................ 6

6.1.8集中管理 .................................................... 6

6.2网络安全审计系统所涉及的共性问题 ............................ 6

6.2.1日志格式兼容问题 ........................................... 6

6.2.2日志数据的管理问题 ......................................... 6

6.2.3日志数据的集中分析问题 ..................................... 6

6.2.4分析报告及统计报表的自动生成问题 .......................... 6

7安全管理 ............................................................... 7

7.1信息安全管理的内涵 ............................................... 7

7.2信息安全管理的基本原则 ........................................... 7

7.3信息安全管理的基本过程 ........................................... 7

参考文献 ................................................................. 9

1 引言

目前,人类社会已经迈入了网络时代,计算机和互联网已经与老百姓的日常工作、学习和生活息息相关,人类社会目前又处于了一个历史飞跃时期,正由高度的工业化时代迈向初步的计算机网络时代。在计算机技术、网络通讯技术的高速发展的今天,电脑和网络正在以惊人的速度进入人类社会的各个角落。那么今后,我们将用怎样的态度和方式来面对网络科技给我们带来的物质层面和精神上的变化,我们必须对因为网络而引发的社会生产和生活各个层面的深层次变化作一个深刻的理解和清醒的认识,我想这必将成为是当今人类所面临的最大课题,也可能是我们科学工作和研究者们需要面对的新的挑战。

2防火墙技术 防火墙是用来保护内部网络免受外部网络的恶意攻击和入侵,为防止计算机犯罪,将入侵者拒之门外的网络安全技术。防火墙是内部网络与外部网络的边界,它能够严密监视进出边界的数据包信息,能够阻挡入侵者,严格限制外部网络对内部网络的访问,也可有效地监视内部网络对外部网络的访问。

3访问控制技术

访问控制是网络安全保护和防范的核心策略之一。访问控制的主要目的是确保网络资源不被非法访问和非法利用。访问控制技术所涉及内容较为广泛,包括网络登录控制、网络使用权限控制、目录级安全控制,以及属性安全控制等多种手段。

3.1网络登录控制 网络登录控制是网络访问控制的第一道防线。通过网络登录控制可以限制用户对网络服务器的访问,或禁止用户登录,或限制用户只能在指定的工作站上进行登录,或限制用户登录到指定的服务器上,或限制用户只能在指定的时间登录网络等。

网络登录控制一般需要经过三个环节,一是验证用户身份,识别用户名;二是验证用户口令,确认用户身份;三是核查该用户账号的默认权限。在这三个环节中,只要其中一个环节出现异常,该用户就不能登录网络。其中,前两个环节是用户的身份认证过程,是较为重要的环节,用户应加强这个过程的安全保密性,


黑客攻防之木马揭秘
由:免费论文网互联网用户整理提供,链接地址:
http://m.csmayi.cn/meiwen/39538.html
转载请保留,谢谢!
相关阅读
最近更新
推荐专题