找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 93|回复: 0

Discuz_X3.4最新网站漏洞

[复制链接]

983

主题

83

回帖

5万

积分

管理员

积分
53122
发表于 2022-6-25 08:51:18 | 显示全部楼层 |阅读模式
Discuz_X3.4最新网站漏洞
影响版本:Discuz_X3.4
漏洞类型:配置文件写入导致代码执行
Discuz_X3.4发布地址:http://www.discuz.net/forum-10-1.html
问题文件: \upload\install\index.php
$ a; _! E8 D! j' g/ {4 X3 S5 B4 g
漏洞复现:
首先在发布地址下载3.4版本对应的安装包,解压后放入运行环境(我这里是win7+PHP,放入WWW内)。
; Y( {9 S3 ^: [6 \
在浏览器中输
入相应的路径,安装Discuz3.4.

' `( c7 C" Z" ]: y( o; W
2 K5 M8 `! G1 r' C$ d8 o
在创建数据库的界面进行抓包。

& a% E1 f5 z- U. m
把%5Btablepre%5D=后边的内容修改为pre_’);phpinfo();//然后forward,随后开始安装。
安装完毕后在ComsenzDiscuz-DiscuzX-master\DiscuzX\upload\uc_server\data的config.inc.php文件中可以看到如下:

- y1 R5 @$ B0 t9 y& Y* D% x9 h; f. Z
这里的内容变为我们抓包时修改的内容。在浏览器中访问ComsenzDiscuz-DiscuzX-master/DiscuzX/upload/uc_server/data/config.inc.php可以访问到我们修改后的phpinfo的界面。
( h# L2 G5 q/ U1 ^- T

8 l" ]# d5 {0 `. u+ Y- a3 v$ k
$ ]) {4 k. ~5 A  Y* V, K+ R  p8 R* C/ T

( {8 P+ s$ g% o+ J" H
- b; y9 c) X8 r' h! N! s2 R2 w$ o8 p% @: O, ]6 T. E

" b3 x* C1 W8 f$ O2 j3 h7 b& J
% u! A4 r0 f& Y0 K
4 x; |; Y3 u1 {2 R2 P
漏洞分析:
漏洞成因:当cms安装过程中对配置文件config进行写入的时候,如果对写入的内容没有进行很好的过滤,就会把参数写入到config的代码总从而被执行。
6 t2 s1 S- D9 F, J* Y2 ^

. a5 V7 q# J  U+ m5 C0 O: M/ e2 o. D$ C  f+ v5 Y! v
通过查看DiscuzX\upload\install\index.php的配置文件,在代码的357行处发现save_config_file()函数

  _+ V( |- t% f- c$ U2 x7 I* T& r) T1 w% L- I3 R/ X/ A& c9 N
save_config_file(ROOT_PATH.CONFIG, $_config, $default_config);
. h  h+ t8 H1 k% q  J; b
判断出函数作用是保存写入配置信息,其中,ROOT_PATH.CONFIG为文件的路径,$_config为配置文件的内容,$default_config为默认配置。
! `' q; W( u) \; |+ z
这里我们可以看出,首先判断了默认配置文件是否存在,如果不存在将会抛出错误:退出(‘CONTIGNGULALLUL DEFUCT.PHP丢失,请重新上传该文件。’);否则将配置文件的内容传送给默认配置文件。
& t& c: o& G1 C

. J/ m( l5 @4 B1 d2 J7 F+ y8 b2 V$ e( c

) j2 f6 W5 T8 G6 Y2 ^
判断是否post里面有内容,如果有的,使用post里面的内容,如果没有的,默认值是空字符串。
/ A; F! J+ y2 F9 E
在这里看到了dbinfo的传入,使用$_post方法传入dbinfo中的内容,但是可以看到没有对传入参数有任何过滤,直接把dbinfo中的参数传入进来造成漏洞。
( j" m# q0 m% r. c" b! R
1 L2 Q5 b: _" R8 U% d, r8 r. R
+ \6 t, `: M/ C; U1 c" G. Q
我们在抓包后,把%5Btablepre%5D=后边的内容修改为pre_’);phpinfo();//
即把pre_’);phpinfo();//上传到配置文件中从而使括号闭合‘//‘会注释掉后边自动补充的内容,因此在执行这个配置文件时会跳转到phpinfo的界面。
  `- |" s# W& v& ?3 m/ |+ o8 \$ V
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|返回首页

GMT+8, 2024-12-24 00:21 , Processed in 0.115126 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表