网络安全实验Web安全

访客 185 0

Table of Contents

实验目的

实验原理

实验内容

实验1

1. 在地址栏中运行脚本

2. 利用DOM技术

实验2 

1.jump1

2.jump2

3.get

4.xss

5.注册bss

6.盗取cookie

7.分析cookie

 实验3

一.搭建IIS服务器

二. 身份验证和权限设置 在这一部分,我们将讨论身份验证和权限设置的重要性。身份验证是确保只有授权人员能够访问特定信息或执行特定操作的过程。通过有效的身份验证机制,我们可以防止未经授权者获取敏感数据或滥用系统功能。 同时,权限设置是指根据用户角色和职责来限制其对系统资源的访问级别。通过细致地设定不同用户组的权限,我们可以确保每个人只能在其职责范围内进行操作,并且避免潜在的安全风险。 因此,在构建任何应用程序或系统时,正确配置身份验证和权限设置是至关重要的步骤。这将为您提供一个可靠、安全且高效运行的环境,并保护您和您用户之间敏感信息及数据不被泄露或滥用。 如果需要进一步了解如何实施有效的身份验证和权限设置,请与我们联系。我们拥有专业知识并乐意为您提供支持与指导。

三、IP地址和域名的限制

四.安全通信

五. 单点登录

 实验总结

实验目的

1. 探索XSS的概念和原理

2. 学习获取Cookie的技巧

3. 掌握IIS服务器的搭建技巧

4. 学习如何对IIS服务器进行权限设置,以提升服务器的安全性水平。

5. 学习如何在IIS环境下实现安全的加密通信

实验原理

一.什么是XSS

XSS,又称为跨站脚本攻击(Cross Site Scripting),是一种利用网站程序对用户输入过滤不足的漏洞进行攻击的方式。攻击者可以通过注入恶意HTML代码,将其显示在页面上,从而对其他用户造成影响。这种攻击方式可能导致用户资料被盗取、利用用户身份进行某些动作或者对访问者进行病毒侵害。

二.什么是XSS攻击

XSS攻击是指黑客通过在远程WEB页面的HTML代码中插入恶意数据,而用户却误以为该页面是可信任的。当浏览器下载该页面时,其中嵌入的脚本将被解释执行。由于HTML语言允许使用脚本进行简单交互,黑客便通过技术手段在某个页面中插入恶意HTML代码,例如记录论坛保存的用户信息(Cookie)。由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。一个简单的Java脚本就能轻易获取用户信息:alert(document.cookie),它会弹出一个包含用户信息的消息框。黑客利用这些脚本可以将用户信息发送到他们自己记录页面中,并稍作分析即可获取到敏感信息。

三. Cookie的定义 Cookie是一种小型文本文件,存储在用户的计算机或移动设备上。它由网站发送给用户的浏览器,并保存在浏览器的文件夹中。Cookie包含有关用户访问网站的信息,例如偏好设置、登录状态和其他相关数据。通过使用Cookie,网站可以提供个性化和定制化的服务,并为用户提供更好的浏览体验。

Cookie,有时也以复数形式Cookies出现,是指某些网站为了辨别用户身份、进行session跟踪而存储在用户本地终端上的数据(通常经过加密)。这一概念最早由网景公司的前雇员Lou Montulli在1993年3月发明,并被定义于RFC2109(已废弃),目前最新取代的规范是RFC2965。

Cookie是由服务器生成并发送给User-Agent(通常是浏览器),浏览器会将Cookie的键值对保存到某个目录下的文本文件中。当下次请求同一网站时,浏览器会发送该Cookie给服务器(前提是浏览器启用了cookie功能)。服务器可以自定义Cookie的名称和值,对于JSP而言也可以直接写入jsessionid,这样服务器就能知道该用户是否为合法用户以及是否需要重新登录等信息。

四.XSS漏洞的分类

1. 存储型跨站脚本(Stored XSS)漏洞

随着交互式Web应用程序的出现,用户现在可以将各种数据信息存储到Web服务器上。举个例子,像网络硬盘系统允许用户将他们计算机上的文件存储到网络服务器上,并与其他网络用户共享这些文件信息。这种能够接收用户信息的Web应用程序更贴近用户需求,使用灵活,并成为现代化Web领域的主导力量。然而,在这些方便和人性化背后也存在着无法避免的安全隐患。

如果一个Web应用程序的功能是将用户提交的数据存储到数据库中,并在需要时从数据库中提取这些数据返回到网页上,那么如果用户提交的数据中包含XSS攻击语句,一旦Web应用程序准备将这个攻击语句作为用户数据返回到网页上,所有包含这个回显信息的网页都会受到XSS漏洞影响。换言之,只要有一个用户访问了这些网页中的任何一个页面,他都会遭受来自该Web应用程序的跨站攻击。由于Web应用程序过于相信用户提交的数据并将其保存为合法信息存储在数据库中,实际上等同于把一个定时炸弹放进了程序内部。一旦时机成熟,这颗定时炸弹就会爆炸。因此,在存储外部数据引发XSS漏洞方面称为Web应用程序的Stored XSS漏洞或存储型XSS漏洞。

存储型XSS漏洞普遍存在于允许Web用户自定义显示信息和上传文件的Web应用程序中。大多数Web应用程序都属于这一类别。尽管有些Web应用程序也属于此类,但由于仅接受单个管理员的用户数据,并且管理员通常不会对其自己的Web应用程序进行破坏,因此这种类型的Web应用程序不容易受到存储型XSS漏洞攻击。

2. DOM-Based XSS漏洞

DOM是文档对象模型(Document Object Model)的缩写。根据W3C DOM规范,DOM提供了一种与浏览器、平台和语言无关的接口,使得网页开发者能够轻松访问页面上的其他标准组件。简单来说,DOM解决了Netscape的JavaScript和Microsoft的JScript之间的冲突,并为Web设计师和开发者提供了一个标准方法来访问他们站点中的数据、脚本和表现层对象。

由于DOM具有出色的功能,许多Web应用程序开发者都在自己的程序中加入了对DOM的支持。然而,令人遗憾的是,这种滥用DOM的做法大大降低了Web应用程序的安全性,从而导致了DOM-Based XSS漏洞的出现。与Stored XSS漏洞不同,DOM-Based XSS漏洞甚至无需将XSS攻击语句存入数据库中,在浏览器地址栏中直接执行就能够引发跨站行为。对于大多数Web应用程序来说,这种类型的XSS漏洞是最容易被发现和利用的。

XSS漏洞攻击的五种形式

一般来说,XSS漏洞的攻击方式可以分为两种。第一种是利用Web应用程序本身代码编写不严谨的漏洞,从而被攻击者利用成XSS漏洞。这种攻击方式主要针对Stored XSS漏洞进行利用。另一种是通过其他存在XSS漏洞的程序或网站,设置一个人为制造的XSS网页,并在目标程序中嵌入链接,诱导用户点击后间接进行XSS攻击。

我们最关注的是XSS漏洞攻击,因为它具有较高的风险。而另一种攻击方式则更加隐蔽和难以预防,因为它依赖于其他非目标程序的漏洞。这种攻击常常被大多数人忽视。

六. 常见的XSS攻击脚本

(1)用于检测是否存在跨站脚本攻击的测试。 (2)用于验证是否存在跨站脚本攻击的测试。 (3)用于判断是否存在跨站脚本攻击的测试。

如果用户已经通过账号登录网站,弹出一个对话框,其中包含浏览者的cookie信息。在显示cookie信息时,将会包含用户的账号和密码。

当用户浏览该页面时,会弹出一个尺寸为200高、200宽的网页窗口,在其中打开的页面是http://www.target.com/index.asp。

当用户浏览该页面时,会在当前页面中嵌入一个不可见的网页框架,其尺寸为高0、宽0。实际上,这个框架会加载并访问http://www.target.com/index.asp这个地址。

(5)跳转至另一个页面。

    (6)scriptlet引入另一个页面。

(7)打开大量浏览器,直到CPU超负荷。

进行注册表编辑,修改IE主页(第8项)

七.XSS的防御

1. 基于特征的防御

XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面编写不完善的问题。因此,每个漏洞所利用和针对的弱点都各不相同,这给XSS漏洞的防御带来了困难。无法以单一特征来概括所有XSS攻击。

  传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。对于这种类型的XSS攻击,采用的模式匹配方法一般会需要对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击。这种检测方法的缺陷显而易见:黑客可以通过插入字符或完全编码的方式躲避检测。

在 JavaScript 中,通过添加多个制表符键(Tab 键),可以得到以下代码:IMG SRC=javascript:alert('XSS')。

(2)在 JavaScript 中插入 #x09 编码字符,得到 IMG SRC=javascript:alert('XSS')。

(3)在 JavaScript 中添加字符“,”以获取 IMG SRC=javascript:alert('XSS')。

(4)在 JavaScript 中的每个字符之间加入回车换行符,得到:

改写后的段落如下: IMG SRC='j\r\na\r\nv\r\n\r\na\r\ns\r\nc\r\nr\r\ni\r\np\nt:alert(‘XSS‘)'

  (5)对"javascript:alert(‘XSS‘)"采用完全编码,得到

IMGSRC='javascript:alert('XSS')'

以下方法都可以轻松避开基于特征的检测。然而,除了可能会有很多漏报之外,基于特征的检测还存在大量误报的风险。举个例子,在上述情况中,如果一个URL是“http://www.target.com/javascript/kkk.asp?id=2345”,由于其中包含关键词“javascript”,也会引发警报。

2. 代码修改为基础的防御

与防御SQL注入一样,XSS攻击也是利用了Web页面编写的疏忽。因此,另一种避免XSS攻击的方法是从Web应用开发的角度出发:

(1)对所有用户提交的内容进行可靠的输入验证,包括URL、查询关键字、HTTP头和POST数据等。只接受长度在指定范围内、采用适当格式并包含所预期字符的内容进行提交。其他内容将被过滤。 (2)为了确保安全性,我们会对所有用户提交的内容进行可靠的输入验证。这包括URL、查询关键字、HTTP头和POST数据等方面。我们只接受符合指定长度范围内,并且采用适当格式以及所预期字符的内容进行提交,而其他内容则会被过滤掉。 (3)为了保证系统安全性,我们会对所有用户提交的内容进行可靠的输入验证。这涵盖了URL、查询关键字、HTTP头和POST数据等方面。我们仅接受符合指定长度范围内,并且采用适当格式以及所预期字符组成的内容来完成提交操作,而其他非法或不符合要求的部分将被自动过滤掉。 (4)为确保系统稳定与安全性,我们会对所有用户提交的信息进行可靠地输入验证处理。其中包括URL链接地址、查询关键词搜索请求以及HTTP头部信息和POST数据等方面。只有那些长度在规定范围内,并且采用适当格式并使用所预期字符构成 的有效信息才会被接受并处理,而其他无效或不符合要求的内容将被过滤掉。

(2)为了防止攻击,可以采取以下措施:实现会话标记(session tokens)、使用CAPTCHA系统或进行HTTP引用头检查。

一.什么是IIS

Internet信息服务器(IIS)是创建信息服务器的关键组件,被广泛应用于微软公司的服务器领域。最新版本为IIS 6.0,包含在Windows 2003中。IIS与Window NT Server完美融合,用户可以充分利用Windows NT Server和NTFS内置的安全特性来构建强大、灵活且安全的Internet和Intranet站点。

IIS是一种全面支持HTTP(超文本传输协议)、FTP(文件传输协议)和SMTP协议的服务器软件。通过使用CGI和ISAPI技术,IIS可以实现高度的扩展性。开发人员可以利用IIS创建出新一代动态且吸引人的Web站点,而无需学习新的脚本语言或编译应用程序。它完全支持VBScript、JScript以及Java等开发工具,并且还支持CGI、WinCGI以及ISAPI扩展和过滤器功能。

IIS提供对Microsoft BackOffice系列服务器应用的支持,该系列包括以下内容:

1. Microsoft Exchange Server 是一款用于客户/服务器通讯和群组软件的强大工具。

(2)Microsoft Proxy Server是一款代理服务器;

3. Microsoft SNA Server is utilized to connect IBM enterprise networks.

4. Microsoft Systems Management Server is utilized for centralized management of distributed systems.

(5)微软商业互联网系统(MCIS)。

IIS的设计旨在构建一个集成的服务器服务,以支持HTTP、FTP和SMTP协议,并能够提供快速、集成和可扩展的互联网服务器。

IIS具有极高的适应性,同时对系统资源的消耗也最少。它的安装、管理和配置都非常简单,这是因为IIS与Windows NT Server网络操作系统紧密集成在一起。此外,IIS还使用与Windows NT Server相同的SAM(Security Accounts Manager)安全性账号管理器。对于管理员来说,IIS可以利用诸如Performance Monitor和SNMP(Simple Network Management Protocol)等NT已有的管理工具。

IIS是一种支持ISAPI的服务器,通过使用ISAPI可以扩展服务器功能。同时,使用ISAPI过滤器可以对存储在IIS上的数据进行预处理和事后处理。为了方便32位Windows应用程序的使用,Internet扩展提供了一个集中且易于操作的界面,其中包括FTP、SMTP和HTTP协议。这些界面大大简化了Internet应用程序的使用过程。此外,IIS还支持MIME(Multipurpose Internet Mail Extensions),这是一种广泛用于Internet邮件扩展的技术。通过提供简单注册项,它可以方便地访问Internet应用程序。

IIS具有一个重要的特性,即支持ASP。自IIS 3.0版本以后,引入了ASP,使得发布动态内容和开发基于Web的应用程序变得非常容易。对于使用VBScript、JScript进行软件开发,或者使用Visual Basic、Java、Visual C++等系统进行开发的应用程序,以及已有的CGI和WinCGI脚本开发的应用程序来说,IIS都提供了强大而本地化的支持。

二. IIS 6.0的基本概念

    IIS 6.0是Windows Server 2003的一个组件,可以使Windows Server 2003成为一个Internet信息的发布平台,为系统管理员创建和管理Internet信息服务器提供各种管理功能和操作方法。但系统管理员在利用IIS 6.0创建Internet信息服务器之前,必须确认在安装系统时已经安装了IIS,否则还需要另外单独安装IIS 6.0。

在Windows Server 2003中,IIS 6.0与系统紧密集成,提供了多个一级组件。其中一些组件与相关的服务和工具绑定在一起,管理员可以根据需要选择所需的组件。IIS的核心组件包括Internet服务管理器(安装基于HTML版本的IIS管理界面)、FrontPage服务器扩展(方便使用FrontPage和Visual InterDev创建和管理站点以及发布内容)、Internet信息服务管理单元(可将IIS的管理界面安装到MMC中)以及Web服务(使HTTP协议响应TCP/IP网)。

IIS 6.0与Windows Server 2003中的其他组件有所不同,它是一个专为提供Internet信息服务而设计的平台。IIS 6.0提供了多种服务,这些服务都是为了完成其核心功能,并可应用于Internet上的信息服务。其中最常用且最重要的服务包括Web服务和FTP服务,在安装IIS 6.0时默认会安装这些服务。一旦安装了IIS 6.0,服务器就成为了一个完整的Internet信息服务器,可以在内部为本地局域网络提供服务,在外部则可以对接互联网。

单点登录(SSO)是一种身份验证和授权机制,它允许用户通过一次登录获得对多个应用程序或系统的访问权限。

单点登录(Single Sign On),简称为SSO,是目前广泛应用于企业业务整合的解决方案之一。它的定义是,在多个应用系统中,用户只需登录一次即可访问所有相互信任的应用系统。而企业应用集成(EAI)则可以在不同层面上进行整合,例如在数据存储层面上实现“数据大集中”,在传输层面上建立“通用数据交换平台”,在应用层面上实现“业务流程整合”,以及通过通用企业门户提供统一用户界面等等。事实上,身份认证的整合也变得越来越重要,并且成为了一个不可忽视的集成层面。

四. 实现单点登录的方法 实现单点登录有以下几种方法:

要实现单点登录(SSO),需要以下主要功能:所有应用系统共享一个身份认证系统,以便识别和提取ticket信息;应用系统能够识别已登录用户,并自动判断当前用户是否已登录,从而实现单点登录的功能。其中,统一的身份认证系统是最重要的组成部分,其主要功能是将用户的登录信息与用户信息库进行比对,并进行登录认证。认证成功后,该系统会生成统一的认证标志(ticket)并返回给用户。此外,该身份认证系统还需对ticket进行验证以判断其有效性。整个系统可以包含两个或更多个不同产品的认证服务器,并通过标准通讯协议相互交换认证信息,以实现更高级别的单点登录功能。

实验内容

实验1

    使用“快照X”恢复Windows系统环境。

以主机A为例,下面将详细说明实验步骤,每个任务将分配给一个单独的组。

网络安全实验Web安全-第1张图片-谷歌商店上架

1. 在地址栏中运行脚本

当主机A在浏览器地址栏中输入“javascript:alert('xss')”并确认后,浏览器会弹出一个对话框,内容为xss。这表明在浏览器地址栏中输入可执行脚本的效果与将该脚本插入网页中执行是相同的,从而为XSS攻击提供了基础。

网络安全实验Web安全-第2张图片-谷歌商店上架

2. 利用DOM技术

1. 打开主机A,右键点击“我的电脑”,选择“管理”。 2. 在管理窗口中,找到并点击“服务和应用程序”。 3. 在下拉菜单中选择“服务”,检查Kingsoft Uplive Service服务是否已停止。 4. 如果该服务已经启动,请将其停止。

网络安全实验Web安全-第3张图片-谷歌商店上架

2) 主机A启动“木马网站2”,并将以下代码保存为xsscks.asp,并放置于“木马网站2”的虚拟目录下(路径为D:\ExpNIC\Common\Web\木马网站)。 主机A在浏览器地址栏中输入http://主机A的IP:9090/xsscks.asp?name=username,以访问xsscks.asp。结果页面利用DOM技术中的document.URL对象提取出name参数后面的字符串,并通过document.write函数将其显示在网页上。

网络安全实验Web安全-第4张图片-谷歌商店上架

网络安全实验Web安全-第5张图片-谷歌商店上架 

 网络安全实验Web安全-第6张图片-谷歌商店上架

网络安全实验Web安全-第7张图片-谷歌商店上架 

(3)在浏览器中输入http://主机A的IP:9090/xsscks.asp?name=<script>alert(document.cookie)</script>后,当前网页将被注入这段代码并直接执行。结果就是用户的cookie信息会被直接显示出来,从而导致XSS攻击发生。详见图2:

网络安全实验Web安全-第8张图片-谷歌商店上架 

实验2 

主机A和B组成一组,而C和D组成另一组,E和F也是一组。接下来以主机A和B为例,详细说明实验步骤。

以下是实验主机的角色表: 实验主机的角色如下:

实验主机

 实验角色

主机A

 攻击者

网络安全实验Web安全-第9张图片-谷歌商店上架

主机B

 被攻击者

网络安全实验Web安全-第10张图片-谷歌商店上架

1.jump1

如果我们将一个IE窗口称为“父页”,那么从该窗口中弹出的页面应该被称为“子页”。当父页能够在某些条件下控制子页时,我们就可以通过精心构造的页面实现XSS攻击。在这个例子中,主机A将以下代码保存为jump1.asp,并将其放入“木马网站2”中。当访问jump1.asp时,可以看到父页(即jump1.asp)弹出了一个子页。初始情况下,子页打开的是网页A,但经过3秒后会自动转到网页B。这说明……

网络安全实验Web安全-第11张图片-谷歌商店上架 

网络安全实验Web安全-第12张图片-谷歌商店上架 网络安全实验Web安全-第13张图片-谷歌商店上架网络安全实验Web安全-第14张图片-谷歌商店上架

2.jump2

父页控制子页达成条件的关键在于两点:首先,确保windows.frames[0]方法没有受到域的限制;其次,确保location指定的地址看起来像个对象而不是参数。基于这两个关键条件,我们可以构造jump2.asp代码如下:

网络安全实验Web安全-第15张图片-谷歌商店上架

通过分析代码,我们可以得出以下结论:使用window对象的location方法打开的网页与初始弹出的空白页在同一域内,并没有受到域的限制。根据IE6的安全特性,如果window对象打开的窗口属于同一个域,那么就可以向该窗口注入脚本并运行。我们可以构造一个脚本“javascript:alert(document.cookie)”,并将location指定为String对象。代码中的“3000”表示延迟执行JavaScript脚本的时间为3000毫秒。当主机A访问jump2.asp时,结果是子页面弹出了xsstest1.html网页中存储的cookie信息。因此,由于IE6安全特性问题导致xsstest1.html发生了跨站攻击。

网络安全实验Web安全-第16张图片-谷歌商店上架 

网络安全实验Web安全-第17张图片-谷歌商店上架 

3.get

根据以上步骤的原理,主机A可以获取主机B中“默认网站”下bbs网站的cookie信息。为此,主机A需要将以下代码保存为get.asp并上传至本地“木马网站2”。这段代码的功能是将盗取到的cookie信息保存至主机A服务器上的特定文件中。

网络安全实验Web安全-第18张图片-谷歌商店上架 

4.xss

主机A把下面的代码保存为xss.html上传至“木马网站2”中,代码中的“http://主机B的IP/bbs/index.asp”为主机A要获取cookie的主机B中的论坛主页地址;http://主机A的IP:9090/get.asp地址为主机A访问get.asp的地址。网络安全实验Web安全-第19张图片-谷歌商店上架 

5.注册bss

主机B访问本机“默认站点”中的bbs网站,访问地址为http://主机B的IP/bbs/index.asp,注册用户test后,退出并重新使用test账户登录论坛,此时设置cookie为保存一天以上。网络安全实验Web安全-第20张图片-谷歌商店上架 

网络安全实验Web安全-第21张图片-谷歌商店上架 

网络安全实验Web安全-第22张图片-谷歌商店上架 

6.盗取cookie

主机B在浏览器中访问主机A中的xss.html页面,访问地址为          ,点击网页中的上面的“主机B点击这里”链接(在实际盗取过程中,主机A需要诱骗主机B去点击这个链接),网站跳转至要获得cookie的目标网站,5秒后网页跳转为空页面,主机A查看“木马网站2”下的cookie.txt文件,对主机B的cookie获取成功,获取到的cookie信息如图1所示:网络安全实验Web安全-第23张图片-谷歌商店上架 

网络安全实验Web安全-第24张图片-谷歌商店上架 

网络安全实验Web安全-第25张图片-谷歌商店上架 

7.分析cookie

通过分析cookie信息,我们可以获取到用户名和经过加密的密码。黑客可以利用这些cookie信息来冒充主机B的身份,并获得对应网站或论坛的权限。在本实验中,我们不会详细讨论此问题,但有兴趣的同学可以查阅相关资料并进行深入研究。

 实验3

 实验步骤   

本练习中,主机A和B组成一组,C和D组成另一组,E和F也是一组。

首先,使用“快照X”来还原Windows系统的环境。

A:

网络安全实验Web安全-第26张图片-谷歌商店上架

B:

172.16.0.89 can be rewritten as The IP address 172.16.0.89.

一.搭建IIS服务器

1.创建网站

请按照以下步骤依次点击:开始 -> 程序 -> 管理工具 -> Internet信息服务(IIS)管理器,如图1所示。

 网络安全实验Web安全-第27张图片-谷歌商店上架

请按右键点击“网站”,然后依次选择“新建|网站(W)”。根据网站创建向导的指引,完成网站的创建。在创建过程中,请将“网站描述”设为“我的网站”,将“网站IP地址”设为本机IP地址,将“网站TCP端口”设为“6666”(可以选择任意未被占用的端口)。同时,请设置主目录路径为“C:\我的网站”(请先自行创建该目录),并保持默认的访问权限设置。

网络安全实验Web安全-第28张图片-谷歌商店上架

网络安全实验Web安全-第29张图片-谷歌商店上架 

网络安全实验Web安全-第30张图片-谷歌商店上架 

网络安全实验Web安全-第31张图片-谷歌商店上架 

2.创建个人主页

请进入“C:\我的网站”目录,参考“D:\ExpNIC\Common\Web\wwwroot\index.html”制作您自己的主页index.html,并将其保存在当前目录下。

请检查主机B是否成功打开IE浏览器,并尝试访问主机A的个人主页,网址为“http://主机A的IP地址:6666/index.html”。请确认个人主页是否已经成功创建。

网络安全实验Web安全-第32张图片-谷歌商店上架

3.创建FTP站点

请按右键,选择“新建”然后再选择“FTP站点”,这样你就可以进入FTP站点创建向导了。根据提示完成创建即可。在创建过程中,请将“FTP站点描述”设置为“我的FTP站点”,将“FTP站点使用的IP地址”设置为本机IP地址,并将端口设置为7777(你可以选择任意未被占用的端口)。对于“FTP用户隔离”,请选择默认选项,“不隔离用户”。而对于“FTP站点主目录”,请设定为 “C:\我的FTP站点”。至于访问权限,则保持默认值即可。

网络安全实验Web安全-第33张图片-谷歌商店上架

网络安全实验Web安全-第34张图片-谷歌商店上架 

在“C:\我的FTP站点”目录下,主机A成功创建了名为“A的文本文档.txt”的文本文件。

网络安全实验Web安全-第35张图片-谷歌商店上架 

在主机B上打开IE浏览器,登录到主机A的FTP站点“ftp://主机A的IP地址:7777”,并尝试对“A的文本文档.txt”进行读取、写入、修改或删除等操作,以查看哪种操作成功。

网络安全实验Web安全-第36张图片-谷歌商店上架

发现只能读取

二. 身份验证和权限设置 在这一部分,我们将讨论身份验证和权限设置的重要性。身份验证是确保只有授权人员能够访问特定信息或执行特定操作的过程。通过有效的身份验证机制,我们可以防止未经授权者获取敏感数据或滥用系统功能。 同时,权限设置是指根据用户角色和职责来限制其对系统资源的访问级别。通过细致地设定不同用户组的权限,我们可以确保每个人只能在其职责范围内进行操作,并且避免潜在的安全风险。 因此,在构建任何应用程序或系统时,正确配置身份验证和权限设置是至关重要的步骤。这将为您提供一个可靠、安全且高效运行的环境,并保护您和您用户之间敏感信息及数据不被泄露或滥用。 如果需要进一步了解如何实施有效的身份验证和权限设置,请与我们联系。我们拥有专业知识并乐意为您提供支持与指导。

1.网站的身份验证

点击主机A右键,选择“我的网站”,再选择“属性”,切换到“目录安全性”页签。参考图3。

请点击“身份验证和访问控制”页中的“编辑”按钮,进入“身份验证方法”页签。在这里可以选择对登录用户的身份验证方式。默认情况下,“启用匿名访问”和“集成Windows身份验证”两项都是选中的。如果想对访问主页的用户进行权限限制,可以取消“启用匿名访问”,然后选择“用户访问需经过身份验证”页签中的“集成Windows身份验证”。这样,其他用户若要访问主机A的网站,则必须拥有相应的帐户和口令(此设置也可在创建网站时通过安装向导进行设置)。

 网络安全实验Web安全-第37张图片-谷歌商店上架

当主机B打开IE浏览器时,它会访问主机A的主页,网址为“http://主机A的IP地址:6666/index.html”。在这个过程中,用户将会收到一个提示要求输入用户名和密码。只需输入用户名“student”和密码“123456”,即可成功访问主机A的主页。

网络安全实验Web安全-第38张图片-谷歌商店上架 

2. FTP站点的身份验证和权限设置

身份验证:

右键点击“我的FTP站点”主机A,然后选择“属性”,接着切换到“安全帐户”页签。

网络安全实验Web安全-第39张图片-谷歌商店上架 

系统默认的身份验证方式为“允许匿名连接”,如果想对访问FTP站点的用户进行管制,可以取消“允许匿名连接”,并保存设置。此时其它用户若访问主机A的FTP站点,就必须拥有相应的帐户和口令。(此设置也可以在创建FTP站点的安装向导中设置)。

在主机B上打开IE浏览器,输入以下地址访问主机A的FTP站点:ftp://主机A的IP地址:7777。系统会提示您输入用户名和密码。请键入用户名“student”和密码“123456”,即可成功登录到主机A的FTP站点。

网络安全实验Web安全-第40张图片-谷歌商店上架

权限控制:

    主机A右键点击“我的FTP站点”,选择“属性”,切换到“主目录”页签。网络安全实验Web安全-第41张图片-谷歌商店上架 

在“FTP站点目录”页签中,选择“写入”选项并保存设置。这样一来,任何用户都可以获得FTP站点的写入权限。

    主机B此时是否可以将写好的文本文件复制到FTP站点内?           。      

三、IP地址和域名的限制

通过限制IP地址和域名,可以实现对特定IP、IP段和域名的访问进行限制。对网站和FTP站点的设置完全一样,下面以对网站的IP地址进行限制为例。

在主机A上,点击“我的网站|属性|目录安全性|IP地址和域名限制”选项,然后点击“编辑”按钮以进入IP地址访问限制页签。接下来,点击“添加”按钮,并输入所有需要限制访问的主机的IP地址,以主机B为例。完成设置后,请退出该页面。

 网络安全实验Web安全-第42张图片-谷歌商店上架

主机B访问主机A的主页“http://主机A的IP地址:6666/index.html”,这时主机B会收到“您未被授权查看该页”的提示。

网络安全实验Web安全-第43张图片-谷歌商店上架 

四.安全通信

在密码学及应用实验6练习一中,详细介绍了如何利用PKI技术对通信信息进行加密。

五. 单点登录

1.  正常登录

在IE浏览器的地址栏中输入http://localhost:6666/App1,然后输入用户名:jlcss,密码:jlcssadmin,即可进入人力资源管理系统的首页。

 网络安全实验Web安全-第44张图片-谷歌商店上架

网络安全实验Web安全-第45张图片-谷歌商店上架 

在IE浏览器的地址栏中输入http://localhost:6666/App2,然后输入相同的用户名和密码,即可进入财务管理系统的首页。

网络安全实验Web安全-第46张图片-谷歌商店上架 

现在,要登录人力资源管理系统和财务管理系统,需要进行两次用户名和密码的输入。

2. 单点登录 (Single Sign-On)

或者

2. 单一登录

在IE浏览器的地址栏中输入http://localhost:7772/Portal/Default.aspx,将会显示与图7相似的页面。

网络安全实验Web安全-第47张图片-谷歌商店上架 

请提供您的用户名:jlcss,密码:jlcssadmin。

点击“登录”按钮后,将会出现如下图所示(见图8)。

 网络安全实验Web安全-第48张图片-谷歌商店上架

我们现在可以直接进入“人力资源管理系统”和“财务管理系统”,无需再次输入用户名和密码。当点击“退出”按钮时,会返回到上一级页面。

 实验总结

跨站脚本攻击(XSS)是一种常见的网络应用程序漏洞,黑客可以通过注入恶意脚本来获取用户的敏感信息或者控制用户的账户。他们可以在输入框、URL参数等地方注入恶意脚本以实施XSS攻击。为了预防XSS攻击,我们应该对用户提交的数据进行过滤和转义处理,避免直接将用户输入内容作为HTML或JavaScript代码输出到页面上。

在一次盗取虚拟人物rookie的实验中,攻击者采用了在评论中注入恶意脚本的方式,以控制rookie账户。通过在评论中插入JavaScript代码,攻击者能够获取rookie的cookie信息,并进而掌握对其账户的控制权。为了防止此类攻击,应对用户提交的评论内容进行过滤和转义处理,避免直接将用户输入内容输出到页面上。

IIS(Internet Information Services)是由微软公司开发的Web服务器软件。在实验中,攻击者可以通过将恶意脚本文件放置在IIS服务器上来控制访问该服务器的用户。通过向恶意脚本文件注入恶意代码,攻击者可以获取用户的cookie信息,并进而掌控其账户。为了防止这种攻击,应限制和过滤服务器上的文件,以避免向用户提供恶意脚本文件。同时,还应对用户提交的数据进行过滤和转义处理,以避免直接执行用户输入内容作为代码。

标签: 主机 用户 站点 网站

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~