FeitecCMS V2.0 漏洞
''PS在分析之前,没看什么时候的代码。分析完毕了才知道很老了。所以就大概简略分析一下。
''\inc\Ft_sqlin.asp
<%
''略
Ft_In = "''|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|truncate|char|declare"
Kill_IP=True
''略
sql="select * from Ft_SqlIn where Sqlin_IP=''" & Request.ServerVariables("REMOTE_ADDR") & "'' and kill_ip=true"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if rs.eof or rs.bof then ''
''略
rs("SqlIn_CS")=Ft_Post
rs("SqlIn_SJ")=replace(Request.Form(Ft_Post),"''","''''")
''略
rs.close:set rs=nothing
Response.Write "<Script Language=JavaScript>alert(''请不要在参数中包含非法字符尝试注入!'');</Script>"
Response.Write "提交数据:"&Request.Form(Ft_Post)
''略
sql="select * from Ft_SqlIn where Sqlin_IP=''" & Request.ServerVariables("REMOTE_ADDR") & "'' and kill_ip=true"
End If
Response.Write "提交参数:"&Ft_Get&"<br>"
Response.Write "提交数据:"&Request.QueryString(Ft_Get)
Response.End
''略
%>
''直接写入数据库。(数据库asa)
''\admin\Ft_admin_upload.asp
<%
''略
''检查文本是否有有害代码
Private Function includeBadWord(Byval FileStr)
includeBadWord=false
dim StrBadWord,ArrStrBadWord,i
StrBadWord="server.|.createobject|execute|.encode|eval|request"''定义恶意代码
ArrStrBadWord=split(StrBadWord,"|")
For i=0 to ubound(ArrStrBadWord)
if Instr(LCase(FileStr),ArrStrBadWord(i))>0 Then
''response.write(ArrStrBadWord(i))
''略
Private Sub Class_Initialize
isErr_ = 0
NoAllowExt="" ''黑名单,可以在这里预设不可上传的文件类型,以文件的后缀名来判断,不分大小写,每个每缀名用;号分开,如果黑名单为空,则判断白名单
NoAllowExt=LCase(NoAllowExt)
AllowExt=allowupfile ''V1.41后续版本改为在基本设置中控制
'' AllowExt="gif;txt;jpg;jpeg;png;bmp;rar;zip;txt" ''白名单,可以在这里预设可上传的文件类型,以文件的后缀名来判断,不分大小写,每个后缀名用;号分开
''略
Path=GetFilePath(Path)
if isAllowExt(File(Item).FileExt) then
do
''略
%>
''国际问题。只是检测代码。并且文件并没改名。
''其他问题:注册会员 提交也是过滤关键字。后台文件配置插入一句话等、
''由于代码太老。所以就不贴了。
上一篇:最新DZ 7.2爆路径0day
下一篇:AACMS搜索型注入漏洞