XSS攻击

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:03:52
XSS攻击 [转]
一、什么是XSS攻击
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。而本文主要讲的是利用XSS得到目标服务器的shell。技术虽然是老技术,但是其思路希望对大家有帮助。
如何寻找XSS漏洞
就个人而言,我把XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。另一类则是来来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。
然后利用下面的技术得到一个shell.
如何利用
传统的跨站利用方式一般都是攻击者先构造一个跨站网页,然后在另一空间里放一个收集cookie的页面,接着结合其它技术让用户打开跨站页面以盗取用户的cookie,以便进一步的攻击。个人认为这种方式太过于落后,对于弊端大家可能都知道,因为即便你收集到了cookie你也未必能进一步渗透进去,多数的cookie里面的密码都是经过加密的,如果想要cookie欺骗的话,同样也要受到其它的条件的限约。而本文提出的另一种思路,则从一定程度上解决上述的问题。对于个人而言,比较成熟的方法是通过跨站构造一个表单,表单的内容则为利用程序的备份功能或者加管理员等功能得到一个高权限。下面我将详细的介绍这种技术。
二、来自内部的跨站攻击
寻找跨站漏洞
如果有代码的话比较好办,我们主要看代码里对用户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符是否做过滤。还有要注意的是对于标签的闭合,像测试QQ群跨站漏洞的时候,你在标题处输入 ,代码是不会被执行的,因为在源代码里,有其它的标签未闭合,如少了一个,这个时候,你只要闭合一个,代码就会执行,如:你在标题处输入 ,这样就可以弹出一个test的框。
如何利用
我先以BBSXP为例,过程已做成动画,详情可见光盘中的动画。我举BBSXP中其中两个比较好用的跨站漏洞点为例.
a.先注册一个普通用户,我这里注册的用户是linzi.然后我们在个人签名里写入:
c.然后发个贴子,可以结合其它技术欺骗管理员浏览发的贴子。
d.因为是测试,所以我们以管理员身份登陆,然后打开贴子,我们会发现,linzi已经变成了社区区长工,
除此之外我们只要在个人签名里输入
同样发个贴子等,只要管理员打开了,就会加了一个扩展名为asp (有空格)的上传扩展,这个时候,你只要上传一个newmm.asp (有空格)就可以得到一个shell.
在开始读该篇文章的时候,请大家首先了解一下关于本文所提及到相关知识以及原理.
(跨站脚本攻击的详细解释)
跨站脚本攻击又名CSS/XSS,就是利用ASP等等的文件设置和编写时的错误或者疏忽不当,攻击者就可以利用这些来达到自己攻击目的,如果一个服务器存在这些漏洞,那么它的沦陷也是时间的问题!
这些文本文件一般都是要结合数据库来使用的,这些数据库有ACCESS、MSSQL、MYSQL、Oracle等!脚本攻击就是针对这些数据库来配合脚本对一些变量的过滤不严的问题来达到得到用户密码等敏感信息,修改数据库等目的!
在现在的形式来说,CSS攻击已经成为网络钓鱼以及低劣手段的常用手法,利用程序过滤不严的漏洞镶入恶意代码,致使用户访问漏洞页面的时候,被盗取用户自身的敏感信息,或者指向含有木马以及广告软件的网站,导致用户在不知不觉中安装了恶意文件.
(统计系统的工作原理)
就是利用统计系统的页面嵌入到使用网站的页面,从而记录网站的用户浏览数据以及动作,例如: 嵌入到访问网站的页面,当用户访问的时候,用户的IP等等的数据就会经过mystat.asp提交到接收页面,从而接收页面就会利用内部对象将访问用户的IP以及动作一一的记录到统计系统当中,当管理员查看系统的时候,就会出现一个很详细的列表.
漏洞解释;
因为统计系统只是作为一个第三方程序而存在,所以在程序的安全方面都会比较疏忽,通常他们都会避免网站收到不必要的攻击,会过滤好每个页面的参数,避免Sql注入攻击的存在.而我们作为网站管理员也不会注意到统计系统在入侵方面可以作为入侵的一种,就是因为这样子的心态,所以致使国内的大型免费访问系统都会存在着种种不一样的漏洞,而通病就是跨站脚本攻击(CSS/XSS).首先我们可以找一个目标网站,为了得到管理员的密码信息所以我们必须完全性的针对管理员经常去的地方----网站访问统计系统.因为我们可以利用跨站脚本在目标网站的任何一个页面进行提交,根据访问统计系统的原理,我们可以看到,当用户提交一个访问动作的时候,所使用的网站统计系统会根据用户提交的动作返回系统当中,所以我们提交的语句不必理会所提交程序是否会进行过滤,我们只是需要我们的提交可以顺利的被访问系统记录,诱发整个语句的效果实现就完全足够了!当管理员访问系统相关模块的页面时,整个CSS效果就会马上实现在他的眼前.现在所看到的只是一个普通的跨站测试,当恶意用户讲特定构造的语句提交并且让系统记录的时候,当管理员访问页面,我们就可以利用跨站脚本进行木马的种植,为了盗取管理员的相关资料再卑鄙也是一种手段.当然如果你只是一个喜欢搞破坏搞恶作剧的话,你不妨多提交几次语句,每次提交系统都会记录,当管理员登录系统的时候,就会一次性暴出N个效果出来的了!访问系统的跨站,主要是因为系统编写者没有注意到相关页面在用户提交数据时进行的过滤,导致了漏洞的产生.而在国内这样子的统计系统到处都是,如果我需要大面积的种植木马,我大可以利用这样子的漏洞去为我马房不断的添加新的马.小小的跨站但是存在的严重性却是很难想像的.
国内使用大型免费的访问统计系统的用户的日益增多,在网络上出现了很多的统计系统,但是往往这些程序的编写者却忘了程序自身的安全问题.因为是属于第三方程序,所以使用者的本身不会去注意这些甚少会出现漏洞以及会危害网站和服务器安全的问题,致使国内的各大型网络统计系统都存在着各种各样的问题,所以才出现了本文,希望大家在看的时候,可以学习如何利用观察去进行漏洞的发现.