邪恶八进制信息安全团队技术讨论组's Archiver

伤心的鱼 2007-10-5 18:48

[原创]跨站跨到了主页里,解析云网论坛最新漏洞

信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])
文章作者:伤心的鱼[SST]


跨站跨到了主页里,解析云网论坛最新漏洞

前言:

文章内所叙述的漏洞危害很大。 任何人都可以利用此来挂马 我在文章中已经隐去了真实地址 但是也可能从图片中也能获得
真实地址。 在这要把话说清楚 若有人访问文章中的地址中马 跟我没任何 关系 别说我有钓鱼 的嫌疑 本人从不挂马
不然也不会将此漏洞公布出来 前天发现的漏洞今天我就发出来了 愿意玩的朋友自己玩去吧 目前任何使用此论坛的网站全部可以挂马

正文:

我们都知道跨站其实是个很被动也很鸡肋的一个东西 往往属于钓鱼之类的 只能等着别人上钩.. 但是今天俺们就化被动为主动
让跨站真正的牛X一把
我们都知道国内现在的论坛以ASP跟PHP为主 很少看见有JSP的论坛. 但是并不代表JSP的论坛就没有人再用 今天闲的没事下了套cwbbs论坛来看。 多少看出了点东西 这里简单说下
首先这套系统是基于jsp+javabean+servelt+mysql架构 很多代码分析起来非常麻烦。这里我就简单说下代码。主要还是说下利用方式
这套系统对注射漏洞要求很严格 很多参数 进行了整数转换 防止了注射漏洞 但是有的地方并没有进行转换。,出现了脚本跨站
漏洞。 其实并不是注射漏洞危害大。 XSS一样是非常严重的漏洞。 而且这套系统种多个地方出现跨站漏洞。
而且一个跨站竟然能插到主页里。 也就是说我们只需要注册一个普通用户就可以直接在主页里挂马

首先第一个漏洞出先在了send_do.jsp 是短消息文件 如图0
[attach]6588[/attach]


我们看到作者只是用了 javascript来判断是否有输入数据 如果没有输入就会提示标题跟内容不能为空
如果不是空的话就使用javabean来吊调用com.redmoon.forum.message.MessageMgr来处理消息
代码如下
<jsp:useBean id="Msg" scope="page" class="com.redmoon.forum.message.MessageMgr"/>
因为他只判断了是否为空 并没有判断输入的数据 所以理所当然的发生了跨站漏洞
这个漏洞不是今天的主角 因为一年前曾云好大哥就提到过这个漏洞 我只不过在这里又提一下 事隔一年竟然漏洞还存在
我们来看事例
首先使用powered by cwbbs搜索使用这个论坛的站点 如图1

[attach]6589[/attach]


我们就以第一个站点为例
[url]http://xxxxxxxxxxxxxxxxxx/forum/index.jsp[/url]
首先我们注册两个用户。 为什么要注册两个用户呢? 因为跨站是在短消息那里发生的 我们注册两个用户一个用来发送短消息一个
用来接收短消息 注册好以后登陆上去 我注册的帐号一个a123456一个是X123456 我们先登陆a123456进到短消息界面 点撰写短消息

在接收者那里添写我们另一个帐号x123456 标题和内容那里都写入我们跨站代码 <iframe src=http://www.baidu.com></iframe>

然后点发送 看见了吧 发送成功
如图2 图3
[attach]6590[/attach]
[attach]6591[/attach]

我们在登陆x123456点接收短消息 看看我们看到了什么
图4
[attach]6592[/attach]


看到了吧 我们成功了。 因为标题那里并没有限制字符数 所以我们可以任意挂马 然后将短消息传给管理员 这样不知不觉就能让对方中马
呵呵。这个估计是利用最大的吧。因为管理员会经常查看自己的短消息
另一个跨站的地方发生在投票那里 我们点发起投票 如图5

[attach]6593[/attach]
然后在标题跟投票选项那里输入<script>alert("跨站测试")</script> 然后点发送
当返回的时候我们只要点击查看投票就发生了跨站 这样一样可以用来欺骗管理员
如图6

[attach]6594[/attach]

但是另我想不到的是这个投票跨站竟然跨到了主页里 原来我们发起投票知道我们的跨站代码直接插入了数据库里。
这样我们一访问[url]http://www.xxxxxxx.cn/[/url] 站点的主页就会弹出我们的跨站测试对话框
如图7


[attach]6595[/attach]

跨站竟然跨到了主页了 简直是不可思意 如果我们将跨站代码换成我们的挂马代码 试试
如图8

[attach]6596[/attach]

简直不可思意 成功的在主页里显示出了百度 这样我们即使拿不到WEBSHELL 也不要管理员权限
只要注册一个普通用户就可以随意在主页挂马

看来管理员真的太疏忽了。 后来我又仔细看了一下代码。 发现作者没有过滤语句就插入到了数据库
而且直接就在首页进行显示... 跨站竟然跨到主页。 汗了。 第一次遇见 这个页面的文件代码太多了 我就不做解释了 有兴趣的朋友可以
自己去下套云网论坛来瞧瞧

另外一个地方能跨站的就是博客那里。 想必到了现在我也就不用再去写了 没意义了 主页都能挂马还什么不能呢??
在创建博客的时候我们要写入配置信息。 一样我们写入跨站代码。这里依然是没有限制的。
如图9

[attach]6597[/attach]


这样不管是任何人访问我们的博客或者查看文章都会发生跨站。 一样 我们要是挂马的话。。嘿嘿

另外这套程序还有一个致命的上传漏洞。 我会在下次的文章里给大家发出来。我们知道上传漏洞是直接可以拿到SHELL 而JSP马默认的就是
root权限 也就是说我们拿到了SHELL也就相当于拿到了服务器   至于注射漏洞。 我是没看出来
作者对参数都进行了强制转换
一个getint()函数将所有数字型都给杜绝了 不过还有字符型 本人菜鸟 实在看不出来怎么突破 比如在注册用户的那里
代码如下
<%
String op = ParamUtil.get(request, "op");
if (op.equals("chkRegName")) {
boolean re = false;
try{
String regName = ParamUtil.get(request, "RegName");
re = userservice.isRegNameExist(request, regName);
}
catch(cn.js.fan.util.ErrMsgException e) {
out.print(e.getMessage());
%>
<script>
window.parent.showCheckResult("span_RegName", "<%=e.getMessage()%>");
</script>
<% return;
}
if (!re) {
%>
可以看到我们输入的数据并没有经过过滤就进行了查询 但是具体的因为作者用javabean给封包了 所以看不到查询内容
这个漏洞曾云好大哥也提到过 说是比较的鸡肋 但是我觉的这里算是唯一的突破点了。 我也在测试 争取下次跟上传漏洞一块发出来
论坛后台能拿SHELL的方法很多 最简单的就是添加一个JSP的上传类型 直接over

伤心的鱼 2007-10-5 18:52

后来云网的程序员告诉我  isRegNameExist这个方法里面用的是preparedstatment,应该不存在SQL注入的漏洞了。  但是利用上传我们一样可以拿到SHELL哦
[s:263]

sunwear 2007-10-5 19:02

[quote]我们都知道跨站其实是个很被动也很鸡肋的一个东西 [/quote]
当年XXBBS的头像XSS........就不是鸡肋了...
不过毕竟是少数..

伤心的鱼 2007-10-5 19:12

确实~  能主动的XSS毕竟太少
今天下午测试另一个跨站。 总是不成功。 必须要管理员再输入一次密码~ 郁闷死。 后台都是
session验证的~ 好难

sunwear 2007-10-5 19:20

直接XSS get 或 post数据呢?
比如
changepass.asp?id=admin&pass=sunwear

伤心的鱼 2007-10-5 19:24

不是.. 我是利用别的站上的另一个页面来进行跨站~ 管理员触发后就会提示一个类似登陆的页面

他输入的用户名跟密码都会在同一个目录下的cookie.txt里记下.. 目前我的办法只能是这样。~

如果后台是cookie验证..都不需要考虑~.. 貌似现在都是session

plane636 2007-10-7 07:58

好东西啊,利用短消息漏洞这给服务器入侵也提供了方法

simpleboy 2007-10-7 11:10

短消息漏洞 DZ也出过 吧  ??

伤心的鱼 2007-10-7 11:40

恩是的 不过现在全部都过滤掉了 <>

偶去测试sunwear 的那个了。感觉比偶的方法要好。

feiniao23 2007-10-7 19:02

      看过很多的跨站 但是没有搞懂,现在再看一次这个 算有点懂了~~~

█黑夜网客█ 2007-10-7 20:56

看到了吧 我们成功了。 因为标题那里并没有限制字符数 所以我们可以任意挂马 然后将短消息传给管理员
如果那个管理员不是白痴的话
我想他知道被挂马了
所以我认为这个办法不可行
我用你的办法也可以搞定
我们学校网站
谢谢~~~~~~~

remax 2007-10-12 14:22

发贴诱惑管理员看,然后xss里加上类似改密码加厚台用户一样的东西,很好很和谐很强大的。

页: [1]
© 1999-2008 EvilOctal Security Team