dz论坛Discuz_X3.4最新网站漏洞
近期我们sinesafe安全部门审计discuz最新版的时候发现配置文件写入导致代码执行的问题。cms安装的时候一般会分为几个步骤去进行,其中有对配置文件config进行写入的步骤,当写入的时候未严格限制传入的参数就存在代码执行问题。
源码信息:Discuz_X3.4_GIT_SC_UTF8
问题文件: \upload\install\index.php
漏洞类型:配置文件写入导致代码执行
站点地址:http://www.discuz.net/forum-10-1.html
直接看配置信息写入的代码段为 \upload\install\index.php
看到save_config_file()函数是保存写入配置信息的,配置信息为$_config这个数组,我们跟踪下这个数组;
还是这个文件,代码段为第266行;
这里的$forceinstall参数即为通过POST接收的配置信息数值为二维数组,看到里面的dbinfo了,这里程序本身未对传入的POST值进行任何过滤,也就存在代码执行问题了。
直接安装到写入配置信息的步骤;
填入正确的数据库用户名账号和密码之后抓包;
这时候看下具体配置文件,代码段为/upload/uc_server/data/config.inc.php;

我们以前缀dbinfo[table_pre]参数为利用,看到使用单引号和括号括起来,所以payload为;
payload = pre_’);phpinfo();//
发到上述抓包里点击安装即可写入配置文件;
这时候看这个配置文件;
直接访问这个文件即可执行;
http://127.0.0.1/Discuz_X3.4_GIT_SC_UTF8/dir_SC_UTF8/upload/uc_server/data/config.inc.php

这个漏洞原理比较简单,针对其防御方法是需要对传入的配置信息进行转义处理,这里只要转义单引号就可以了,但是刚开始我有疑惑的点就是这里的payload在实际情况下,我们需要通过类似“爆破”的思路去测试大量payload,但是由于“安装锁”的存在,安装一次就会锁定程序生成install.lock文件防止重装,也就是“爆破”不了,那么这个漏洞是不是就利用不了呢?为了解决这个疑问,我重新看了下安装时候的源码信息,发现这个漏洞还是可以利用的;
还是在安装的文件里,第478行,可以看到在写入配置信息到config文件之后,下面还会判断当methon为ext_info的时候进行其他操作即生成安装锁文件进行锁定,到这个步骤才是完整的安装操作,也就是和之前的写入配置信息是“分开”进行的,也可通过抓包去看,比较明显,是两个不同的数据包,互相不会干涉,写入配置信息的数据包不会锁定安装程序,所以导致可通过“爆破”去利用,程序这么去设计也是业务逻辑的需求吧,如果写入配置信息的步骤即可生成安装锁文件并且结束安装的话,这个漏洞就利用不了了,除非存在任意文件删除漏洞可以去删除install.lock这个文件。
dz论坛Discuz_X3.4最新网站漏洞的更多相关文章
- MetInfo最新网站漏洞如何修复以及网站安全防护
metinfo漏洞于2018年10月20号被爆出存在sql注入漏洞,可以直接拿到网站管理员的权限,网站漏洞影响范围较广,包括目前最新的metinfo版本都会受到该漏洞的攻击,该metinfo漏洞产生的 ...
- 网站漏洞修复案例之Discuz!3.4最新版本
Discuz!论坛目前最新版本为3.4版本,已经好久没有更新了,我们SINE安全在对其网站安全检测的同时发现一处漏洞,该漏洞可导致论坛的后台文件可以任意的删除,导致网站瘫痪,后台无法登陆.关于该网站漏 ...
- 齐博cms最新SQL注入网站漏洞 可远程执行代码提权
齐博cms整站系统,是目前建站系统用的较多的一款CMS系统,开源,免费,第三方扩展化,界面可视化的操作,使用简单,便于新手使用和第二次开发,受到许多站长们的喜欢.开发架构使用的是php语言以及mysq ...
- 网站漏洞修复之最新版本UEditor漏洞
UEditor于近日被曝出高危漏洞,包括目前官方UEditor 1.4.3.3 最新版本,都受到此漏洞的影响,ueditor是百度官方技术团队开发的一套前端编辑器,可以上传图片,写文字,支持自定义的h ...
- 如何让多个dz论坛共用一个用户数据库
用户数据库在论坛中是可以独立备份的,备份方法:论坛后台——站长——数据库,备份所有ucenter数据表,也就是用户数据.其他DZ论坛搭建完成以后,可以上传用户数据库,将备份文件使用上传至网站所使用的主 ...
- ecshop跨站漏洞详情及修补网站漏洞
ecshop目前最新版本为4.0,是国内开源的一套商城系统,很多外贸公司,以及电商平台都在使用,正因为使用的人数较多,很多攻击者都在挖掘该网站的漏洞,就在最近ecshop被爆出高危漏洞,该漏洞利用跨站 ...
- 网站漏洞检测之WordPress 5.0.0 系统修复方案
2019年正月刚开始,WordPress最新版本存在远程代码注入获取SHELL漏洞,该网站漏洞影响的版本是wordpress5.0.0,漏洞的产生是因为image模块导致的,因为代码里可以进行获取目录 ...
- 怎么修复网站漏洞 骑士cms的漏洞修复方案
骑士CMS是国内公司开发的一套开源人才网站系统,使用PHP语言开发以及mysql数据库的架构,2019年1月份被某安全组织检测出漏洞,目前最新版本4.2存在高危网站漏洞,通杀SQL注入漏洞,利用该网站 ...
- PrestaShop 网站漏洞修复如何修复
PrestaShop网站的漏洞越来越多,该网站系统是很多外贸网站在使用的一个开源系统,从之前的1.0初始版本到现在的1.7版本,经历了多次的升级,系统使用的人也越来越多,国内使用该系统的外贸公司也很多 ...
随机推荐
- Android学习——Fragment与Activity通信(二)
接下来就要到Fragment向Activity传输数据了.主要的思路,就是在Fragment中创建一个回调接口,利用该回调接口实现Fragment向Activity传输数据的功能. 回调函数(接口) ...
- API 的历史
原文出处: apievangelist 译文出处:灯下鼠 历史无处不在. 研究我们来自何方,有助于指引我们前行.科技的发展日新月异,但时常停一下匆忙的脚步,稍稍回顾一下历史,却总是有益的. 下面就 ...
- 【Leetcode】【Medium】Single Number
Given an array of integers, every element appears twice except for one. Find that single one. Note:Y ...
- Angular 5.x 学习笔记(1) - 模板语法
Angular 5.x Template Syntax Learn Note Angular 5.x 模板语法学习笔记 标签(空格分隔): Angular Note on github.com 上手 ...
- 作为软件技术人员建立自己的git账户并保存资料的重要性
日常生活中,当修改并保存了一个文件,所得到的就是此文件的最新版本,假若今后因某一问题需要用到原来文件,可是很多情况下,这种修改是不可逆的.你修改完之后,无法回到你修改前的样子.为了避免这种情况,有的人 ...
- memset赋初值的运用
int ”较“的原则:加法不爆. 极大值:0x7f 较大值:0x3f 较小值:0xc0 极小值:0x80 long long ”较“的原则:加法不爆. 极大值:0x7f 较大值:0x3f 较小值:0x ...
- 关于A*估价函数的总结
估价函数的优劣决定一个A*算法的好坏 360百科上是这样说的: (https://baike.so.com/doc/6223470-6436780.html) 关于估价函数h(n)与实际距离d(n)的 ...
- 【洛谷P1367】蚂蚁
蚂蚁 [题目描述] 在一根无限长的木棍上,用n只蚂蚁,每只蚂蚁有一个初始位置和初始朝向,蚂蚁们以每秒一个单位的速度向前移动,当两只蚂蚁相遇时,它们会掉头(掉头时间忽略不计).现给出每只蚂蚁的初始位置和 ...
- 【luogu P3865 ST表】 模板
跟忠诚是一样滴,不过是把min改成max就AC了.模板题. #include <cstdio> #include <algorithm> using namespace std ...
- 【luoguP1238】【NOIP2014】生活大爆炸版剪刀石头布
生活大爆炸版剪刀石头布 ——[传送门] 这道题可以原原本本地说得上是一道水题了,通过判断两人的出拳不同给分然后统计输出.就是对于游戏得分 ...