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

(哦对了!这些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://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

原文地址:https://www.cnblogs.com/Cl0ud/p/12346207.html

时间: 2024-08-11 02:46:38

代码审计【根据功能点定向审计】BugFree ZSWiin重装案例的相关文章

Form_通过FND_FNDFLUPL标准功能上传CSV控件(案例)

2014-06-08 BaoXinjian 一.总结 1. 上传资料 (1).通过调用function<FND_FNDFLUPL>,打开上传文件页面: (2).从表fnd_lob_access和fnd_lobs中取出文件名放在form画面上: 2. 对dbms_lob中的二进制文件进行处理 (1).通过dbms_lob.converttoclob将二进制文件转换成字符文件: (2).通过dbms_lob.instr和dbms_lob.substr在字符文件获取字符串记录: 3. 对获取资料放入

代码审计思路以及php配置

5pe25YWJ5aaC6aOO6L2m77yM5Y205LiN5Lya6L2u5Zue44CC5pyd6Zye5LiO5aSV5pmW77yM5Y+q5Zyo6L2s55Sf44CC 今天学了php代码审计的思路以及php配置的讲解, 1.了解MVC: MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性

代码审计的思路及流程

0x00MVC关系: 0x01通读原文 0x03敏感关键字回溯参数 0x04查找可控变量 0x05功能点定向审计 原文地址:https://www.cnblogs.com/wangtanzhi/p/12173552.html

Java代码审计连载之—添油加醋

在代码审计中,按业务流程审计当然是必须的,人工的流程审计的优点是能够更加全面的发现漏洞,但是缺点是查找漏洞效率低下.如果要定向的查找漏洞,逆向跟踪变量技术就显得更加突出,如查找XSS.SQL注入.命令执行--等等,逆向查找变量能够快速定位漏洞是否存在,本次已SQL注入为例. 本文作者:黑客小平哥,i春秋首发 前言 本篇文章原本是个PPT,但是一直放着没有分享,想着闲着也是闲着,那就改成文章发布吧.其实本篇重点在于两个知识点,一个是代码审计的逆向思维,另一个是二次攻击漏洞,其他的我都省略了,就写几

自动化审计

尹毅大牛发了个审计系统,但是毕竟源码不公开,我也没有办法修改代码来实现自己想要实现的功能. 既然想搞审计,写个脚本框架吧. 目前的想法: 1.如何用python扫描一个目录下的所有文件,并逐个检查文件内容? 果然,如果没有决定要学习,事情不会进展下去: 两段脚本: 打印出一个文件夹下所有的php文件,包括子文件夹都列举出来: import os def main(name,*types): for root,dirs,files in os.walk(name): for f in files:

espcms代码审计

以前的代码审计都是在CTF比赛题里面进行对于某一段代码的审计,对于后端php整体代码和后端整体架构了解的却很少,所以有空我都会学习php的代码审计,以提高自己 环境就直接用的是phpstudy,学习的前期对于环境的搭建以能够满足我们学习的需求即可,没有必要将每个组件分开安装,反而本末倒置了. 使用的代码审计工具是 Seay源代码审计系统 同时参考书籍也是尹毅的 <代码审计-企业级web代码安全架构 > 作者的博客: https://seay.me/ espcms是2014版本的. 我们使用se

腾讯云TDSQL审计原理揭秘

版权声明:本文由孙勇福原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/244 来源:腾云阁 https://www.qcloud.com/community 作者简介:孙勇福,腾讯云高级工程师,负责腾讯云TDSQL产品研发,毕业至今一直从事数据存储系统运维和研发工作,在数据库领域以及NoSQL领域具有丰富的运维和开发经验. 开源数据库往往不具备商业数据库一样的高端能力,但是却因简单易用,无需license费用等深得大家喜

代码审计学习之反射型XSS

0x01 基础介绍 xss漏洞分类:一般来说分三种 反射型XSS 保存型XSS 基于DOM的XSS 今天先学习反射型xss:它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析.执行.它的特点是非持久化,必须用户点击带有特定参数的链接才能引起. 0x02 造成原因及利用 一般来说,许多漏洞造成的原因都是因为对用户的输入太信任造成的,没有进行严谨的过滤,通常在代码审计的过程中,审计获取用户输入的函数或者操作如存储等等 一.对变量直接输出 例如: <?

oracle_审计

这篇文章主要简单的讨论一下Oracle的审计功能,包括粗粒度审计.细粒度审计(FGA) 原文: http://blog.csdn.net/xuliq/article/details/51374287 dba_obj_audit_opts:一般的标准审计视图 DBA_AUDIT_POLICIES是细粒度的视图 DBA_AUDIT_POLICIES describes all fine-grained auditing policies in the database. Its columns ar