一.php后门木马常用的函数大致上可分为四种类型:1. 执行系统命令: system, passthru, shell_exec, exec, popen, proc_open

2. 代码执行与加密: eval, assert, call_user_func,base64_decode, gzinflate, gzuncompress, gzdecode, str_rot13

3. 文件包含与生成: require, require_once, include, include_once, file_get_contents, file_put_contents, fputs, fwrite

4. .htaccess: SetHandler, auto_prepend_file, auto_append_file

二.想找一个 关键词是“hellow word” 在哪些文件中有,我们用grep命令grep –color -i -r -n “hellow word” /data/www/

这样就能搜索出来 文件中包含关键词的文件–color是关键词标红

-i是不区分大小写

-r是包含子目录的搜索

-d skip忽略子目录

可以用以上命令查找网站项目里的带有挂马的文件

三.两个查后门的实用linux命令:

找出/data/web/website/目录下 35分钟前新建的phpfind /data/web/website/ -iname *.php -mtime -35

找出/data/web/website/ 里面源码包含eval($_POST[的php文件find /data/web/website/ -name “*.php” | xargs grep “eval($_POST[”

四.例如注入漏洞eval(base64_decode

grep --color -i -r -n "eval" /data/www/ 找出来对比以前正常的代码,看是否正常。然后用stat查看这个木马文件的修改时间,最后去寻找WEB日志,找出木马从哪里进来的

五:实用查找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{} \;

假设最后更新是10天前我们可以查找10天内生成的可以php文件:find /var/www/ -name “*.php” -mtime -10

也可以通过关键字的形式查找 常见的木马常用代码函数 eval,shell_exec,passthru,popen,system#find /var/www/ -name “*.php” |xargs grep “eval” |more

#find /var/www/ -name “*.php” |xargs grep “shell_exec” |more

#find /var/www/ -name “*.php” |xargs grep “passthru” |more

还有查看access.log 当然前提是你网站的所有php文件不是很多的情况下

一句话查找PHP木马# find ./ -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decode|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_decode|eval(base64_decode|spider_bc|gzinflate)” | awk -F: ‘{print $1}’ | sort | uniq

查找最近一天被修改的PHP文件# find -mtime -1 -type f -name *.php

六.以下其实是多余的操作了其实,但是还是有值得看的地方

1.检查代码。

肯定不是一个文件一个文件的检查,Linxu有强悍的命令

grep ‘eval’ * -R 全盘搜索当前目录所有文件(包含子目录)中带有eval的文件,这条可以快速查找到被挂马的文件。

关于eval,请自行google一句话php代码。

2.查看日志。

不到这个时候不知道日志的可贵啊。

还是以grep命令为主。

思路:负责的站点是Linux,只开了2个端口,一个22和80,外部的执行命令是由从80端口进来,Selinux报httpd访问/boot文件,确认被挂马。而所有的命令执行必须POST提交给执行的文件。所以,查找日志中所有的POST记录。

cat access_log_20120823.log | grep ‘POST’ | grep -v ‘反向查找’ | less,通过grep -v排除正常post,egrep也支持正则,但是太复杂了,看懂不知道怎么运用。

(这里不建议用cat,用tail可以追加一个文件来看)

这可以防患于未然,防止不知道哪天又被人黑进来了。每天看一眼日志。

3.对于网页目录,只给apache用户rx权限,不要给w权限,目录设置要加上rx,不要给w,个别文件除外。所以,配合2使用,Linux下可以快速过滤刷选出来不规则的POST请求。

综合1,2其实就可以快速查找被黑的页面,被修改的文件替换干净的代码。

bash type php,Linux Bash Shell 寻找PHP(网站)挂马,后门相关推荐

  1. linux bash 字符串 连接,Linux Bash 中字符串操作

    Linux Bash 中字符串操作 所谓 "子字符串" 就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 t ...

  2. linux系统bash是什么,linux bash简介

    linux bash是一种shell,还有很多其他的shell.那么什么是shell 1. 什么是shell 电脑是一堆硬件组成的(cpu,硬盘,内存条等),操作系统内核(kernel)管理这些硬件. ...

  3. linux bash 漏洞 利用,Linux Bash发现重大漏洞

    Linux Bash发现重大漏洞 Posted: 26. 09. 2014 | Author: QuenyWell | Category: Linux GNU Bourne Again Shell ( ...

  4. linux bash安装教程,linux bash命令怎么用?win10 linux bash命令使用教程

    linux bash命令怎么用?微软在win10一周年更新预览版中加入了ubuntu bash命令支持,但是很多用户并不知道怎么使用.今天U大侠小编就针对这个问题给大家介绍下win10系统linux ...

  5. linux bash java,从Linux Bash Shell配置NIC

    我有戴尔笔记本电脑运行以下版本的RedHat Linux:2.6.18-53.el5#1 SMP Wed 10月10日16:34:02 EDT 2007 i686 i686 i386 GNU / Li ...

  6. linux中感叹号的作用,感叹号在Linux bash中使用技巧

    1. 重复执行上一条指令  !! [root@iZ23t6nzr7dZ python]# ls /usr/local/ aegis bin etc games include lib lib64 li ...

  7. luinx php木马,Linux Bash Shell 寻找PHP(网站)挂马,后门

    一 php后门木马常用的函数大致上可分为四种类型: 1. 执行系统命令: system, passthru, shell_exec, exec, popen, proc_open 2. 代码执行与加密 ...

  8. Shell脚本学习-阶段十-Bash脚本实现每次登录Shell时可以查看Linux系统信息

    文章目录-Shell-阶段十-Bash脚本实现每次登录Shell时可以查看Linux系统信息 前言 总结 前言 # Bash脚本实现每次登录Shell时可以查看Linux系统信息 vi /opt/sc ...

  9. linux bash shell之declare

    linux bash shell之declare declare或typeset内建命令(它们是完全相同的)可以用来限定变量的属性.这是在某些编程语言中使用的定义类型不严格的方式.命令declare是 ...

最新文章

  1. release和retain还有多少人在用
  2. java 读文件夹_java怎么读取读取文件夹下的所有文件夹和文件?
  3. sql server存储过程中解决单引号的问题
  4. IDEA常用快捷键大全
  5. Ubuntu16.04开机进入单用户模式,破解root密码
  6. python开发实践教程 于京_《Python开发实践教程》于京、宋伟 著著【摘要 书评 在线阅读】-苏宁易购图书...
  7. 前景检测算法(二)--codebook和平均背景法
  8. kubunetes packages.cloud.google.com gpg:no valid OpenPGP data found
  9. 安卓zip解压软件_安卓zip文件压缩RAR解压app下载-安卓zip文件压缩RAR解压安卓版 v3.0.4...
  10. eprime2.0 倒计时功能
  11. doc,excel,ppt转存pdf并预览
  12. 同步带周长计算公式_同步带选型计算方法
  13. 最新Maven安装教程(详细)
  14. 最优化理论与凸优化到底是干嘛的?
  15. 在安装软件CAJViewer时出现,“错误1327。无效驱动器:F:
  16. SpringBoot整合Redis(十九)
  17. 那些惊艳你岁月的古诗词
  18. 自定义自己的笔记本做WiFi热点
  19. 42.(leaflet之家)leaflet实现撒点图(仿echarts)
  20. rviz_marker_绘制直线_矩形框

热门文章

  1. 为提升效率,阿里取消周报制度?醒醒吧,自动化报表才是出路
  2. 这个天气怎么就这么热啊,哪里还有心情写代码呀。
  3. 飞鸽传书2011比飞鸽传书2007的进化
  4. 超级连续的图片滚动特效
  5. XEIM 帮助文档【草稿版】
  6. 中文名称:深入浅出SQL
  7. C++Builder编程中动态更改自定义打印纸张
  8. 如何改变对话或窗体视窗的背景颜色
  9. C语言中字符数组的初始化与注意事项
  10. “不务正业”的化学奖又发给了生物