来源:LiFediy's blog 作者:jannock
yxbbs 是一个较小的论坛系统,也算是一个较好的小论坛. 管方网站是: http://www.yimxu.com/bbs/Default.Asp 对其研究了一下,发现存在不小安全问题. 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 可以构造成 1,SQL注入语句… 对于asscee 数据库影响不太,但SQL语句影响很大.
Sex="&Sex&",
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:
就说到这里. |