小议yxbbs漏洞利用代码

当前位置 : 首页 > 实用技巧 > 漏洞研究 > 小议yxbbs漏洞利用代码

小议yxbbs漏洞利用代码

来源:互联网 作者:脚本宝典 时间:2015-07-26 18:45
1、任意文件下载漏洞. 漏洞文件:ViewFile.asp FunctionChkFile(FileName) DimTemp,FileType,F ChkFile=false FileType=Lcase(Split(FileName,.)(ubound(Split(FileName,.)))) Temp=|asp|aspx|cgi|php|cdx|cer|asa| IfInstr(Temp,|FileType|)0T

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: 

就说到这里. 

Tag:
网友评论

<