MoR03r MoR03r's Blog
新秀(sinsiu)cms代码审计小计
发表于 2018-7-20 | 综合

sinsiu PHP 1.0 final 不多说,先上了Seay源代码审计系统,查看了一些东西

/content/uploadfile/201807/84081532066231.png

然后跟了一下,在admin/module/file/deal.php 第69~71行这里发现没有对数据以及文件名进行任何过滤

/content/uploadfile/201807/31be1532066234.png

跟进post函数,位置为include/function.php 第198~201行,从上一步获取两个参数,第二个参数没有使用默认的strict,而是no_filter

function post($val,$filter = 'strict')
{
    return $filter(isset($_POST[$val])?$_POST[$val]:'');
}

no_filter函数

function no_filter($str)
{
    if(get_magic_quotes_gpc())
    {
        $str = stripslashes($str);
    }
    return $str;
}

既然没有做任何过滤,那就任意写文件咯 后台->文件管理->语言设置->en-us 修改->随便选一个文件点击修改,然后开启burp抓包

/content/uploadfile/201807/7ce01532066234.png

直接修改其中的path和lang_text

/content/uploadfile/201807/c1801532066235.png

访问shell地址

http://localhost/languages/en-us/admin/fuck.php

/content/uploadfile/201807/9b571532066236.png

TOP