随着教育信息化进程的推进,各类教育网站大量涌现。由于教育网站大多是学校计算机教师自己开发管理的小型网站,普通存在着设备、技术、专业人员不足的问题,网站自身存在漏洞,常常成为黑客攻击的目标,严重影响了正常业务的开展。这里,笔者希望通过对教育网站所遭遇的三次黑客入侵的剖析,来分析黑客常用的入侵方法和手段。
第一次遭遇入侵
1. 入侵现象:2004年春节,网站的公告栏上突然出现“此论坛有漏洞,请管理员修复”的内容,并被粘贴了一张图片。
2. 处理问题的过程:首先想到的是以为存在某个Windows 2000漏洞,于是就先删除这条内容,然后对Windows 2000服务器重新安装升级补丁,完成更严格的安全设置并更换了全套密码。自以为可以高枕无忧了,不料没过几天,公告板上再次出现黑客的警告“你的漏洞依然存在,我可以告诉你问题所在,但作为回报我要你网站的源代码”。
3. 入侵原理:我当然不会轻易就范,经过查阅资料最后发现原来漏洞是SQL致命的“单引号注入”。入侵原理如下:在网站后台管理登录页面用户密码认证时,如果用户在“UserID”输入框内输入“Everybody”,在密码框里输入“anything' or 1='1”,查询的SQL语句就变成了:Select from user where username='everyboby' and password='anything' or 1='1'。不难看出,由于“1='1'”是一个始终成立的条件,判断返回为“真”,Password的限制形同虚设,不管用户的密码是不是Anything,他都可以以Everybody的身份远程登录,获得后台管理权,在公告栏发布任何信息。
4. 解决方法:用replace函数屏蔽单引号。
select from user where username='&replace(request.form("UserID"),',")&&' and password=' &replace(request.form ("Pass"),',")&&
再次被入侵
有了第一次被入侵的经历,事后几周我心里一直忐忑不安,但不幸还是发生了。
1. 入侵现象:一天,突然发现网站的主页文件和数据库部分数据被删除,从入侵的痕迹分析是同一黑客所为。
2. 处理问题的过程:首先查看系统日志、SQL的日志,没有发现价值的线索,采用X-Scan、木马克星和瑞星杀毒软件自带的系统漏洞扫描工具进行扫描,系统没有严重的安全漏洞,于是问题的查找陷入了困境,幸好网站有完整的备份数据,最后只能先恢复网站的正常运行。巧的是在一周后一次通过后台管理上载文件的过程中,发现有人上载过cmd.asp、mun.asp和1.bat三个文件的操作痕迹,时间为第一次入侵期间。但机器硬盘上已无法查找到这三个文件,这是木马程序,显然这黑客比较专业,在入侵完成后自己清理了战场,但还是在网站上载记录中留下了线索,否则管理员根本无从知晓。
3. 入侵原理:cmd.asp、mun.asp是木马程序,经过翻阅大量资料显示这类木马为ASP木马,属于有名的海阳顶端ASP木马的一种,这类木马一旦被复制到网站的虚拟目录下,远端只要用IE浏览器打开该ASP文件,就可以在Web界面上轻松地控制该计算机执行任何操作。我在网上下载了一个ASP木马,模拟测试了一下,功能非常强大,能实现远程文件上传下载、删除、用户添加、文件修改和程序远程执行等操作。1.bat文件为批处理文件,内容根据需要写入一组程序执行命令在远程计算机上实现自动执行。显然,这个木马是在黑客第一次入侵时就放上去的,一旦网管员没按他的要求就范,就可以轻松地再次实施攻击。
4. 解决方法:为了防止仍有隐藏很深的木马,确保万无一失,我重新安装了Windows2000系统,并更换了全套用户名,密码。
第三次被入侵的分析
1. 入侵现象:2004年10月,网站再次遭到入侵。这天我在图片新闻栏目中突然发现一条图片新闻被去年一条旧的内容所替代,当客户端点击该新闻图片时,瑞星杀毒监控系统报警发现病毒,显然网站已被入侵并被植入带病毒的图片,这是一种以图片文件格式作为掩护的木马病毒,用户一旦点击该图片,病毒就被植入C:\Windows\Temporary Internet Files目录下,这是一起恶性黑客入侵事件,从其手法上看为另一黑客所为。
2. 处理问题的过程:有了前两次被入侵的教训,我养成经常了解有关系统安全漏洞信息的习惯,并定期进行系统UPDATE,因此利用系统漏洞入侵的可能性不大。而该置入的图片是放入SQL数据库内的,这说明黑客利用了网站后台管理功能实现图片上传,而这需要合法的用户密码才行。我设定的用户名和密码不容易被破解,那么只有一条途径,即黑客通过某种特定的方式拿到了放在SQL数据库表中的后台管理用户名和密码。有了这个思路,我在互联网上研读了大量相关资料,最后锁定本次受到的攻击为“SQL注入式入侵”。
3. 入侵原理:SQL注入的原理,是客户端从正常的WWW端口提交特殊的代码,利用返回的错误提示,收集程序及服务器的信息,从而获取想得到的资料。
4. 解决方法:在ASP程序提取数据库表单内容的“select * from”语句前增加一条关闭SQL出错信息的显示语句“on error resume next”,如
on error resume next
rs.Open "select from xinwen where xw_id="&request.QueryString ("xw_id"),conn,1,3