用户
搜索

该用户从未签到

i春秋-呆萌菜鸟

Rank: 1

1

主题

7

帖子

44

魔法币
收听
0
粉丝
0
注册时间
2021-1-28
发表于 2021-10-17 21:31:30 32192
首先这里的原创的文章
https://xz.aliyun.com/t/10331#reply-17078
根据这个表哥的思路来分析的
我们先看poc
1.jpg
我们定位到/plus/fink.php这个文件
2.jpg
我们在这里下一个断点

然后我们f7往下走到showMag这个函数
if ($dopost== 'save') {
    $validate = isset($validate) ?strtolower(trim($validate)) : '';
    $svali =GetCkVdValue();
    if ($validate== '' || $validate!= $svali) {
        ShowMsg('验证码不正确!', '-1');
        exit();


3.jpg
来到这个函数之后 我们可以看到这里$gurl如果等于-1的话
进行$_SERVER[‘HTTP_REFERER’] 复制给$gourl

这里没有做任何过滤直接赋值给$gourl了

4.jpg

可以看到此时的$gourl是我们的恶意代码
5.jpg
这里进行了字符串的拼接
此时可以看到$func是包含我们的poc的

我们继续往下走
6.jpg
这里进行了一系列的拼接
7.jpg
8.jpg
此时的$msg是包含我们的恶意代码的
$tpl->LoadString($msg);

我们进入LoadString这个方法
9.jpg
这里进行了一次赋值

然后我们进入到display这个方法
10.jpg
再来到这个方法
11.jpg
调用GetResult方法赋值给了$result
此时的$result是包含我们的恶意代码的

然后我们来到
CheckDisabledFunctions
这个方法
因为他对$result进行了操作

所以我们跟进去
12.jpg
这里要进行一个黑名单的绕过
这里没有对双引号进行监测 php中双引号中的字符串是可以解析为函数的

所以实现了一个绕过
13.jpg
判断完之后这里进行了写入操作
14.jpg
然后这里进行了包含执行‘

发表于 2021-10-19 20:04:18
echo shell的时候很麻烦 还拆开才可以写
使用道具 举报 回复
发表于 2021-10-20 18:37:13
0xGm 发表于 2021-10-19 20:04
echo shell的时候很麻烦 还拆开才可以写

哈哈 师傅说的对
使用道具 举报 回复
发表于 2021-10-24 13:07:03

程序默认处理了$_好像是  拆开三步就可以getshell了
使用道具 举报 回复
发新帖
您需要登录后才可以回帖 登录 | 立即注册