Linux中shell命令查找PHP木马方法

一句话查找PHP木马

 代码如下 复制代码

# find ./ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decoolcode|spider_bc"> /tmp/php.txt
 
# grep -r --include=*.php  '[^a-z]eval($_POST' . > /tmp/eval.txt
 
# grep -r --include=*.php  'file_put_contents(.*$_POST\[.*\]);' . > /tmp/file_put_contents.txt
 
# find ./ -name "*.php" -type f -print0 | xargs -0 egrep "(phpspy|c99sh|milw0rm|eval\(gzuncompress\(base64_decoolcode|eval\(base64_decoolcode|spider_bc|gzinflate)" | awk -F: '{print $1}' | sort | uniq

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

一般站点里的页面文件都很少更改,当然动态临时生成的除外。而那些一般不会变的页面目录里的文件如果被修改了,可大可能是被人做了手脚。

 代码如下 复制代码

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

修改网站的权限

 代码如下 复制代码

# find -type f -name \*.php -exec chmod 444 {} \;
 
# find ./ -type d -exec chmod 555{} \;

常见的一句话后门:

 代码如下 复制代码
grep -r --include=*.php '[^a-z]eval($_POST' . > grep.txt
grep -r --include=*.php 'file_put_contents(.*$_POST\[.*\]);' . > grep.txt

把搜索结果写入文件,下载下来慢慢分析,其他特征木马、后门类似。有必要的话可对全站所有文件来一次特征查找,上传图片肯定有也捆绑的,来次大清洗

禁用不常用函数

将用不到的权限又比较大的php函数在php.ini文件里禁掉。修改方法如下:

disable_functions = system,exec,shell_exec …………

时间: 2024-09-29 21:49:17

Linux中shell命令查找PHP木马方法的相关文章

linux中Shell命令用法入门教程

什么时候使用Shell 因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化.因此,Shell脚本只要"用心写"一次,即可应用到很多系统上.因此,之所以要使用Shell脚本是基于:     简单性:Shell是一个高级语言:通过它,你可以简洁地表达复杂的操作.     可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行.     开发容易:可以在短时间内完成一个功能强大又妤用的脚本. 但是,考虑到Shell脚本的命令限制和效率问题

Linux中shell命令的用法和技巧

使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并放在我的Dropbox里,现在,向大家分享这个文件.这个文件我会不断的更新.需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件. UPDATE: November 25, 2013 检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 &&

linux中shell命令test用法和举例

test 命令期望在命令行中找到一个参数,当 shell 没有为变量赋值时,则将该变量视为空.这意味着在处理脚本时,一旦脚本寻找的参数不存在,则 test 将报告该错误. 当试图保护脚本时,您可以通过将所有参数包含在双引号中来解决这个问题.然后 shell 将变量展开,如果变量没有值,那么将传递一个空值给 test.另一种方法是在脚本内增加一个额外检查过程来判断是否设置了命令行参数.如果没有设置命令行参数,那么脚本会告诉用户缺少参数,然后退出.我们会通过一些例子来更具体地说明所有这些内容. te

linux中shell命令高级技巧

非直接引用变量:       在Shell中提供了三种为标准(直接)变量赋值的方式:       1. 直接赋值.       2. 存储一个命令的输出.       3. 存储某类型计算的结果.       然而这三种方式都是给已知变量名的变量赋值,如name=Stephen.但是在有些情况下,变量名本身就是动态的,需要依照运行的结果来构造变量名,之后才是为该变量赋值.这种变量被成为动态变量,或非直接变量.  代码如下 复制代码       /> cat > test7.sh       #

linux中shell获取ssh端口号方法

  格,如下: 代码如下 [root@MyVPS1697 201407]# netstat -ntpl|grep sshd|grep -v grep |awk -F : '{print $4}' 为了解决空格问题,把我所在的3个运维群都问了一个遍,现在才知道人多力量大,好多热心的群友给我了几个解决办法,现在把他们给的shell语句发出来: 代码如下 netstat -antp | grep sshd| awk -F ":" '{print $4}' | awk '{if($0 !~/^

linux中shell命令监控iptables是否运行

脚本内容:  代码如下 复制代码 vi iptables-reset.sh #!/bin/bash #Powered by blog.slogra.com port=`iptables -vL|grep ssh|awk '{split($NF,a,":");print a[2]}'|wc -l` if [ $port = 1 ];then echo "ok!" else /etc/init.d/iptables start sleep 2 port=`iptable

linux中shell命令监控kingate并自动启动

系统:centos 5.x 脚本内容: cat kingate.sh  代码如下 复制代码 #!/bin/bash kingate=`ps -C kingate --no-header|wc -l` file=`find /usr/local/kingate/var/kingate.pid |wc -l` if [ "$kingate" = "1" ];then echo "kingate is running...." else if [ &q

详解Linux中vi命令大全_linux shell

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于 对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它.Vi也是Linux中最基本的文本编 辑器,学会它后,您将在Linux的世界里畅行无阻. vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line m

linux中grep命令的使用

  linux中grep命令的使用 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep. grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Pr