shtml病毒
上个月帮一个做外贸的朋友看网站,打开首页直接跳出一个赌博页面。他急得不行,说服务器密码没丢,后台也进得去,就是首页文件被改了。我连上FTP一看,根目录下多了个 shtml文件本身不是病毒。它只是Apache等服务器支持的一种网页格式,允许在HTML里嵌入 怎么进来的?多数情况是老旧CMS的任意文件上传漏洞。比如早期DedeCMS、PHPCMS的某些版本,上传模块没校验扩展名,攻击者传个 清理起来不复杂,但容易漏。先搜整个站点目录下所有 预防比清理重要。新装服务器,第一件事就是确认 说回我朋友。他后来查日志,发现攻击来自一个巴西IP,用的是一个三年前就披露过的编辑器漏洞。他问我为什么黑客盯上他这个小破站,我说不是盯上你,是批量扫描,你的站只是刚好没打补丁。shtml病毒这事,本质上是服务器配置和代码维护的疏忽,跟病毒本身没多大关系。把门锁好,比天天杀毒管用。index.shtml,原来的index.html被改名藏起来了。这就是典型的shtml病毒——准确说,是利用SSI(Server Side Includes)解析机制搞的鬼。<!--#include -->这类指令,动态包含其他文件。问题出在服务器配置上:如果.shtml被当作默认首页优先级高于.html,攻击者只要往目录里塞一个index.shtml,访问者就会先看到它。更狠的是,这个文件里可以写<!--#exec cmd="..." -->,直接执行系统命令。我见过一个案例,黑客用这种方式在服务器上跑了挖矿脚本,CPU常年90%以上,站长还以为是流量涨了。shell.shtml上去,里面写一行<!--#exec cmd="ls" -->,就能列目录。有些服务器还开了IncludesNOEXEC,那至少能读文件,比如把/etc/passwd包含进来。我拆过一个样本,里面嵌套了三层include,第一层加载远程JS,第二层写cookie,第三层根据Referer判断来源,只有从搜索引擎来的才跳博彩,直接访问反而正常。这种规避手段让站长很难发现。.shtml文件,尤其是根目录和上传目录。再检查.htaccess,看有没有DirectoryIndex index.shtml这种被篡改的配置。我朋友那台服务器,除了根目录,/uploads/下面还藏了七个1.shtml到7.shtml,每个内容不一样,有的跳转,有的挂马。删完文件还得改密码,因为攻击者很可能留了Webshell在别的.php里。最后把Apache的Options -Includes关掉,或者至少设成IncludesNOEXEC,别让#exec生效。httpd.conf里AddType text/html .shtml和AddOutputFilter INCLUDES .shtml这两行有没有必要开。纯静态站根本用不上SSI,直接注释掉。CMS能升级就升级,不能升级就把上传目录的脚本执行权限禁了。我自己的习惯是每周扫一次网站根目录,看有没有新增的.shtml或.shtm文件,用find /var/www -name "*.shtml" -mtime -7一条命令的事。别等首页被跳转了才反应过来,那时候搜索引擎可能已经给你标了恶意软件。
- 随机阅读
- 搜索
-
- 友情链接
-