刀城技术网-信息安全,服务器安全维护,网站安全维护

当前位置: 网站主页 > 数据安全 > MSSQL注入 >

渗透居然之家网站

时间:2012-06-22 22:26来源:法克论坛 作者:杨凡 点击:
前言 在用百度mp3听音乐的时候,看到了一个叫居然家居的公司的广告,百度了一下,做的推广蛮厉害的,看来很有钱,恰逢周末,很久没动手了,就想撸撸看。 1:解析漏洞上传 翻了翻主站前台,.n

作者:杨凡
原文地址:
法克论坛


前言

在用百度mp3听音乐的时候,看到了一个叫“居然家居”的公司的广告,百度了一下,做的推广蛮厉害的,看来很有钱,恰逢周末,很久没动手了,就想撸撸看。
 

1:解析漏洞上传

翻了翻主站前台,.net的,IIS6,看来解析漏洞可以用,如果有个会员注册啊登录啊啥的,找个点或许能用用。
前台有动态参数:

顺手加个单引号,显示正常,看来过滤了,尝试了and 1=1,错误,order by 1,错误,看来过滤的不少,没心思尝试过滤的关键词有哪些。
这里有一个疑问,就是过滤问题,比如and 1=1,过滤了就过滤了,为什么要显示成空白呢:

我不理解程序员为什么会这么多,如果是我,我过滤了的话,肯定会给出比较明显的提示或者直接跳转到首页的,可是这里明明过滤了,还给出了一个异常空白页面,这里不理解是为什么,如果看官有什么想法,可以说出来讨论一下。
简单看了下目录,admin不存在,user是403,结果login.aspx这些常规的都没有,robots.txt不存在,网站地图里什么也没泄漏,wscan扫了一遍也是什么都没扫到:

然后发现会员注册和登录部分被放在了分站http://member.juran.com.cn/上,后边可以尝试注册会员登录传头像啥的解析漏洞。
 

2:db权限注入点

主站做的蛮漂亮,还没有看出来是CMS的痕迹,那么难道是自己开发的?如果是自己开发的,那肯定是会存在安全问题的。
把网站放到啊D里看了下,提示有一个注入点:

可能是误报,检测一下再说:

还真是注入点,db权限,不低了。
有db的注入点就好办多了,什么常规手法都可以试试,不过这不是我今天要说的。
这篇文章是在搞到discuz nt的时候才想起来补写的,我刚开始是没发现这个注入点的,既然有了一个注入点,那后边可能会顺利一点,所以这里先把注入点放着,后边没办法的时候再用。
 

3:fuzz猜解密码

继续撸主站,没发现什么东西,于是看旁站:

我一看,好家伙,站还不少,那拿下的希望大点了,结果把结果展开一看,尼玛,除了主站和另一个不知道干什么用的站,其他都是分公司的站,用的系统都是一样的,这J8就没意思了:

那个不知道是干什么用的站是:

也是aspx的,尝试了下,注入啥的不存在,弱口令手工测试无果,fuzz也懒得搞了,先放这里,没思路的时候再来尝试破密码,或许是条路子。
 

4:winwebmail邮箱

旁站的时候看到有个邮箱分站:

页面上没提示版本啥的,弱口令尝试无果,于是telnet上去看看banner:

看到版本了,WinWebMail [3.8.1.3],百度找了下资料,没有直接溢出的exp,但是可以用来提权。
资料:
http://www.yunsec.net/a/special/wlgf/jbst/2010/0510/3806.html
http://www.vfocus.net/art/20101129/8307.html
这个先放这里,以后提权可能能用到。
 

5:Discus !NT上传漏洞

旁注的时候看到有个http://bbs.juran.com.cn,应该是个论坛,打开看看,版本没隐藏:
Powered by Discuz!NT 3.1.0 © 2001-2010 Comsenz Inc. 恋家客
Discuz!NT 3.1.0的,前两天Discuz!NT爆了一个上传漏洞,在论坛发的有:
http://sb.f4ck.net/thread-2371-1-1.html
但是这个漏洞介绍贴我没看懂,所以我在论坛发个求助帖:
http://sb.f4ck.net/thread-2871-1-1.html
漏洞作者把利用发放分为4步,最关键的第2步和第3步我都没看懂,他是这么说的:
2.伪造reference,因为ajax这个页面只对reference进行了验证。
3.构造input参数的值,因为我们的目标是为uid赋值”test.asp;”,uid为input解密而来,通过默认Passwordkey(位于/config/general.config中),对”test;.asp”加密得到input的值”Jw6IIaYanY7W0695pYVdOA==”。
第二步,修改refer,这个adm1n告诉我可以用火狐插件来实现,我装了一个火狐,是12.0的,搜了几个改refer的插件,结果找到的2个都不支持12.0版本,最后终于找到了一个能用的,如图:

然后随便找了个页面抓包得到它的refer:

然后配置一下刚安装的火狐插件:

至此,漏洞作者说的第二步做完了,我是猜测着做完的,因为作者没说refer该改成什么,我就自己尝试一下了。
作者说,第三步是:
3.构造input参数的值,因为我们的目标是为uid赋值”test.asp;”,uid为input解密而来,通过默认Passwordkey(位于/config/general.config中),对”test;.asp”加密得到input的值”Jw6IIaYanY7W0695pYVdOA==”。
作者给出了加密字符串,那么我这里就直接用了,另外因为好像论坛没人玩过这个漏洞,导致漏洞作者给的图片里显示的exp也没人有代码,那我只能自己照着图片打一遍了:

然后上传:

上传是成功了,访问也正常,但是我在exp里构造的uid部分貌似没有被程序处理,莫非是被过滤掉了?或者是,本身exp就有问题?
分析一下,前边主站存在注入的,我用啊D注入都没被过滤,那么这里被过滤基本是不可能的,那这样的话,就是exp不对了。
到这里卡住了。
我又把自己敲下来的代码和漏洞作者的图对照了一下,发现没有字符错误,没办法,我就尝试把原本的图片名字改为test.asp;.jpg再上传,结果上传的时候报错了:

不给访问,我猜应该是因为我第一次上传就生成了avatar_.jpg,第二次再次上传再次生成同名文件,结果就冲突了。
分析一下,看看作者发的程序处理代码:

这里判断了2个参数是否为空,看我们的exp:

这2个需要的参数都不为空。
然后,程序声明变量uid,这个变量从名为input的参数中取值并解密,在我们的exp中input是一个已经加密了的字符串,那么提交给服务器之后程序会进行解密,解密之后uid的值就是“test.asp;”,那么再看下边作者发的discuz !nt对文件命名的处理代码图:

这里filename的构造方式显而易见了,就是:
字符串“avastar_”+变量uid的值+字符串“.jpg”,到了这里我就更困惑了:
按照漏洞作者的说法,他给的“Jw6IIaYanY7W0695pYVdOA==”是“test.asp;”的加密后的字符串,可是我这里明明已经给form中的input字段赋值为这个字符串了,可是程序好像并没有取我提交的uid的值,而是直接:
String filename = "avatar_" + ".jpg";了,根本就没有理会我提交的uid的值,难道是我测试的discuz!nt的版本和漏洞作者测试的版本不同?或者是这个站打了补丁了?
这个问题困扰了我好几个小时,不过刚又看了看乌云上“Jannock”对这个漏洞的评论,他说:

而漏洞作者在漏洞发布文章最后说:

那么,我遇到的这个案例,应该就是这个站的Passwordkey在安装的时候被改变了,跟漏洞作者发布的Passwordkey不一样,导致exp提交的uid没有被成功解密,进而导致出现利用失败的情况。
如果我在这个案例中想继续用这个漏洞,那么我必须把“test.asp;”这段字符串用这个站的Passwordkey再加密一遍,但是漏洞作者并没有细说该如何实现加密,作者只简单的说:
uid为input解密而来,通过默认Passwordkey(位于/config/general.config中)
但是如何通过/config/general.config这个文件获得加密字符串作者并没有说,看来需要自己研究一下了。
应该是这样的,如果我这里分析的不对,还请各位看官慷慨教育~
现在要想继续用这个漏洞,就得下一套源码分析一下怎么取的加密字符串了。
本来想自己down一套源码研究一下的,但是想想我这不懂代码的彩笔就算下载了也不一定能看懂,结果看到了乌云上“ccSec”说她研究出了取得了利用系统生成的方法,于是我就准备联系她一下,结果翻了一圈,没找到联系方式,无奈之下只好去她的百度博客留言并发了消息,等待结果:

然后又问了泪少和葙守,都没有QQ,没办法又到微博上求助,结果遇到了一个有她QQ的叫“灰色羽翼”的朋友,结果这朋友不给我QQ,说帮我转达一下消息,接着论坛内部群里战神帮我找到了她的微博,于是果断去微博发私信,等待回音,可是现在还是么有找到QQ,最终,名为“小远”的朋友帮我找到了QQ号码,于是果断加好友,发邮件,然后继续等待结果。
再次,感谢以上帮助我的朋友~
晚上的时候,看到keio在90sec发了个webshell密码爆破的工具,于是就去转载到法客了,然后他的网盘页面我一直没关,就去忙其他的事情了,没想到把手上的事情处理完之后,翻了翻他的网盘,发现有我需要的NT的exp:

高兴了一下,果断下载,修改一下源码开始上传,结果:

报错,参数index好像溢出了,可是我没提交Index这个参数啊,看漏洞作者发的代码图里也没发现index这个参数,这个就蛋疼了,问题都找不到。
好吧,这个exp爆出的错误跟我自己打出来的exp爆的错误不一样,那就来看看这2个代码的区别在哪里,对比一下:
我打的:

Keio的:

发现他代码写的不对:
input type="hidea"
这是啥玩意。。 。。。
除了这里错了,其他的没有区别。。。给他改成正确的试试,结果还是一样的报错。这好神奇的结果,我的exp跟他的exp根本就没有什么区别,可是提示还不一样,我那个好歹能传上个图片,他这个一个都传不上了。。。 。。。心都碎了
后来仔细看了下错误提示:

这里确实有一个名为index的整型变量,可是不知道这个变量是从哪里来的,难道是我传的马太大导致的?
 
文章就写到这里吧,联系的ccSec没有回复我,心都碎了,不写了,就这样吧,看完文章有兴趣研究的基友可以接着把文章写完,因为这次渗透发生在昨天下午到昨天晚上,所以漏洞什么的都应该还是存在的,但是破坏就不要搞了,锻炼锻炼技术就行了~
 

(责任编辑:刀)
顶一下
(8)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
栏目列表
推荐内容
  • 渗透居然之家网站

    前言 在用百度mp3听音乐的时候,看到了一个叫居然家居的公司的广告,百度了一下,做的...

  • Sa提权sql语句大全

    看文章中有提到lake2,文章应当是他写的吧。我稍微整理了一下,by daokers...

  • 清理数据库批量挂马

    数据库批量挂马,已经成为挂马的一种主要方式,网上也有许多不同的挂马代码被站长们公...