跨站脚本攻击论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
跨站脚本攻击论文
摘要:本文重点讲述的是跨站脚本攻击与SQL注入的攻击方式与防御方法,然而我们知道,根据开放Web应用安全项目(OWASP)发布的2013年的10大Web应用安全漏洞清单,除了这两种安全漏洞之外,还有很多漏洞,比如不安全的直接对象引用、安全性配置不当等等。它们并不是新漏洞,但是它们都没有解决,在人们对Web应用安全有足够认识之前,攻击者仍然会想尽办法继续利用这些缺陷发起偷盗、欺骗和网络间谍等攻击。
随着互联网的发展,越来越多的业务都离不开互联网,互联网生活方式已经成为便捷生活的首选,例如网上购物兴起,网络游戏的昌盛以及网上银行的便捷,这都使得我们从互联网中获得的便利,但是与此同时,很多带有恶意的互联网黑客攻击手段也在对Web服务器展开攻击,使用层出不穷的形式,编写出各种恶意代码试图获取他人的账户密码以及私人信息或者公司的机密资料,损害他人或者集体的利益,来谋求个人利益。正是由于这些利益的驱使,导致了Web服务器越来越容易受到攻击,同时种类繁多的攻击手段也让人防不甚防,现在比较常见的有盗号木马、缓冲区溢出、SQL注入、利用IIS等针对Webserver漏洞展开攻击。
产生这种问题的原因是多方面的,首先是当前使用的网络协议TCP/IP的安全问题考虑不周,这样导致了在互联网上传输的信息以及数据是没有受到加密防护的。黑客可能会通过提高自己在有系统漏洞的机器上的访问权限,运行某些恶意代码,或者利用系统漏洞使得
系统的进程缓冲区溢出,从而达到自己非法得到他人个人账户或者公司机密资料的目的,此外各种Web应用程序的开发者也没有给予Web 应用安全问题足够的重视,导致程序本身就会有一些后门和漏洞,例如本文要探讨的SQL注入就是非常典型的应用层攻击,这些问题的根源就是在软件设计以及开发的过程中并没有考虑周全安全性所导致的。
还有一个方面的重要因素是我们的用户本身,用户对于某些私密话题的好奇心给黑客们牢牢地抓住了,一些黑客利用艳丽的图片、视频件诱导用户下载安装专用的播放器,播放器中植入了木马程序,或者捆绑了一些恶意插件或者病毒,还有某些外挂程序,其实就是伪装后的木马程序,他们在使用的时候甚至会提示用户退出杀毒软件,或者将那些病毒程序加入杀毒软件白名单之中,达到长期窃取用户个人数据或者机密资料的目的。
1 跨站脚本攻击
1.1 跨站脚本攻击产生的背景与简介
目前主流的网站都包含有大量的各种形式的动态内容,以迎合用户越来越高的需求,这种动态内容,指的是随着用户使用环境以及需求的改变,Web应用要能够自动判断并且显示出用户所需要的需求,这样的程序才是友好的,可是这样的动态站点很容易受到一种叫做“跨站脚本攻击”(Cross Site Scripting,安全专家习惯以XXS代替)的攻击手段的威胁,与此同时,静态站点并不会受到它的影响。
XXS是指黑客通过Web应用的漏洞,从客户端中盗取用户的个人
信息如账号密码等等,用户在访问网站,及时通讯软件接受他人发送的文件,甚至打开带有病毒链接的邮件时都可能会受到XXS的攻击,黑客通过链接植入木马程序,这样就能够获取用户的个人信息。同时黑客们还会通过对于链接按照某种方式进行编码,以打消用户的疑虑,从而诱导用户点开他。Web应用在接收到那些恶意代码的输入后,会产生一个包含恶意代码的页面,但是这个页面伪装的与正常页面一般无二。目前很多主流的论坛都允许用户自己发表可能是恶意代码的,包含有Html和javascript的帖子。
1.2 跨站脚本攻击的危险性
XXS的恶意代码在客户端的浏览器上被执行,这就对用户产生了极大的危害,这种危害也会随着被攻击的站点的用户数量级成倍增加。这种攻击最常见的攻击方式是黑客利用跨站脚本的漏洞获得用户的Cookie,这样就可以获得该用户在网站上的权限,现在就有一些黑客利用尚未被打上补丁的各种邮箱漏洞的攻击脚本漏洞来获利。此外,这种攻击方式的恶意代码是运行在客户端浏览器之中,这就导致这种攻击方法还会有可能被黑客们利用,制作成一个欺诈页面来实现钓鱼攻击获取用户的私人账户信息。这种攻击手段相较于制作一个假冒网站更具隐蔽性,用户可能会处于对该网站的信任而忽略一些安全细节。
黑客们一旦控制了用户的浏览器,就可能得到用户个人计算机上的信息、窃取与该用户处于同一局域网的其他用户的信息、复制用户与系统交互时输入的信息,更有甚者利用这些被控制的机器对其他网
站展开攻击,据悉,在某些黑客交流的网站上已经出现了这种通过利用跨站脚本的漏洞挟持客户端浏览器的工具包出售。
当然,这种攻击的恶意代码运行在客户端浏览器中,可它的也是可以威胁到服务器的安全的,所以我们必须对于这种攻击手段给予足够的重视,并且帮助用户进行防御。
1.3 跨站脚本漏洞的类别
1.3.1 反映型XSS
1.3.2 持久性XSS
持久型XSS,也称作存储XSS,这种攻击方式比反映型XSS危害更加的严重,这种漏洞是指外部提交数据倍服务器上的存储介质接收,并持久的保留在服务器中,这样会使得服务器程序收到用户请求,给予用户响应的时候,从存储介质中都取出那些恶意数据,导致了恶意数据被加载到了客户端浏览器中的漏洞。这种危害会随着数据被保留在存储介质中长久的持续。
例如,在某个论坛中,没有对于用户发帖子时的内容进行校验,就直接存储在了数据库中,如果有用户将恶意代码输入了帖子,那么这段恶意代码就会一直存放在存储介质之中,这样每一次其他用户想要阅读该帖子时,这段恶意的都会倍加载到其他用户的浏览器中。这样就导致了一个持久型XSS的产生。
持久型XSS大多活跃在各种论坛,社区以及邮箱等Web产品之中,这类产品都是从数据库之中读取出数据,然后组成新的页面被其他用户所加载,由于这种攻击方式不需要浏览器直接进行攻击,这种危害
也就更加的防不胜防。
1.4 跨站脚本攻击方式分析
1.4.1 反映型XSS攻击
反映型XSS漏洞的攻击数据常见于URL之中,比如这种格式:http:///vul.asp?hi=[code]。
这种手段要求用户访问这种包含了URL的恶意代码才会触发,所以黑客通常会把这个URL发送给用户,诱导用户主动通过浏览器触发,但是那个URL带有恶意代码会让用户觉得十分奇怪,这就需要伪装,黑客通常会先发一个看起来很正常的URL,然后通过页面跳转,跳转到另一个包含恶意代码的URL之中。还可以是的某个域名定向至那个恶意的URL,然后把那个域名发送给用户,这样可能使得用户访问恶意的URL。
1.4.2 持久型XSS攻击
持久型XSS的攻击方式十分清晰,只需将恶意代码提交到服务器就好了,接下来的攻击就由服务器自动运行了,例如在没有进行数据校验的论坛上发表一个含有恶意代码的帖子,然后泡杯咖啡,那个论坛就自动帮你攻击每一个访问那个帖子的用户了。
持久型XSS漏洞的工作原理是将恶意代码存储在了目标应用的数据库中,这使得访问者不会得到任何的预警,所以它的防范难度比反映型XSS大的多,所以它的危险程度也相对大一些。
1.5 跨站脚本攻击的防御手段
1.5.1 Web应用的开发者的防御手段