信息来源:Bug.Center.Team内部论坛( http://www.cnbct.org )
发布日期:2006-10-18 应急事件响应公告(BCTCERA0607)
受影系统:动易网站管理系统2006
安全综述:动易2006网站管理系统是一个采用ASP和MSSQL等其他多种数据库生成静态页面构建的高效网站解决方案。
漏洞描述:
第5行:ModuleName = Trim(request("ModuleName"))
……………………
第85行:sqlComment = "Select top " & Num & " C.* from PE_Comment C left join PE_" & ModuleName & " A on C.InfoID=A." & ModuleName & "ID where A.ChannelID= " & ChannelID & " and A.ClassID= " & ClassID & " and C.Passed =" & PE_True
…………
第98行 :Set rsComment = Server.CreateObject("ADODB.Recordset")
rsComment.open sqlComment, conn, 1, 1
上面这段代码没有对ModuleName进行任何过滤就放进了数据库。构造合适的语句,就可以进行注射攻击。
解决方案:过滤request("ModuleName")
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!Sobiny(Bug.Center.Team)提供了如下测试方法:
NewComment.asp?ChannelID=1&ModuleName=Article A on C.InfoID=A.ArticleID where A.ChannelID=1 and 1=1 ';mssql语句--
其中的mssql可以为任意合法的mssql语句。
厂商补丁:厂商已经发布补丁