代码审计根据功能点定向审计BugFree ZSWiin重装案例

Posted cl0ud

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码审计根据功能点定向审计BugFree ZSWiin重装案例相关的知识,希望对你有一定的参考价值。

(哦对了!这些CMS代码不要安装在服务器上,先不说它们用来代码审计本身就是有漏洞的,而且在网上下载下来,也不能保证没有源码是否被篡改而留有后门,就安装在本地进行代码审计的练习即可)

我们先下载BugFree的源代码

http://47.94.132.67/tools/index.php?share/file&user=1&sid=HDwfQMeK

BugFree安装文件在installindex.php下,我们打开文件:

技术图片

 

 确实可以在安装的时候,检查了install.lock锁文件是否存在,如果不存在的话就不进入该条件判断语句,存在则由header重定向至index.php

由于没有die()或者exit(),这个跳转只是HTTP头的跳转,下方的代码仍然会执行

虽然浏览器会自动跳转到首页,但是我们可以使用burpsuite进行拦截,从而来到安装页面

技术图片

 

 在安装了一次之后,我们在burpsuite里面再次访问install/页面,可以看到又一次来到了安装界面

 

重装漏洞的危害:

  1,在安装时写入配置文件时getshell

    因为我们安装的时候都会填写一些配置信息,填写的时候如果CMS没有正确过滤的话,我们就可以成功写入一句话木马从而getshell

  2,重装后登录后台getshell

    重装了之后都会给管理员一个初始密码,拿到初始密码之后我们登录后台,寻找能够getshell的点,如头像上传之类的地方绕过上传一句话木马进而getshell

 

 

在安装时写入配置文件时getshell

我们可以看这个例子:

首先下载zswin源代码:http://47.94.132.67/tools/index.php?share/file&user=1&sid=kNZVTzab

该博客CMS也存在重装漏洞,并且我们可以尝试在配置文件中写入shell

安装好博客之后,我们访问

http://127.0.0.1/zswinsns-blog2.6/install.php?m=install&c=index&a=setconf

又来到了安装页面,证明重装漏洞存在,这里我们主要展示在配置文件中写入shell

技术图片

 

 而我们在这里填写的内容,会保存在ZswinSNS-Blog2.6AppUserConf的config.php文件中

技术图片

 

 我们可以看到输入的数据是使用单引号包裹的

所以我们在重装时可以这样填写数据表前缀

zs_‘);phpinfo();//

 技术图片

也就是这样,很明显语句到了config.php文件中就会变成:

define(‘UC_TABLE_PREFIX‘, ‘zs_‘);phpinfo()//‘); 

 即数据库表前缀还是zs_,但是还在config.php文件里面执行了phpinfo()函数,当然在这里我们也可以写入一句话木马

技术图片

 

 创建成功后,我们去访问config.php即:http://127.0.0.1/zswinsns-blog2.6/App/User/Conf/config.php

技术图片

 

 成功回显了phpinfo.php

不过这个时候我们去访问网站首页的时候,有报错信息

技术图片

 

 应该是修改了表前缀之后数据库里的表没有正确的创建,从而导致访问网站也出错了,除了写入木马一无是处 :)

 

参考链接:

https://sosly.me/index.php/2018/04/03/php_daimashenji2/

https://threezh1.com/2019/05/18/PHP%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1%E4%B9%8B%E9%87%8D%E8%A3%85%E6%BC%8F%E6%B4%9E/#%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0-1

https://xz.aliyun.com/t/5877#toc-4

以上是关于代码审计根据功能点定向审计BugFree ZSWiin重装案例的主要内容,如果未能解决你的问题,请参考以下文章

代码审计那些代码审计的思路

BUU 302重定向php代码审计文件包含漏洞-[极客大挑战 2019]Secret File

熊海cms v1.0 完全代码审计

oracle 审计功能

第一次代码审计---消息果CMS

PHP 代码审计之死磕 SQL 注入