用sed跟? (问号)特殊字符

时间:2013-06-14 14:40:44

标签: sed character

我有一个受感染的网站,我正在尝试使用sed清除它。不幸的是,我无法逃避URL中的问号,我真的被困在这里。我在网上搜索了一个可能的解决方案,但不幸的是我找不到合适的方法。

只是一个解释:

注入的代码与此类似:

< iframe src=http://test.com/index.html?i=23123>< /iframe>

请注意,我不是专业人士,这就是为什么我需要你的帮助!

所以我清除代码的方法是:

sed -i '/< iframe src=http:\/\/test.com\/index.html\?i=23123>/,/< \/iframe>/d' index.html

不幸的是,这并不像其他所有人那样有帮助。

非常感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

echo "< iframe src=http://test.com/index.html?i=23123>< /iframe>" \
| sed 's@< iframe src=http://test.com/index.html?i=23123>< /iframe>@@'

不产生输出,这对我来说意味着它已成功删除你的问题字符串。

请注意,大多数seds会接受备用正则表达式替换字符,这里我使用@,因为搜索目标中没有@。在某些seds上,你必须告诉它'嘿我正在使用备用,并转义char,如s\@.....@@

我不明白为什么你引用?的尝试失败了。您是否尝试[?]和(最差情况)[\?]。 shell中是否有二级评估,你在这里没有提到?我的简单例子也失败了吗?

正如其他人肯定会告诉你的那样,你的方法完全是一个绑定,你需要弄清楚系统中的安全漏洞是什么并修复它。您的网页将再次损坏。 : - (

IHTH