浏览主站 | 站长工具 | 新闻资讯 | 站长学院 | 站长盈利 | HTML教程 | 网址导航 | 站长周刊 | 会员投稿 | 滚动新闻 | RSS
发新话题
打印

【新云漏洞】网站管理系统最新版注入漏洞

【新云漏洞】网站管理系统最新版注入漏洞

[[wiki]wiki[/wiki]][/wiki]受影响[wiki]系统[/wiki]:新云[wiki]网站[/wiki][wiki]管理[/wiki]系统最新版
发现人的BLOG:[[wiki]URL[/wiki]=http://sobiny.cn]http://sobiny.cn[/url]
发布日期:2007年6月上旬
发布网站:www.zzchn.com
[wiki]安全[/wiki]综述:新云网站管理系统是一个采用ASP和MS[wiki]SQL[/wiki]等其他多种[wiki]数据库[/wiki]生成静态页面构建的高效网站解决方案。
漏洞描述:先看const.asp的GetUserTodayInfo过程。

QUOTE:
Lastlogin = Req[wiki]UE[/wiki]st.Cookies("newasp_net")("LastTime")
UserDayInfo = Request.Cookies("newasp_net")("UserToday")
If DateDiff("d",LastLogin,Now())<>0 Then
………………
UserDayInfo = "0,0,0,0,0,0"
Response.Cookies("newasp_net")("UserToday") = UserDayInfo
end if
UserToday = Split(UserDayInfo, ",")
If Ubound(UserToday) <> 5 Then
………………
UserDayInfo = "0,0,0,0,0,0"
Response.Cookies("newasp_net")("UserToday") = UserDayInfo
end if

然后是

QUOTE:
Public Function updateUserToday(ByVal str)
On Error Resume Next
If Trim(str) <> "" Then
Newasp.Execute("update [NC_User] SET UserToday='" & str & "' where use[wiki]RNA[/wiki]me='"& Newasp.membername &"' And userid=" & Newasp.memberid)
Response.Cookies("newasp_net")("UserToday") = str
End If
End Function

大家都能看出来。updateUserToday(ByVal str)str没有经过任何过滤就防进了数据库。

然后就是
article[wiki]POS[/wiki]t.asp
message.asp
so[wiki]FTP[/wiki]ost.asp
upfile.asp
upload.asp
这几个文件对GetUserTodayInfo和updateUserToday过程没有验证的直接调用,导諿wiki]铝[/wiki]藄ql注入

解决方案:

过滤UserDayInfo

[wiki]测试[/wiki]方法:

警 告
以下[wiki]程序[/wiki](方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Sobiny(Bug.Center.Team)提供了如下测试方法:

由于UserDayInfo的格式是 0,0,0,0,0,0每一个字符代表了今天使用的权限,有上传,有[wiki]短信[/wiki]。
而每使用一次权限,使用权限的那个一数字就会自加1。
所以在构造语句礫wiki]氖[/wiki]焙蛞⒁狻

TOP

找个试试
激情成就梦想!!!
我的blog  欢迎你!!

TOP

发新话题