日期:2014-05-17  浏览次数:20733 次

关于<iframe></iframe>的病毒问题的一点个人看法?
我的服务器上有上百个站点,每个站点有不同的程序员开发的不同形式的网站,这次网站里被嵌入 <iframe> </iframe> 嵌入式的病毒,综合个人和网友的分析,大致几个方面导致的这样的结果.
1.upload.asp   upfile_flash.asp类似这样的文件,安全性不高[无组件上传]
2.服务器有漏洞,有些不安全的端口未关闭,存在ARP欺骗的风险.
3.SQL注入的漏洞
4.有木马
大致这样,这个版块是ASP,如果大家把自己的网站都换成ASP.Net,难道上述情况就不会发生了吗?我对ASP.NET有所了解,他有自己的上传组件,可是木马的制造着可以把.asp改成.Jpg   Or   .gif,上传后,在通做特殊的手段把他在改回来,ASP.NET真的能抵挡的住吗?

------解决方案--------------------
声明,这里不是比较哪个语言好的问题.

1.ASP无组件上传并未来自官方,所以有漏洞一点也不奇怪
2.SQL注入攻击任何脚本写出来都有可能存在并被攻击,而并非ASP特有.
3.asp.net的上传功能要看具体实现代码怎么写?如果它连限制上传文件后缀都没有,你能说它安全吗?
4.asp无组件上传原来存在的问题是\0被当成了文件名结束.而windows特性则是比如1.asp空格则会保存为1.asp


顺便讲一下ASP写程序安全性问题:
1.防注入
很简单,只要在获取参数的地方用一下这个函数:
'# --------------------------------------
'# 函數:SafeRequest
'# 描述:安全參數獲取 用於防止SQL Injection攻擊
'# 參數:para : 工獲取的參數名; iType : 參數類型 1表示數字型,0表示字符串型
'# 返回:Request獲取的值
'# 作者:haicao (cnhaicao@tom.com)
'#---------------------------------------

function SafeRequest(byval para, byval iType)
if iType = 1 then
if isnumeric(Request(para)) then
SafeRequest = Request(para)
else
Response.Write(para & "要求整型參數. ")
Response.End
end if
else
SafeRequest = Replace(Request(para), " ' ", " ' ' ")
end if
end function

2.关于无组件上传
要使用已经解决上传后缀欺骗漏洞的组件,如风声无组件上传
3.如果是SQL数据库尽量只分配public权限.
4.后台路径尽量复杂不易猜到.


以上观点存属个人见解不对的地方请谅解...........