通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 网络攻防 >> 文章正文
OBlog Sql Injection Vulnerability
责任编辑:酷酷の鱼   更新日期:2008-4-28
 

官方已经修正该漏洞

–==+=================== www.nspcn.org =================+==–
–==+                OBlog (tags.asp) Remote SQL Injection Exploit             +==–
–==+====================================================================================+==–

#Author: Whytt & Tr4c3[at]126[dot]com
#版权所有:http://www.nspcn.org & [BK瞬间群] & Whytt
#漏洞文件tags.asp

#影响版本:
3.13-20060429 [access & mssql]
4.02-20070112 [access & mssql]
4.50 Final Build0619 [access & mssql]
4.60 Final Build0921 [access & mssql]
4.60 Final Build1107 [access & mssql]
#漏洞原因:变量tagid未经过滤传值,带入sql执行,导致注入产生。
#修补方法:检查用户提交的tagid,只允许是数字。
例如:
将iTagId = Trim(Request.Querystring(”tagid”))改成iTagId = Clng(Trim(Request.Querystring(”tagid”)))

[+++]
这 个地方的注射是去年whytt在读OBLOG 4.5的时候发现的,当时没仔细看,只是听他说适用于mssql版,今天在搞一个站的时侯遇见了Oblog 4.60 Final Build1107 (Access),百般无奈又去看了看那个放了N久的”mssql注入点”,这一看不要紧,扩展成了access和mssql通杀。
[+++]
再来啰嗦一下代码的问题tags.asp行15-36

sType = LCase(Trim(Request.Querystring(”t”)))
iTagId = Trim(Request.Querystring(”tagid”)) ’这个地方没过滤,在36行处传值给函数GetUsersByTag
iUserId = Trim(Request.Querystring(”userid”))
sKeyword= Trim(Request(”keyword”))
sAll=Trim(Request.Querystring)
If sAll & sKeyword=”" Then sType=”hottags”

Call link_database()

select Case sType
Case ”hottags”
sTitle=”最热门的100个” & P_TAGS_DESC
sContent=Tags_Hottags()
Case ”cloud”
sTitle=P_TAGS_DESC & ”云图”
sContent=Tags_SystemTags(1)
Case ”list”
sTitle=P_TAGS_DESC & ”列表”
sContent=Tags_SystemTags(0)
Case ”user”
sTitle=P_TAGS_DESC & ”用户”
sContent=GetUsersByTag(iTagId)

函数GetUsersByTag的原型在文件Inc_Tags.asp行320-338

Function GetUsersByTag(byval sTagId)
Dim rst,sSql,sContent
Set rst = Server.CreateObject(”Adodb.Recordset”)
sSql = ”select Top 100 b.userName,b.user_dir,b.user_folder From (select Userid From oblog_usertags Where Tagid=” & sTagId & ” Group By UserId) a,oblog_user b Where a.Userid=b.UserId”
rst.Open sSql,conn,1,1
If rst.Eof Then
sContent=”没有符合条件的用户”
rst.Close
Set rst = Nothing
End If
i=0
Do While Not rst.Eof
sContent=sContent & ”<a href=”& blogurl& rst(”user_dir”) & ”/” & rst(”user_folder”)&”/index.” &f_ext&” target=_blank>” & rst(”userName”) & ”</a><br/>”
rst.movenext
Loop
rst.Close
Set rst = Nothing
GetUsersByTag=sContent
End Function

之所以当初whytt说只适用于mssql,是当时没想起来如何无错闭合,仔细想想原来这么简单.

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 企业网络组建与维护班正式开课
    普通文章 瑞星公司04月28日发布 每日计算机病毒及木马播报
    普通文章 黑客借windows补丁找漏洞
    普通文章 天才黑客释放后出任IT顾问
    普通文章 6月停售XP遭抵制 鲍尔默:将考虑延长XP寿命
    普通文章 专家:Windows版QuickTime存在零日攻击漏洞
    普通文章 WindowsUpdate需改进 30秒开发出攻击代码
    普通文章 假期要特别防范U盘杀手、网游大盗等病毒
    普通文章 用OD脱DEDE的Armadillo 1.xx - 2.xx壳
    普通文章 最近比较流行的数据库挂马
    热门文章
    普通文章美一黑客承认侵入25万计算机 可能面临60年监禁
    普通文章ISBS:恶意软件感染率降低60%
    普通文章iPhone浏览器存漏洞 可能导致崩溃
    普通文章黑客利用社会工程学偷资料敲诈被判刑
    普通文章病毒预警:木马情书"风花雪月"背后暗藏杀机
    普通文章计算机新病毒已超过36万种 同比增长了5倍
    普通文章黑客利用木马程序偷业务资料敲诈被判4年
    普通文章埃森哲:12%被访者“借用”他人Wi-Fi信号
    普通文章104种清除木马方法之一
    普通文章104种清除木马方法之二
    精彩专题