opensns最新版10.20无限制Getshell

这个洞挖了很久了官方几次更新都没修复问题。问题出现在/api/uc.php上

变量code从get中获取后经过_authcode函数解密成字符串 赋值到变量中,如果GPC开启则stripslashes取消转义
我们再来看函数_authcode

而程序默认安装的UC_KEY 为123456,_authcode算法自行加密,那么所有请求几乎无视GPC。又回到/api/uc.php

又看到这一句
$configfile = preg_replace(“/define\(‘UC_API’,\s*’.*?’\);/i”, “define(‘UC_API’, ‘”.addslashes($UC_API).”‘);”, $configfile); //修复漏洞 –駿濤
这里虽然有addslashes,但是我们写入的eval($_POST[DOM]);一句话脚本是不需要 单引号和单撇号的,所以无视函数,随意写入一句话代码

我们开启UC在/api/config.php
define(‘UC_SYNC’, 1); 设为1就为开启
Getshell

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录