• 分类

  • 重置

小议yxbbs漏洞利用代码

    1、任意文件下载漏洞.

    漏洞文件: ViewFile.asp

    Function ChkFile(FileName) 
    Dim Temp,FileType,F 
    ChkFile=false 
    FileType=Lcase(Split(FileName,”.”)(ubound(Split(FileName,”.”)))) 
    Temp=”|asp|aspx|cgi|php|cdx|cer|asa|” 
    If Instr(Temp,”|”&FileType”|”)>0 Then ChkFile=True 
    F=Replace(Request(“FileName”),”.”,””) 
    If instr(1,F,chr(39))>0 or instr(1,F,chr(34))>0 or instr(1,F,chr(59))>0 then ChkFile=True 
    End Function 

    在检查下载文件类型时只判断不是那几种类型就可以下载。
    因此存在漏洞,我们可构造这样的下载
    http://www.yimxu.com/bbs/ViewFile.asp?filename=../../inc/conn.asp%20
    注意,后面加多个%20, 代表空格。

    2、SQL注入漏洞
    漏洞文件:Usersetup.Asp

    SaveMyInfo()
    注意到
    Sex=YxBBs.Fun.GetStr(“Sex”) 
    QQ=YxBBs.Fun.GetStr(“QQ”) 
    IsQQpic=YxBBs.Fun.GetStr(“IsQQpic”) 

    Public Function GetStr(Str) 
    Str = Trim(Request.Form(Str)) 
    If IsEmpty(Str) Then 
    Str = “” 
    Else 
    Str = Replace(Str,”{“,”{”) 
    Str = Replace(Str,”}”,”}”) 
    Str = Replace(Str,”‘”,”‘”) 
    Str = Replace(Str,”|”,”|”) 
    End If 
    GetStr = Trim(Str) 
    End Function 

    只过虑 ‘ { } | 等,但

    YxBBs.execute(“update [YX_User] set Birthday='”&Birthday”‘,Sex=”&Sex”,PicW=”&PicW”, 
    PicH=”&PicH”,Mail='”&Mail”‘,QQ='”&QQ”‘,Honor='”&Honor”‘,Pic='”&PicUrl”‘, 
    Home='”&Home”‘,Sign='”&Sign”‘,IsQQpic=”&IsQQpic” where name='”& 
    YxBBs.MyName”‘ And Password='”&YxBBs.MyPwd”‘”) 

    Sex=”&Sex&”,
    可以看到,Sex 可以构造成 1,SQL注入语句… 对于asscee 数据库影响不太,但SQL语句影响很大.

    3、多处跨站漏洞
    函数

     Public Function ubbg(str) 
    Dim re 
    Set re=new RegExp 
    re.IgnoreCase=true 
    re.Global=True 
    re.Pattern=”((javascript:)|(<)|(>)|(height)|(width)|(jscript:)|(object)|(script)|(js:)|(vbscript:)| 
    (vbs:)|(\.value)|(about:)|(file:)|(document.cookie)|(on(mouse|Exit|error|click|key|load)))” 
    str=re.Replace(str,””) 
    re.Pattern=”(&#)” 
    str=re.Replace(str,”&#”) 
    Set re=Nothing 
    ubbg=str 
    End Function 

    因为过虑为空,所以可以这样构造

    (javas(object)cript:)

    过虑后就成了 javascript:

    就说到这里.

发表评论

发表评论