|
新闻公告>>> |
关于近期出现类似病毒,利用网站漏洞进行SQL注入的通知。 |
因为用户网站程序参数过滤不完整,近期连续出现很多网站被注入代码,经过我们仔细查实,发现网络上出现了一种类似病毒的注入方式。
这个注入最大的区别在于:
普通注入是人为的,也就是需要某个人先来试探你的网站漏洞,然后再利用漏洞来注入代码。 这种做法由于效率不高,并不会产生大面积网站被黑的情况。
目前出现的是病毒式的,也就是说,自动探测所有网站,自动进行注入。 所以覆盖面极广,那些没人关注的网站如果存在漏洞,也会被加入代码,甚至批量修改数据库。
也就是说,同样是存在漏洞的话,因为机器人自动搜索,现在被注入的比例会大大提高,因此排除程序漏洞显的尤为重要,不然极可能会被注入代码。
鉴于此类情况,我们衷心提醒所有网站管理员,尤其是程序员: 1。对于公开代码的程序,您应及时查找相关补丁。 2。应当立即对网站程序进行全面检查(尤其是asp网站的request对象),解决所有可能的漏洞 3。经常备份数据库,万一数据库被批量修改以后可以及时恢复。 4。您应该至少保留一份完整的程序在本地,以备不时之需。 5。如果可能,尽量使用php+MySQL编写网站程序,同样情况下,php的安全性会比asp这些高很多。 6。万一网站出现问题,需要恢复备份时,应尽早联系我们,服务器只保留1周前的备份,过早的文件将无法恢复。
以下供程序员参考: 对于asp程序过滤参数时,如果是数值型参数,您应该至少使用以下函数判断是否为数值 function ckn(tempword) if IsNumeric(tempword)=False then response.write "<script>alert('错误的参数!');</Script>" response.end end if ckn=tempword end function
如果是文本型参数,您应该至少使用以下函数把'替换为'' function cks(tempword) tempword = replace(tempword,"'","''") cks=tempword end function
要注意的是,必须对所有代码的request参数进行过滤,如果是数值就用ckn()函数,如果是文本就用cks()函数,不能有任何遗漏。
|
发布时间:2008-5-28 13:59:02 |
|
|