0x00 前言

好久没有更新了,已经长草无疑。

之前团队要搞个测验的系统,用来安全培训考核,团队内又没啥人搞开发的,自己又想学一下vue,就用vue+ci 撸了一个。

搞了一个星期基本搞完(开发能力真的菜),后面又测试修了几天bug,这才有点时间研究一下其他的,本来今天还有一篇文章的,但是有一些其他原因暂时就不发了。

有一个计划是想把先知通用列表的软件都研究一下,慢慢搞起来。

0x01 wdcp安装和简介

为什么选择wdcp呢?主要是因为之前在先知看到了一个宝塔面板的漏洞,随想找一些主机面板的软件研究一下,而先知通用列表里面就有一些。

那么先从wdcp开始,分析一下wdcp的源码。

从官网介绍开始(https://www.wdlinux.cn/wdcp/install.html),我们知道wdcp的安装有两种方式,一种是源码安装的方式,另一种RPM包安装,这里为了研究我们选择用源码安装。

下载lanmp_laster.tar.gz,解压发现都是一些shell文件。一是安装的shell,二是配置的conf文件。

为了方便就开了一个腾讯云的ubuntu实验室,来测试。(主要是没钱)

安装

wget http://dl.wdlinux.cn/lanmp_laster.tar.gz
tar zxvf lanmp_laster.tar.gz
sh lanmp.sh

等了将近三十分钟安装好了。

目录放不了了,腾讯云到时间了,没截图。

大概凭借着记忆列一下关键的信息

1,wdcp的存放目录都在/www/wdlinux/下

2,/www/wdlinux/web/default  目录下放着的是80端口的页面 包含了安装完成的主页面、探针、phpinfo等,与及一个phpmyadmin,这个phpmyadmin的目录名是有pma_xxx组成.

3,/www/wdlinux/wdcp/目录下放着8080端口,也就是后台页面的一些东西,比如/www/wdlinux/wdcp/data/ 目录下放着一个名为wdlinuxdb.db的sqlite3数据库,有几张表,用于记录登录日志,后台用户,ftp,网站,任务等信息。

4,其中/www/wdlinux/wdcp/bin/ 目录下放着一个wdcp的执行文件,所有的后端逻辑都在里面。

目录大概就这样,登进后台看了一下:

  1,web和mysql默认账号密码为 admin/wdlinux.cn 和root /wdlinux.cn,基础信息。但是密码不是在第一次登录进去之后就强制让用户修改的,只是提醒而已。

  2,cookie是httponly的

  3,用超级管理员admin修改时,原密码可以不用输入,那么如果我们有后台xss的话就可以修改密码了。

  4,其他的一些建站,ftp等没有看。

0x02 攻击思路

根据现有的东西进行扩展联想:

1,首先是是否存在有绕过后台验证的方法?

思路是:sqlite3会记录登录日志,登录日志会在web页面中展示,然后admin修改密码是不用输入原密码的。

我们是否可以在登录的时候放一个xss?

web页面展示的字段有:登录的用户名,登录密码前两位,登录的ip。

  1,用户名和密码的xss payload测试,发现<>\'等都无法在用户名字段中插入,程序有过滤。

  2,密码字段虽然可以插入脏字符存储在数据库中,但只有两位可控,且后台展示页面已经做了过滤。

  3,登录ip尝试用X-Forwarded-For ,Client-IP等请求头来绕过皆无果。

由于不知道后端是怎么请求的,尝试用fuzz一下用户名的可容纳长度,尝试截断或者溢出,但测了将近10w多个字符依旧没有问题,暂时放弃了。

2,前台可访问的东西

转眼去看其他的东西,发现在wdcp v3的时候新增了一个phpmyadmin在80端口中

但是有8位字符是随机的。

基于此有这么一个攻击思路:pma目录名8位字符,如果能够爆破(存在问题),基于人性弱点考虑,或许很多用户只是把后台管理的用户名和密码改了,

而mysql的默认密码没改,或者说因为mysql在内部,使用弱密码的可能性也是很大的,那么我们利用phpmyadmin来getshell也是完全有可能的。

首先寻找phpmyadmin目录名的生成方法,在源码压缩包里面,搜索pma,找到了生成方式:

其中$RANDOM 变量为0--32767 ,随机之后进行md5sum,之后截取前8位;

注意这里的命令:

echo $RANDOM | md5sum

是会在随机之后加入一个换行符的,所以实际上生成的应该是这样:

随机生成的数字为:1234,那么在后面加一个换行符"\n",之后再进行md5。

在用php生成字典的时候踩出来的坑。

所以其实爆破最多也就32768个而已,用不了多久。放一个爆破成功的截图:

0x03 小结

就暂时研究到这里,之后会进行深入研究,比如后台其他的一些功能,以绕过后台验证为优先,也会尝试对wdcp的执行文件反编译,看能不能提取出源码。(binwalk了一下,没有深入)

[软件研究]对wdcp v3的一次小研究#1的更多相关文章

  1. WDCP V3.2面板安装且新增PHP多版本和免费Let's Encrypt SSL证书

    文章原文:http://www.itbulu.com/wdcp-v32.html 我们很多网友对于WDCP面板应该算是比较熟悉的,老蒋在博客中也多次分享WDCP面板的相关教程内容,因为在平时帮助网友解 ...

  2. wdcp v3 pureftpd 无法登录问题解决

    wdcp v3 新建站点和ftp账号 单位无法登录ftp 在端口中也确实可以看到有进行在登录状态 错误原因: 防火墙端口没有开启该端口范围  20000-30000 这时候发现 改端口为20078  ...

  3. wdCP V3.2

    wdCP是什么?关于wdCP更多的介绍,可看http://www.wdlinux.cn/wdcp/安装前先去体验下,看演示站吧http://www.wdlinux.cn/bbs/thread-5285 ...

  4. WDCP v3 安装

    ---已更新至3.0.3---经过近期的努力,wdCP_v3正式版终于可以和大家见面了v3功能预览1 底层完全重新架构,更安全稳定,省资源更高效2 安装更简单,快速与方便3 功能更强大和易扩展,且完美 ...

  5. 开源敏捷测试管理& 开源BUG跟踪管理软件itest(爱测试) V3.3.0隆重发布

    v3.3.0 下载地址 :itest下载 码云源码地址 https://gitee.com/itestwork/itest 开源中国  itest项目地址   https://www.oschina. ...

  6. wdCP v3.3.8apache阿里云ssl证书实现智慧软文http转换https的详细操作教程

    先展示一下效果:智慧软文发布系统(https://www.zhihuiruanwen.com) 之前用的是传统的http,发现360浏览器,火狐浏览器,谷歌浏览器均提示不安全的链接,最主要的是第一次打 ...

  7. 开源敏捷测试管理& 开源BUG跟踪管理软件itest(爱测试) V3.3.1小改紧急发布及正实现功能预告

    v3.3.1 下载地址 :itest下载 码云源码地址 https://gitee.com/itestwork/itest 开源中国  itest项目地址   https://www.oschina. ...

  8. wdcp v3 Forbidden :You don't have permission to access /phpmyadmin on this server

    First edit the file /www/wdlinux/apache/conf/vhost/00000.default.conf and add the additional line to ...

  9. 关于C#中readonly的一点小研究

    可能园子里有不少文章已经说明了这个问题了,但是我在这里写这篇博客只是写写自己的一些体会,也权当是整理归纳,高手莫见笑. ===============正文分割线================== 现 ...

随机推荐

  1. Python 爬虫学习

    #coding:utf-8 #author:Blood_Zero ''' 1.获取网页信息 2.解决编码问题,通过charset库(默认不安装这个库文件) ''' import urllib impo ...

  2. 【转】Python之装饰器

    [转]Python之装饰器 本节内容 必要知识回顾 情景模拟 装饰器的概念及实现原理 回马枪(带参数的装饰器) 一. 必要知识回顾 在开始说装饰器之前,需要大家熟悉之前说过的相关知识点: 函数即“变量 ...

  3. 没有备份怎么恢复被drop的表(利用undrop-for-innodb)

    介绍:     也许大家都难以理解,这么重要的数据为啥不备份(或者备份不可用)?而且还任性的drop table了.显然有备份是最好的,但是它们并不总是可用的.这种情况令人恐惧,但并非毫无希望.在许多 ...

  4. Qt Excel

    在pro文件添加 QT +=axcontainer 头文件 #include <QAxObject> void MainWindow::on_btnSelectFileDialog_cli ...

  5. 最新 macOS Sierra 10.12.3 安装CocoaPods及使用详解

    一.什么是CocoaPods 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm.随着 iOS 开发者的增多,业界也出现了为 iOS 程序 ...

  6. 使用ts-loader与webpack编译typescripts出现Module build failed: TypeError: Cannot read property 'afterCompile' of undefined

    解决方法 将ts-loader从4.0降低到3.1.1解决问题.是由于webpack和ts-loader版本不兼容造成的.

  7. 【linux】ubuntu下crontab无效解决方法

    在Debain的docker中启用crontab,踩了一整天的坑,特地记录一下.Debain和ubuntu差不多,故算在ubuntu下面了. 1.第一个坑,安装crontab apt-get inst ...

  8. LINUX UBUNTU 快捷键

    一.打开关闭终端 ctrl + alt + t //打开一个新终端 shift + ctrl +n //在打开终端的情况下再打开一个新终端shift + ctrl + q //关闭一个新终端 二.文件 ...

  9. poj1511,线段树扫描线面积

    经典题,线段树扫描线其实类似区间更新,一般的做法是想象一根扫描线从上扫到下或者从左扫到右,本题的做法是从上扫到下 只要扫到了一根水平线,就将其更新到线段树对应区间中,区间和它的子区间是独立更新的 #i ...

  10. 《剑指offer》-数组中只出现一次的数字

    /* 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 思路: 如果是只有一个数字出现一次,那么所有数字做异或就得到结果: 现在有两个数字x,y分别出现一次 ...