Ich muss eine Variable in einen sed-Ausdruck expandieren, aber der Variablenwert ist ein Variablenname einschließlich $
.Variable in sed-Ausdruck erweitern
Linie zu reinigen, es ist die erste Zeile (und diese erste Zeile wechselt auf mehreren fehlschlägt, für $otheVarNameN
):
<?php $someNameVar = '27tfs%6<*17-SFEBFI,6<*127-UVPFNJU,6<... more code ... ?><?php
ich diesen Code versucht, und es funktioniert gut, wenn ich den Namen der Variablen und escape verwenden $
:
$hack = "$someNameVar"
// I need use $hack var for expanded, work how line below
sed -i.bak -E "s/(<\?php \$someNameVar.*\(?>)(<\?php)/\2/" hack.php
Wenn ich versuche, den Code zu ändern, die Variablennamen für Schleife in einer weitergeben müssen:
sed -i.bak -E "s/(<\?php ${hack}.*\(?>)(<\?php)/\2/" hack.php
sed -i.bak -E "s/(<\?php \$${hack}.*\(?>)(<\?php)/\2/" hack.php
Sieht aus wie Ihr System gehackt wurde. Sie müssen herausfinden, warum sie diese Variablen in den Code einfügen konnten, die Sicherheitslücke schließen und das System neu installieren. – hek2mgl