zoukankan      html  css  js  c++  java
  • fiyocms 2.0.6.1版本漏洞复现及分析

    0x00 前言

    0x01 任意文件上传

    1.漏洞复现

    漏洞位置:Dashboard》Themes》default》Files
    在这里插入图片描述
    点击Simpan时抓包,将src参数和content参数修改为新建文件名和其内容
    在这里插入图片描述
    嗯哼~~
    在这里插入图片描述

    2.代码分析

    位置:fiyocms/dapur/apps/app_theme/libs/save_file.php
    在这里插入图片描述
    从27行代码可以看到利用file_get_contents()函数将c参数的内容保存到f参数的文件上,但是没有对f和c进行任何处理,直接通过POST方法传值,从而造成任意文件上传漏洞。

    0x02 任意文件读取

    1.漏洞复现

    漏洞位置:admin》Themes》default》Files
    点击index.php时抓包
    在这里插入图片描述
    修改参数,读取成功
    在这里插入图片描述

    2.代码分析

    位置:/dapur/apps/app_theme/libs/check_file.php
    在这里插入图片描述
    从第13、14行代码可以看出,通过get方法得到文件路径和文件名后进行拼接直接赋值给$file,再赋值给$furl,然后没有经过任何处理直接在23行通过file_get_contents()方法读取$furl,因此存在任意文件读取漏洞。

    0x03 任意文件删除

    1.漏洞复现

    漏洞位置:admin》Settings》Backup
    点击Backup时抓包
    在这里插入图片描述
    修改file参数
    在这里插入图片描述
    删除成功~~
    在这里插入图片描述

    2.代码分析

    位置:dapurappsapp_configcontrollerackuper.php
    在这里插入图片描述
    从第16行代码可以看到,当判断备份类型为database后直接通过unlink函数对文件进行删除,并且文件位置只是通过POST方法传值没有经过任何处理就和../../../../.backup/进行拼接,造成任意文件删除漏洞。

  • 相关阅读:
    POJ 2923 Relocation (状态压缩,01背包)
    HDU 2126 Buy the souvenirs (01背包,输出方案数)
    hdu 2639 Bone Collector II (01背包,求第k优解)
    UVA 562 Dividing coins (01背包)
    POJ 3437 Tree Grafting
    Light OJ 1095 Arrange the Numbers(容斥)
    BZOJ 1560 火星藏宝图(DP)
    POJ 3675 Telescope
    POJ 2986 A Triangle and a Circle
    BZOJ 1040 骑士
  • 原文地址:https://www.cnblogs.com/0nc3/p/12071258.html
Copyright © 2011-2022 走看看