网络安全实验——web安全
XSS(Cross-Site Scripting)是一种常见的Web应用程序漏洞,攻击者可以通过注入恶意脚本来获取用户的敏感信息或者控制用户的账户。攻击者可以通过在输入框、URL参数等地方注入恶意脚本来实现XSS攻击。为了防止XSS攻击,应该对用户提交的数据进行过滤和转义,避免将用户输入的内容作为HTML或JavaScript代码直接输出到页面上。在盗取rookie(一个虚拟人物)的实验中,攻击者
目录
实验目的
1. 了解什么是XSS
2. 掌握盗取Cookie的方法
3.学会搭建IIS服务器
4.学会对IIS服务器进行权限设置进而提高服务器的安全性
5.学会在IIS下进行安全加密通信
实验原理
一.什么是XSS
XSS又叫CSS (Cross Site Script) 也称为跨站,它是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
二.什么是XSS攻击
XSS攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码,例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。如这句简单的Java脚本就能轻易获取用户信息:alert(document.cookie),它会弹出一个包含用户信息的消息框。入侵者运用脚本就能把用户信息发送到他们自己的记录页面中,稍做分析便获取了用户的敏感信息。
三.什么是Cookie
Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于RFC2109(已废弃),最新取代的规范是RFC2965。Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该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应用程序只接受单个管理员的用户数据,而管理员一般不会对自己的Web应用程序做什么破坏,所以这种Web应用程序也不会遭到存储型XSS漏洞的攻击。
2. DOM-Based XSS漏洞
DOM是Document Object Model(文档对象模型)的缩写。根据W3C DOM规范(http://www.w.org.DOM/),DOM是一种与浏览器、平台、语言无关的接口,使得网页开发者可以利用它来访问页面其他的标准组件。简单解释,DOM解决了Netscape的JavaScript和Microsoft的JScrtipt之间的冲突,给予Web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对象。
由于DOM有如此好的功能,大量的Web应用程序开发者在自己的程序中加入对DOM的支持,令人遗憾的是,Web应用程序开发者这种滥用DOM的做法使得Web应用程序的安全也大大降低,DOM-Based XSS正是在这样的环境下出现的漏洞。DOM-Based XSS漏洞与Stored XSS漏洞不同,因为他甚至不需要将XSS攻击语句存入到数据库中,直接在浏览器的地址栏中就可以让Web应用程序发生跨站行为。对于大多数的Web应用程序来说,这种类型的XSS漏洞是最容易被发现和利用的。
五.XSS漏洞的攻击形式
一般来讲,XSS漏洞的攻击形式有两种:一种是利用来自Web应用程序本身的代码编写不严格,导致被利用成XSS,这一种攻击形式主要集中在对Stored XSS漏洞的利用上;另一种则是利用其它存在XSS漏洞的程序或网站,设置人为制造的一个XSS网页,然后在目标程序中套嵌入链接,引诱用户单击后,间接地进行XSS攻击。
前一种攻击方式是我们最关注的XSS漏洞攻击,而后一种则因为其依赖其他非目标程序的漏洞显得非常隐蔽和难以防范,常被大多数人忽略。
六.XSS攻击常用脚本
(1)用于测试是否存在跨站。
(2)弹出一个包含浏览者cookie信息的对话框,如果用户已经通过账号登录网站,在显示cookie信息中将包含用户的账号和密码。
(3)当用户浏览该页面时,将弹出一个高200,宽200的网页窗口,在其中打开的页面是http://www.target.com/index.asp。
(4)当用户浏览该页面时,将在当前页面中出现一个高0,宽0的网页框架,也就是说这个框架是用户不可见的,但其实质是在打开的页面中访问了http://www.target.com/index.asp这个地址。
(5)刷新到另一个页面。
(6)scriptlet引入另一个页面。
(7)打开无数个浏览器,直至CPU超负荷。
(8)修改注册表(IE主页)。
七.XSS的防御
1. 基于特征的防御
XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难:不可能以单一特征来概括所有XSS攻击。
传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。对于这种类型的XSS攻击,采用的模式匹配方法一般会需要对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击。这种检测方法的缺陷显而易见:黑客可以通过插入字符或完全编码的方式躲避检测。
(1)在javascript中加入多个tab键,得到 IMG SRC="jav ascript: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\r\nt\r\n:alert(‘XSS‘)"
(5)对"javascript:alert(‘XSS‘)"采用完全编码,得到
IMGSRC=#x6A#x61#x76#x61#x73#x63#x72#x69#x70#x74#x3A#x61#x6C#x65#x72#x74#x28#x27#x58#x53#x53#x27#x29。
上述方法都可以很容易的躲避基于特征的检测。而除了会有大量的漏报外,基于特征的还存在大量的误报可能:在上面的例子中,对"http://www.target.com/javascript/kkk.asp?id=2345"这样一个URL,由于包含了关键字“javascript”,也将会触发报警。
2. 基于代码修改的防御
与SQL注入防御一样,XSS攻击也是利用了Web页面的编写疏忽,所以还有一种方法就是从Web应用开发的角度来避免:
(1)对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容来提交,对其他的一律过滤。
(2)实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防被攻击。
一.什么是IIS
Internet信息服务器(即Internet Information Server,简称IIS)是用户创建信息服务器的最重要的组件,它是微软公司主推的服务器,其最新的版本是Windows 2003中包含的IIS 6.0。IIS与Window NT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大、灵活且安全的Internet和Intranet站点。
IIS 支持HTTP(Hypertext Transfer Protocol,超文本传输协议),FTP(File Transfer Protocol,文件传输协议)以及SMTP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。通过IIS,开发人员就可以开发出新一代动态的、富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,它完全支持VBScript,JScript开发软件以及 Java,它也支持CGI和WinCGI,以及ISAPI扩展和过滤器。
IIS支持服务器应用的Microsoft BackOffice系列,Microsoft BackOffice系列包括以下内容:
(1)Microsoft Exchange Server 客户/服务器通讯和群组软件;
(2)Microsoft Proxy Server 代理服务器;
(3)用于连接IBM企业网络的Microsoft SNA Server;
(4)用于集中管理分布式系统的Microsoft Systems Management Server;
(5)Microsoft Commercial Internet System(MCIS)。
IIS的设计目的是建立一套集成的服务器服务,用以支持HTTP,FTP和SMTP,它能够提供快速的、集成的、可扩展的Internet服务器。
IIS适应性极高,同时系统资源的消耗也是最少,IIS的安装,管理和配置都相当简单,这是因为IIS与Windows NT Server网络操作系统紧密的集成在一起,另外,IIS还使用与Windows NT Server相同的SAM(Security Accounts Manager,安全性账号管理器),对于管理员来说,IIS使用诸如Performance Monitor和SNMP(Simple Nerwork 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网络上的Web客户端请求)、文件传输协议服务(为建立用于上传或下载的FTP站点提供支持)、NNTP Service(提供简单网络新闻服务)、SMTP Service(提供简单邮件传输功能)和公用文件(提供所需要的IIS程序文件)等。另外,IIS还支持其他一些功能强大的组件,如XML、ASP、 ISAPI(Internet服务器应用程序编程接口)、IDC(Internet数据连接器)、JVM(服务器端的Java虚拟机)、JSP、 JavaScript、VBScript和CGI(公共网关接口)等,这些组件直接影响到服务器所提供的内容和功能。
IIS 6.0与Windows Server 2003中的其他组件不同,它是一个Internet信息服务平台。IIS 6.0提供的众多服务都是用来完成它的核心功能的,而且这些服务都可以应用到Internet上的信息服务中,其中最常用、最重要的服务是Web服务和FTP服务,它们也是在安装IIS 6.0时默认安装的服务。安装了IIS 6.0的服务器就成为了Internet信息服务器,它对内可以服务本地局域网络,对外可以服务于Internet。
三.单点登录的概念
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。企业应用集成(EAI)。企业应用集成可以在不同层面上进行:例如在数据存储层面上的“数据大集中”,在传输层面上的“通用数据交换平台”,在应用层面上的“业务流程整合”,和用户界面上的“通用企业门户”等等。事实上,还用一个层面上的集成变得越来越重要,那就是“身份认证”的整合,也就是“单点登录”。单点登录的技术实现机制:当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行效验,检查ticket的合法性。如果通过效验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。
四. 如何实现单点登录
要实现SSO,需要以下主要的功能:所有应用系统共享一个身份认证系统;所有应用系统能够识别和提取ticket信息;应用系统能够识别已经登录过的用户,能自动判断当前用户是否登录过,从而完成单点登录的功能。其中统一的身份认证系统最重要,认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行效验,判断其有效性。整个系统可以存在两个以上的认证服务器,这些服务器甚至可以是不同的产品。认证服务器之间要通过标准的通讯协议,互相交换认证信息,就能完成更高级别的单点登录。
实验内容
实验1
使用“快照X”恢复Windows系统环境。
任务一单人为一组,下面以主机A为例,说明实验步骤。
1. 地址栏中执行脚本
主机A在浏览器地址栏中输入“javascript:alert('xss')”确定后可以看到浏览器弹出了一个内容为xss的对话框,如图1所示。这说明在浏览器地址栏中输入可执行脚本效果与把该脚本插入网页中去执行是一样的,这就为XSS提供了基础。
2. 对DOM技术的利用
(1)主机A右键“我的电脑”->“管理”->“服务和应用程序”->“服务”,检查Kingsoft Uplive Service服务是否为停止状态,如服务已经启动,将其停止。
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函数将其显示到网页中。
(3)主机A在浏览器中输入“http://主机A的IP:9090/xsscks.asp?name=<script>alert(document.cookie)</script>”,这样,代码 将被插入到当前的网页中,浏览器直接执行了这段代码后,就会将用户的cookie信息直接显示出来,XSS攻击发生了。如图2所示:
实验2
主机A、B为一组,C、D为一组,E、F为一组。下面以主机A、B为例,说明实验步骤。
实验主机角色如下表:
实验主机
实验角色
主机A
攻击者
主机B
被攻击者
1.jump1
如果我们把一个IE窗口称作“父页”,那么从该窗口中弹出的页面就应该称作为“子页”,如果父页能在某些条件下控制子页,这就可以让我们精心构造的页面实现XSS。主机A将如下代码保存为jump1.asp,将jump1.asp放入“木马网站2”中,访问jump1.asp,可以看到父页(jump1.asp)弹出了子页,子页打开的是网页A,但3秒之后就转为了网页B,这说明
2.jump2
父页控制子页的达成条件的关键,一是windows.frames[0]方法没有受到域的限制,二是location指定的地址看起来像个对象而不是参数,根据这两个关键条件,主机A来构造jump2.asp,代码如下:
分析代码,window的对象x所使用的location方法打开的网页与开始弹出的空白页在同一域内,并没有受到域的限制,根据IE6的安全特性,如果window对象打开的窗口是同一个域,那么就可以向打开的这个窗口再注入脚本运行,我们来构造脚本“javascript:alert(document.cookie)”,并让location指定的地址为String对象,代码中的“3000”就是3000毫秒,用来控制在多长时间后执行JavaScript,主机A访问jump2.asp,结果子页弹出了xsstest1.html的cookie,这样,xsstest1.html就因为IE6安全特性的问题而被跨站了。
3.get
根据以上步骤的原理,主机A来盗取主机B中“默认网站”下的bbs网站中的cookie,主机A把下面的代码保存为get.asp上传至本地“木马网站2”中,这段代码主要是将盗取的cookie保存至主机A服务器的 文件中。
4.xss
主机A把下面的代码保存为xss.html上传至“木马网站2”中,代码中的“http://主机B的IP/bbs/index.asp”为主机A要获取cookie的主机B中的论坛主页地址;http://主机A的IP:9090/get.asp地址为主机A访问get.asp的地址。
5.注册bss
主机B访问本机“默认站点”中的bbs网站,访问地址为http://主机B的IP/bbs/index.asp,注册用户test后,退出并重新使用test账户登录论坛,此时设置cookie为保存一天以上。
6.盗取cookie
主机B在浏览器中访问主机A中的xss.html页面,访问地址为 ,点击网页中的上面的“主机B点击这里”链接(在实际盗取过程中,主机A需要诱骗主机B去点击这个链接),网站跳转至要获得cookie的目标网站,5秒后网页跳转为空页面,主机A查看“木马网站2”下的cookie.txt文件,对主机B的cookie获取成功,获取到的cookie信息如图1所示:
7.分析cookie
分析cookie信息,可以发现用户名和被加密的密码,利用此cookie信息,黑客可以冒充主机B的身份获得网站或论坛的对应权限,本实验不做具体讨论,有兴趣的同学可以查阅相关资料,进行深入研究。
实验3
实验步骤
本练习主机A、B为一组,C、D为一组,E、F为一组。
首先使用“快照X”恢复Windows系统环境。
A:
B:
172.16.0.89
一.搭建IIS服务器
1.创建网站
依次点击“开始|程序|管理工具|Internet信息服务(IIS)管理器”,如图1所示。
右键点击“网站”,依次选取“新建|网站(W)”,根据网站创建向导完成网站的创建。其中“网站描述”为“我的网站”;“网站IP地址”为本机IP地址;“网站TCP端口”设为“6666”(可选择任意未被占用端口);主目录“路径”为“C:\我的网站”(需自己创建目录);网站访问权限为默认值。
2.创建个人主页
进入“C:\我的网站”目录,参考“D:\ExpNIC\Common\Web\wwwroot\index.html”制作自己的主页index.html,并保存在当前目录下。
主机B打开IE浏览器,访问主机A主页“http://主机A的IP地址:6666/index.html”。 观察主机A的个人主页是否成功创建。
3.创建FTP站点
右键点击“FTP站点|新建|FTP站点”进入FTP站点创建向导,根据提示完成创建。其中“FTP站点描述”为“我的FTP站点”;“FTP站点使用的IP地址”为本机IP地址;端口设置为7777(可选择任意未被占用端口);“FTP用户隔离”为默认选择“不隔离用户”;“FTP站点主目录”为“C:\我的FTP站点”;站点访问权限为默认值。
主机A在目录“C:\我的FTP站点”中创建文本文件“A的文本文档.txt”。
主机B打开IE浏览器,登录主机A的FTP站点“ftp://主机A的IP地址:7777”并尝试对“A的文本文档.txt”进行读取/写入/修改/删除等操作,查看哪种操作成功。
发现只能读取
二.身份验证和权限设置
1.网站的身份验证
主机A右键点击“我的网站”,选择“属性”,切换到“目录安全性”页签。如图3。
点击“身份验证和访问控制”页中的“编辑”按钮,进入“身份验证方法”页签。在这里可以选择对登录用户的身份验证的方式。缺省状态下,“启用匿名访问”和“集成Windows身份验证”两项都是选中的。如果想对访问主页的用户进行权限的限制,可以取消“启用匿名访问”项,选择“用户访问需经过身份验证”页签中的“集成Windows身份验证”项,此时其它用户若访问主机A的网站,就必须拥有相应的帐户和口令(此设置也可以在创建网站的安装向导中设置)。
主机B打开IE浏览器,访问主机A的主页“http://主机A的IP地址:6666/index.html”,此时会提示需输入用户名和密码。输入用户名“student”和密码“123456”,即可访问主机A主页。
2.FTP站点的身份验证和权限设置
身份验证:
主机A右键点击“我的FTP站点”,选择“属性”,切换到“安全帐户”页签。
系统默认的身份验证方式为“允许匿名连接”,如果想对访问FTP站点的用户进行管制,可以取消“允许匿名连接”,并保存设置。此时其它用户若访问主机A的FTP站点,就必须拥有相应的帐户和口令。(此设置也可以在创建FTP站点的安装向导中设置)。
主机B打开IE浏览器,访问主机A的FTP站点“ftp://主机A的IP地址:7777”,此时会提示需输入用户名和密码。输入用户名“student”和密码“123456”,即可登录主机A的FTP站点。
权限设置:
主机A右键点击“我的FTP站点”,选择“属性”,切换到“主目录”页签。
在“FTP站点目录”页签中选择“写入”选项,保存设置。此时FTP站点赋予了任意用户写入的权力。
主机B此时是否可以将写好的文本文件复制到FTP站点内? 。
三.IP地址和域名限制
通过IP地址和域名限制,可以实现对特定IP、IP段和域名的访问进行限制。对网站和FTP站点的设置完全相同,下面以对网站的IP地址进行限制为例。
主机A点击“我的网站|属性|目录安全性|IP地址和域名限制”中的“编辑”按钮进入IP地址访问限制页签,点击“添加”按钮,输入所有限制访问主机的IP地址,以主机B为例。设置完成后退出。
主机B访问主机A的主页“http://主机A的IP地址:6666/index.html”,这时主机B会收到“您未被授权查看该页”的提示。
四.安全通信
利用PKI技术进行通信信息加密,在密码学及应用|实验6|练习一中有详细描述。
五. 单点登录
1. 正常登录
主机在IE栏中输入http://localhost:6666/App1,输入用户名:jlcss,密码:jlcssadmin。进入人力资源管理系统首页面。
主机在IE栏中输入http://localhost:6666/App2,输入相同用户名及密码。进入财务管理系统首页面。
此时要进入人力资源管理系统和财务管理系统需要输入2次用户名及密码。
2. 单点登录
主机在IE栏中输入http://localhost:7772/Portal/Default.aspx会出现如图7所示。
输入用户名:jlcss,密码:jlcssadmin。
点击“登录”按钮。此时会出现如图8所示。
我们此时可以进入“人力资源管理系统”、“财务管理系统”,而不必再次输入用户名及密码。当点击“退出”按钮时会回到上一级页面。
实验总结
XSS(Cross-Site Scripting)是一种常见的Web应用程序漏洞,攻击者可以通过注入恶意脚本来获取用户的敏感信息或者控制用户的账户。攻击者可以通过在输入框、URL参数等地方注入恶意脚本来实现XSS攻击。为了防止XSS攻击,应该对用户提交的数据进行过滤和转义,避免将用户输入的内容作为HTML或JavaScript代码直接输出到页面上。
在盗取rookie(一个虚拟人物)的实验中,攻击者通过在评论中注入恶意脚本,来实现对rookie账户的控制。通过在评论中注入JavaScript代码,攻击者可以获取rookie的cookie信息,从而获得对其账户的控制权。为了防止这种攻击,应该对用户提交的评论内容进行过滤和转义,避免将用户输入的内容直接输出到页面上。
IIS(Internet Information Services)是微软公司开发的Web服务器软件。在实验中,攻击者通过在IIS服务器上放置恶意脚本文件,来实现对访问该服务器的用户的控制。通过在恶意脚本文件中注入恶意代码,攻击者可以获取用户的cookie信息,从而获得对其账户的控制权。为了防止这种攻击,应该对服务器上的文件进行限制和过滤,避免向用户提供恶意脚本文件。同时,也应该对用户提交的数据进行过滤和转义,避免将用户输入的内容作为代码直接执行。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)