我们定位到/plus/fink.php这个文件
我们在这里下一个断点
然后我们f7往下走到showMag这个函数
if ($dopost== 'save') {
$validate = isset($validate) ?strtolower(trim($validate)) : '';
$svali =GetCkVdValue();
if ($validate== '' || $validate!= $svali) {
ShowMsg('验证码不正确!', '-1');
exit();
来到这个函数之后 我们可以看到这里$gurl如果等于-1的话
进行$_SERVER[‘HTTP_REFERER’] 复制给$gourl
这里没有做任何过滤直接赋值给$gourl了
可以看到此时的$gourl是我们的恶意代码
这里进行了字符串的拼接
此时可以看到$func是包含我们的poc的
我们继续往下走
这里进行了一系列的拼接
此时的$msg是包含我们的恶意代码的
$tpl->LoadString($msg);
我们进入LoadString这个方法
这里进行了一次赋值
然后我们进入到display这个方法
再来到这个方法
调用GetResult方法赋值给了$result
此时的$result是包含我们的恶意代码的
然后我们来到
CheckDisabledFunctions
这个方法
因为他对$result进行了操作
所以我们跟进去
这里要进行一个黑名单的绕过
这里没有对双引号进行监测 php中双引号中的字符串是可以解析为函数的
所以实现了一个绕过
判断完之后这里进行了写入操作
然后这里进行了包含执行‘
发表评论 取消回复