代码审计【根据功能点定向审计】BugFree ZSWin重装案例
(哦对了!这些CMS代码不要安装在服务器上,先不说它们用来代码审计本身就是有漏洞的,而且在网上下载下来,也不能保证没有源码是否被篡改而留有后门,就安装在本地进行代码审计的练习即可)
我们先下载BugFree的源代码
http://47.94.132.67/tools/index.php?share/file&user=1&sid=HDwfQMeK
BugFree安装文件在install\index.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.6\App\User\Conf的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://xz.aliyun.com/t/5877#toc-4
代码审计【根据功能点定向审计】BugFree ZSWin重装案例的更多相关文章
- phpcms v9 的表单向导功能的使用方法 附多个案例
本文主要介绍phpcms v9的表单向导功能是如何使用的,并副多个案例讲解: 先介绍一下v9 的表单向导如何使用 表单向导做的很实用,生成一个表单,常用的是把它作为一个留言板,或者在招聘栏目作为一个供 ...
- Java基础知识强化75:正则表达式之分割功能(字符串中的数字排序案例)
1. 案例分析: 我有如下一个字符串:"91 27 46 38 50" 写代码实现最终输出结果是:"27 38 46 50 91" 分析: (1)定义一个 ...
- Form_通过FND_FNDFLUPL标准功能上传CSV控件(案例)
2014-06-08 Created By BaoXinjian
- PHP代码审计(初级篇)
一.常见的PHP框架 1.zendframwork: (ZF)是Zend公司推出的一套PHP开发框架 功能非常的强大,是一个重量级的框架,ZF 用 100%面向对象编码实现. ZF 的组件结构独一无二 ...
- linux的审计功能(audit)
为了满足这样的需求:记录文件变化.记录用户对文件的读写,甚至记录系统调用,文件变化通知.什么是auditThe Linux Audit Subsystem is a system to Collect ...
- 代码审计之XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
- php代码审计一些笔记
之前学习了seay法师的代码审计与及80sec的高级审计,整理了一些笔记在印象里面,也发到这里作为记录 1,漏洞挖掘与防范(基础篇) sql注入漏洞 挖掘经验:注意点:登录页面, ...
- Java代码审计连载之—添油加醋
在代码审计中,按业务流程审计当然是必须的,人工的流程审计的优点是能够更加全面的发现漏洞,但是缺点是查找漏洞效率低下.如果要定向的查找漏洞,逆向跟踪变量技术就显得更加突出,如查找XSS.SQL注入.命令 ...
- [代码审计]XiaoCms(后台任意文件上传至getshell,任意目录删除,会话固定漏洞)
0x00 前言 这段时间就一直在搞代码审计了.针对自己的审计方法做一下总结,记录一下步骤. 审计没他,基础要牢,思路要清晰,姿势要多且正. 下面是自己审计的步骤,正在逐步调整,寻求效率最高. 0x01 ...
随机推荐
- 安装node.js和vue
1.在官网上下载Node.js安装包 https://nodejs.org/zh-cn/ 2.点击安装,一直下一步下一步就行,这里就不在赘述了. 3.安装完之后,如果没有选安装路径的话,一般都是在[ ...
- 1+X云计算 应用商城系统(gpmall)-遇到的问题以及解决办法
1+X云计算 应用商城系统(gpmall)-遇到的问题以及解决办法 问题1: 关于网站访问(打不开或者连接不上服务器的问题): 没有关闭selinux和防火墙,是访问不了网站 [root@mall ~ ...
- Zabbix实现电话告警通知的配置方法分享
如果要讨论下当下热门的监控系统,我想zabbix应该能够占有自己的一席之地,拥有不小的话语权吧.然而身为一名苦逼的运维,为了不错过重大的告警信息,就需要配置个[电话告警]来进行最快速的通知. zabb ...
- 【JVM第四篇--运行时数据区】堆
写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.堆的概述 JVM的运行时数据区如下: 一个Java程序运行起来对应着一个进程(操 ...
- 《GNU_makefile》第六章——变量
makefile中的变量特征和C语言中的宏一样. 变量使用 =,:=,?= 和 define 定义 一些特殊的自动化变量:$< $@ $^ $* 1.变量的引用 通过 $(VAR) 或 ${VA ...
- 协程gevent模块和猴子补丁
# pip 装模块 greenlet和gevent # 协程 # 与进程.线程一样也是实现并发的手段 # 创建一个线程.关闭一个线程都需要创建寄存器.栈等.需要消耗时间 # 协程本质上是一个线程 # ...
- Linux提权(持续更新)
利用/etc/passwd提权 个人认为,这种提权方式在现实场景中难以实现,条件太过苛刻,但是建立Linux下的隐藏账户是个不错的选择,灵感来自:https://www.hackingarticles ...
- Macos系统上怎么自动下载任务
相对于Windows系统来说,好用的Mac下载工具就显得比较少了.Folx作为Mac下载工具中的佼佼者,其自动化下载功能受到很多Mac系统用户的欢迎. 随着高清影视的发展,很多影视资源体动辄就是1-2 ...
- Mac电脑数据被误删了怎么办,还能恢复吗
随着苹果产品的使用率越来越高,苹果电脑视频丢失的风险也是居高不下,大部分情况下都是由于误操作或者是中病毒导致视频丢失,苹果电脑视频恢复可以实现吗?涉及到文件恢复的问题,找EasyRecovery文件恢 ...
- 企业BI智能大屏,除了页面炫酷,还能带来什么?
当我们一谈到可视化大屏,超大画面.超强科技感.酷炫的呈现效果就会出现在我们的脑海中. 所谓数据可视化,就是通过图表.图形.地图等视觉元素,将数据中所蕴含的信息的趋势.异常和模式展现出来.与传统报表相比 ...