![如何从命令行 grep 查找这些多个字符串?](https://linux22.com/image/64097/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%91%BD%E4%BB%A4%E8%A1%8C%20grep%20%E6%9F%A5%E6%89%BE%E8%BF%99%E4%BA%9B%E5%A4%9A%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%9F.png)
我需要运行一个命令来从命令行 grep 这些字符串之一,作为 Web 主机禁用帐户,以便从浏览器运行网站,直到病毒文件被删除,并且我设法收集了一些可以找到这些文件的字符串。
如果有人知道我是否可以为此运行命令,我将不胜感激。
要查找的文本:
bigdeal777
Goog1e_analist_certs.*
tevq\(ucyq\)
GR_HOST_ID.*
\['cmd'\]
ejppy.*
eval\(gzinflate.*
eval\(base64_decode.*
FilesMan.*
Web Shell by.*
Goog1e_analist_up.*
palcastle.*
shell_exec
google_analytics_obh.*
udb=1
createCSS.*
base64_decode\(str_replace
exit;move_uploaded_file
msgz.*
iskandar.*
\.sterling.*
CLaW.*
feoMEN.*
Hacke.*
into [a-z0-9\-_]{1,}orders
gagal
JSinj
linkonline
SUKS.*
\@system\(
\@passthru\(
\@popen\(
Mohajer22
\@extract\(
likecinema
mp3aim
mixmenow
lyricsoasis
PGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cubC1jb3VudGVyLmNvbS9zdGF0cy5waHA\/aWQ9
\$_POST\[\'skip\'\]
u0058
urlencode\(strrev
viagra.*
我只需要知道匹配文件的完整路径。
谢谢。
答案1
如果您可以将它们放入文件中,则可以使用 grep 的-f
标志从文件中读取模式,并且可以用来-l
仅显示匹配的文件
将它们放在一起你可以做类似的事情
grep -R -l -f scanner.txt *
因此,这-R
将导致它递归搜索(我假设您想要这样),-l
将仅打印包含匹配项的文件的名称,并-f
表示从文件scanner.txt中读取搜索模式
答案2
我认为它可以帮助你:
#!/bin/bash
declare arr=('bigdeal777',
'Goog1e_analist_certs.*',
'tevq\(ucyq\)',
'GR_HOST_ID.*',
"\['cmd'\]",
'ejppy.*',
'eval\(gzinflate.*',
'eval\(base64_decode*.',
'FilesMan*.',
'Web Shell by.*',
'Goog1e_analist_up.*',
'palcastle.*',
'shell_exec',
'google_analytics_obh.*',
'"udb=1"',
'createCSS.*',
'base64_decode\(str_replace',
'exit;move_uploaded_file',
'msgz.*',
'iskandar.*',
'\.sterling.*',
'CLaW.*',
'feoMEN.*',
'Hacke.*',
'into [a-z0-9\-_]{1,}orders',
'gagal',
'JSinj',
'linkonline',
'SUKS.*',
'\@system\(',
'\@passthru\(',
'\@popen\(',
'Mohajer22',
'\@extract\(',
'likecinema',
'mp3aim',
'mixmenow',
'lyricsoasis',
'PGlmcmFtZSBzcmM9Imh0dHA6Ly93d3cubC1jb3VudGVyLmNvbS9zdGF0cy5waHA\/aWQ9',
"\$_POST\[\'skip\'\]",
'u0058',
'urlencode\(strrev',
'viagra.*');
arr_size=${#arr[@]};
for i in `seq 1 $arr_size` ; do
echo ${arr[$i]}|egrep -i "$1" ;
done;
用法 :
./script.sh eval