漏洞概要
关注数(24)
关注此漏洞
漏洞标题:ACFUN分站再次GETSHELL变量覆盖漏洞分析与利用
提交时间:2013-05-14 08:36
修复时间:2013-06-28 08:37
公开时间:2013-06-28 08:37
漏洞类型:命令执行
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2013-05-14: 细节已通知厂商并且等待厂商处理中
2013-05-14: 厂商已经确认,细节仅向厂商公开
2013-05-24: 细节向核心白帽子及相关领域专家公开
2013-06-03: 细节向普通白帽子公开
2013-06-13: 细节向实习白帽子公开
2013-06-28: 细节向公众公开
简要描述:
最近在学代码审计..找个软柿子下手= 3 =.
感谢@t00000by57 提供的利用思路.
详细说明:
但常在河边走哪有不湿鞋?extract + global早晚是要出问题的..
直接进入正题:
\include\common.inc.php -Line12
后引入config避免覆盖重要变量.
gstrfilter过滤:
\include\global.inc.php -Line48
重要变量靠'现取现用'再加上过滤就可以从一定程度上避免因为偷懒拼接sqlquery产生的问题了..至少在大部分代码中没问题..
关键在这里:
\command.php -Line3
\command.php -Line92
team.func.php中存在两个方法,建立队伍function teammake($tID,$tPass)和加入队伍 function teamjoin($tID,$tPass),依靠$command传来的指令选择,但是感觉像是程序员在偷懒的时候忘记了上面extract解包?
漏洞证明:
构造请求:
$_POST['mode']='team',
$_POST['command']='call_user_func',
$_POST['nteamID']='assert',
$_POST['nteamPass']='phpinfo()'。
修复方案:
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2013-05-14 09:19
厂商回复:
已向大逃杀通报
最新状态:
暂无