动网dvbbs7.1论坛权限提升漏洞及防范(图)

在6月份的黑防上看到《动网7.1漏洞惊现江湖》一文,说是admin_postings.asp文件

存在注入漏洞,但利用的前提是拥有超级斑竹或前台管理员权限。我想起以前发现的动网7.x版本存在一个前台权限提升漏洞, 正好可以结合起来利用。这个前台权限提升漏洞对7.x的Access和 Sql版都有效。下面我们就以7.0 sp2 sql版,讲解这个漏洞的利用。

漏洞分析

我们知道动网是通过GroupID来判断当前用户所在的组的,然后再通过组的信息判断用户的权限。它是如何取得这个GroupID的呢?让我们看看登录验证的那一段:

login.asp的525行左右

Rem ==========论坛登录函数=========

Rem 判断用户登录

Function ChkUserLogin(username,password,mobile,usercookies,ctype)

…………前面的代码省略

Sql="Select UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace

,UserWidth,UserHeight,JoinDate,LastLogin,UserLogins,Lockuser,Userclass,UserGroupID,UserGroup,

userWealth,userEP,userCP,UserPower,UserBirthday,UserLastIP,UserDel,UserIsBest,UserHidden,

UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday "

Sql=Sql+" From [Dv_User] Where "&sqlstr&""

set rsUser=Dvbbs.Execute(sql)

If rsUser.eof and rsUser.bof Then

ChkUserLogin=false

Exit Function

Else

iMyUserInfo=rsUser.GetString(,1, "|||", "", "")

rsUser.Close:Set rsUser = Nothing

End If

iMyUserInfo = "Dvbbs|||"& Now & "|||" & Now &"|||"& Dvbbs.BoardID &"|||"&

iMyUserInfo &"||||||Dvbbs"

iMyUserInfo = Split(iMyUserInfo,"|||")

If trim(password)<>trim(iMyUserInfo(6)) Then

ChkUserLogin=false

ElseIf iMyUserInfo(17)=1 Then

ChkUserLogin=false

ElseIf iMyUserInfo(19)=5 Then

ChkUserLogin=false

Else

ChkUserLogin=True

Session(Dvbbs.CacheName & "UserID") = iMyUserInfo

Dvbbs.UserID = iMyUserInfo(4)

RegName = iMyUserInfo(5)

Article = iMyUserInfo(8)

UserLastLogin = iMyUserInfo(15)

UserClass = iMyUserInfo(18)

GroupID = iMyUserInfo(19)

TitlePic = iMyUserInfo(34)

If Article<0 Then Article=0

End If

…………后面的代码省略

可以看到,动网将用户的信息先用”|||”三个竖线连起来,做为一个字符串传给iMyUserInfo,然后iMyUserInfo由”|||”分隔成一个字符串数组。用户密码验证正确后就把数组的第20个元素的值:iMyUserInfo(19) 赋给GroupID。看到没,GroupID只是数组对应的第20个元素的值,如果iMyUserInfo(19)的值为1的话,动网就以为现在登录的用户是前台管理员了。

在inc目录下的Dv_ClsMain.asp文件中也有这么验证用户身份的一段代码,用来在用户更新信息后检测用户的权限。

Dv_ClsMain.asp的650行左右

Public Sub TrueCheckUserLogin()

……前面的省略

Dim Rs,SQL

Sql="Select UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,

UserFace,UserWidth,UserHeight,JoinDate,LastLogin,UserLogins,Lockuser,Userclass,UserGroupID,

UserGroup,userWealth,userEP,userCP,UserPower,UserBirthday,UserLastIP,UserDel,UserIsBest,

UserHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday"

Sql=Sql+" From [Dv_User] Where UserID = " & UserID

Set Rs = Execute(Sql)

If Rs.Eof And Rs.Bof Then

Rs.Close:Set Rs = Nothing

UserID = 0

EmptyCookies

LetGuestSession()

Else

MyUserInfo=Rs.GetString(,1, "|||","","")

Rs.Close:Set Rs = Nothing

If IsArray(Session(CacheName & "UserID")) Then

MyUserInfo = "Dvbbs|||"& Now & "|||" & Session(CacheName & "UserID")(

2) &"|||"& BoardID &"|||"& MyUserInfo &"||||||Dvbbs"

Else

MyUserInfo = "Dvbbs|||"& Now & "|||" & DateAdd("s",-3600,Now()) &"|||"

& BoardID &"|||"& MyUserInfo &"||||||Dvbbs"

End IF

Response.Write MyUserInfo

MyUserInfo = Split(MyUserInfo,"|||")

……

End If

End Sub

’用户登录成功后,采用本函数读取用户数组并判断一些常用信息

Public Sub GetCacheUserInfo()

MyUserInfo = Session(CacheName & "UserID")

UserID = Clng(MyUserInfo(4))

MemberName = MyUserInfo(5)

Lastlogin = MyUserInfo(15)

If Not IsDate(LastLogin) Then LastLogin = Now()

UserGroupID = Cint(MyUserInfo(19))

    ……后面代码省略

 两处检验的方式一模一样,所以我们可以利用这两个中的任意一个来达到我们的目的。看它的sql语句部分:

Sql="Select UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,

UserFace,UserWidth,UserHeight,JoinDate,LastLogin,UserLogins,Lockuser,Userclas

s,UserGroupID,UserGroup,userWealth,userEP,userCP,UserPower,UserBirthday,UserLa

stIP,UserDel,UserIsBest,UserHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTit

le,TruePassWord,UserToday"

Sql=Sql+" From [Dv_User] Where UserID = " & UserID

javascript:window.open(this.src); src="/article/UploadPic/2006/8/27/200682723275512.GIF" onload="javascript:if(this.width>screen.width-500)this.style.width=screen.width-500;" align=baseline border=0>

(0)

相关推荐

  • 动网dvbbs7.1论坛权限提升漏洞及防范(图)

    在6月份的黑防上看到<动网7.1漏洞惊现江湖>一文,说是admin_postings.asp文件 存在注入漏洞,但利用的前提是拥有超级斑竹或前台管理员权限.我想起以前发现的动网7.x版本存在一个前台权限提升漏洞, 正好可以结合起来利用.这个前台权限提升漏洞对7.x的Access和 Sql版都有效.下面我们就以7.0 sp2 sql版,讲解这个漏洞的利用. 漏洞分析 我们知道动网是通过GroupID来判断当前用户所在的组的,然后再通过组的信息判断用户的权限.它是如何取得这个GroupID的呢?让

  • 动网7.x权限提升漏洞原理

    在6月份的黑防上看到<动网7.1漏洞惊现江湖>一文,说是admin_postings.asp文件存在注入漏洞,但利用的前提是拥有超级版主或前台管理员权限.我想起以前发现的动网7.x版本存在一个前台权限提升漏洞, 正好可以结合起来利用.这个前台权限提升漏洞对7.x的Access和 SQL版都有效.下面我们就以7.0 SP2 SQL版,讲解这个漏洞的利用. 漏洞分析: 我们知道动网是通过GroupID来判断当前用户所在的组的,然后再通过组的信息判断用户的权限.它是如何取得这个GroupID的呢?让

  • Windows键盘事件权限提升漏洞

    受影响系统: Microsoft Windows XP SP2 Microsoft Windows XP SP1 Microsoft Windows XP Microsoft Windows Server 2003 SP1 Microsoft Windows Server 2003 Microsoft Windows 2000SP4 Microsoft Windows 2000SP3 Microsoft Windows 2000SP2 Microsoft Windows 2000SP1 Micr

  • 超全的webshell权限提升方法

    WEBSHELL权限提升技巧  c: d: e:.....  C:\Documents and Settings\All Users\「开始」菜单\程序\  看这里能不能跳转,我们从这里可以获取好多有用的信息比如Serv-U的路径,  C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\  看能否跳转到这个目录,如果行那就最好了,直接下它的CIF文件,破解得到pcAnywhere密码,登陆  c:\Pr

  • webshell权限提升技巧

    WEBSHELL权限提升技巧 c: d: e:.....  C:\Documents and Settings\All Users\「开始」菜单\程序\  看这里能不能跳转,我们从这里可以获取好多有用的信息比如Serv-U的路径,  C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\  看能否跳转到这个目录,如果行那就最好了,直接下它的CIF文件,破解得到pcAnywhere密码,登陆  c:\Pro

  • 最新版本的动易+动网+oBlog三站整合方法

    我用的是最新版本的动易PE_2006_SP5 +动网dvbbs7.1.0 + oBlog 4.0.  我的测试情况:1.可以同步注册.2.可以同步删除用户ID.3.不像帖子里说的可以同步登陆.(可能是我的COOKIES问题,有在用的测试一下哈)4.可以同步修改密码. 1.准备工作,下载并安装三个系统,并使各自均能独立运行. (1).打开动易压缩包 PowerEasy_CMS2006_SP4_Express.rar或PowerEasy_eShop2006_SP4_Express.rar,运行Pow

  • 问题收集帖动网论坛完整程序包下载地址(包含所有补丁)

    问题收集帖动网论坛完整程序包下载地址(包含所有补丁) Dvbbs7.1.0_Ac.exe 动网论坛完整程序包下载地址(包含所有补丁) Dvbbs7.1.0_Ac.exe动网论坛[05.23]更新补丁下载地址 Q20060430.exe(含重要更新) 为什么我用了5.1的更新后,不能播放多媒体文件,变成乱码了?进入论坛后台--基本设置--系统设置脚本扩展过滤设置里含对"object"或"EMBED"的过滤,此过滤现在可以去掉了,因为新的机制已经对它做了过滤,将这里改为

  • 新思路现动网新漏洞

    作者:优格GXU 文章来源:邪恶八进制信息安全团队 文章作者:优格[GXU] (www.wuzhou.org) 信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 原文下载:http://www.wuzhou.org/dvbbs.doc 前段时间focn等人发现了动网的提权漏洞,这漏洞可是闹得天翻地覆的,连当当网论坛也给挂上马了.正是这个漏洞盖住了动网的其他漏洞,使动网的其他漏洞少为人知. 相信大家都看过<终结动网最新挂马方法!>的文章了,其实这个漏洞已经出现了大概半月了,

  • ASP类型网站结合动网论坛会员的方法第1/3页

    个人网站如有会员注册模块+动网论坛的话,那网站要与动网论坛系统整合,实现不同Web系统之间的用户信息同步更新.登录等操作就不是件容易的事了,虽然动网已提供有详细的"动网论坛系统Api接口开发人员指南",但像我这样的菜鸟一时半会可是参详不透的,汗.不甘心,在对其登录.验证等函数进行一番研究再加以测试后最终竟也小有所成,菜鸟也有菜鸟的办法,哈哈. 一.网站文件结构 wwwroot   ┝ index.asp   ┝ CheckUserLogin.asp   ┕ bbs/ 二.整合原理 对于

  • 为动网论坛添加一个密码嗅探器(DVBBS)

    动网先锋论坛,凭借其强大全面的功能,再加上它免费提供给个人用户,在网络众多论坛中,独树一帜.很多人都把它作为自己论坛的最佳首选.但是新版本的论坛,对用户密码采用了不可逆的MD5加密,即使是管理员,也无法查询到个人用户的密码.再数据库中只能查询了加密后的结果. 先描述一下它得登陆过程,用户输入帐号后号,调用MD5函数,输入的密码加密,然后比较存储在数据库的数据和密码加密的结果是否相同.如果相同,登陆成功,将个人信息保存在COOKIE中. 现在我们要自己动手,为论坛增加一项记录密码的功能. 查看它登

随机推荐