您现在的位置是:综合 >>正文

shtml病毒

综合31297人已围观

简介上个月帮一个做外贸的朋友看网站,打开首页直接跳出一个赌博页面。他急得不行,说服务器密码没丢,后台也进得去,就是首页文件被改了。我连上FTP一看,根目录下多了个index.shtml,原来的index. ...

上个月帮一个做外贸的朋友看网站,打开首页直接跳出一个赌博页面。他急得不行,说服务器密码没丢,后台也进得去,就是首页文件被改了。我连上FTP一看,根目录下多了个index.shtml,原来的index.html被改名藏起来了。这就是典型的shtml病毒——准确说,是利用SSI(Server Side Includes)解析机制搞的鬼。

shtml文件本身不是病毒。它只是Apache等服务器支持的一种网页格式,允许在HTML里嵌入<!--#include -->这类指令,动态包含其他文件。问题出在服务器配置上:如果.shtml被当作默认首页优先级高于.html,攻击者只要往目录里塞一个index.shtml,访问者就会先看到它。更狠的是,这个文件里可以写<!--#exec cmd="..." -->,直接执行系统命令。我见过一个案例,黑客用这种方式在服务器上跑了挖矿脚本,CPU常年90%以上,站长还以为是流量涨了。

怎么进来的?多数情况是老旧CMS的任意文件上传漏洞。比如早期DedeCMS、PHPCMS的某些版本,上传模块没校验扩展名,攻击者传个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一条命令的事。别等首页被跳转了才反应过来,那时候搜索引擎可能已经给你标了恶意软件。

说回我朋友。他后来查日志,发现攻击来自一个巴西IP,用的是一个三年前就披露过的编辑器漏洞。他问我为什么黑客盯上他这个小破站,我说不是盯上你,是批量扫描,你的站只是刚好没打补丁。shtml病毒这事,本质上是服务器配置和代码维护的疏忽,跟病毒本身没多大关系。把门锁好,比天天杀毒管用。

Tags:

相关文章

  • 怎么做一个网站

    综合

    我见过太多人把“做网站”想复杂了。去年邻居老王花八千块找人做了个公司官网,结果对方交付的是一堆静态页面,连后台都没有——他每次改产品价格都得求人。其实,一个能用的网站,本质上就是“一台永远开机的电脑 ...

    【综合】

    阅读更多
  • 广西反渗透实验装置制造商

    综合

    广西做反渗透实验装置的厂子,真正成规模的,一只手数得过来。大部分是十几人的小作坊,能焊架子、能接管路,但一碰到膜壳耐压测试或者跨膜压差数据采集,就露怯了。 去年我在南宁高新区走访过一家叫“绿源膜科”的 ...

    【综合】

    阅读更多
  • 防范网络诈骗的意义

    综合

    去年冬天,我姑妈接到一个电话。对方自称是某电商平台客服,说她买的一件羽绒服甲醛超标,要给她三倍退款。姑妈确实刚买过羽绒服,对方连订单号都报得一字不差。她差点就点了对方发来的“退款链接”。幸好那天我正好 ...

    【综合】

    阅读更多


友情链接