本文作者:雁过留痕@深信服MSS专家部
一、使用场景
1、当中间件访问日志目录下,存在多个日志文件,知道webshell的名字,可以在所有日志中检索哪个文件存在该webshell的名称,并快速定位到漏洞点。
2、当业务系统被加载黑链,需要检索网站的哪些文件存在问题,可以使用该命令搜索网站目录下所有文件是否存在外链。
二、命令介绍
grep [选项] PATTERN [FILE...]
PATTERN:要搜索的模式,可以是字符串或正则表达式。
FILE:要搜索的文件。如果不指定文件,grep 将从标准输入读取数据。
参数介绍:
-i:忽略大小写。
-v:反向匹配,显示不匹配的行。
-r 或 -R:递归搜索目录及其子目录。
-l:只显示匹配的文件名。
-n:显示匹配行的行号。
-c:只输出匹配的行数。
-H:用于在输出中显示匹配行的文件名
-A NUM:显示匹配行及其后面 NUM 行。
-B NUM:显示匹配行及其前面 NUM 行。
-C NUM:显示匹配行及其前后各 NUM 行。
三、实战中命令组合使用
1、检索当前目录下,所有的文件中包含的指定关键字,例如搜索当前目录下是否存在包含“eval”。
grep -rn "eval" .
2、配合find命令一起使用,可以排查当前目录下指定文件格式,是否存在指定的关键字。
find . -name "*.php" -exec grep -H "eval" {} ;
3、配合cat命令,可以排查指定文件中,指定关键字前后10行的信息,例如主机被上传了webshell,知道webshell名称后,可利用webshell名称在访问日志中快速定位到漏洞点。
cat access.log | grep 【需要过滤的内容】 -C 10
4、当需要过滤结果中不展示的信息时,可以使用-v参数,例如,通过grep命令过滤grep。
ps -ef | grep bash | grep -v grep
欢迎关注:
往期内容推荐:
原文始发于微信公众号(安服仔的救赎):linux应急之grep命令在应急实战中的使用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论