安全app之PHP代码审计

作者: 顶风作案7号 | 来源:发表于2022-03-11 16:54 被阅读0次

正文
源码结构如下,

image.png

经过我的一番菜鸡分析,application下,admin是admin后台,index是首页的方法,api是用户后台,还有一个wxapi好像是微信小程序的用户后台(因为这个环境我本地没有实现)。
首先是找上传,一般后台的都是这样直奔主题,找到图片管理处

image.png

先直接上传个php,发现没有反应,也没报错什么的,感觉没戏,但是文件监控发现点东西


image.png

【一>所有资源获取<一】
1、网络安全学习路线
2、电子书籍(白帽子)
3、安全大厂内部视频
4、100份src文档
5、常见安全面试题
6、ctf大赛经典题目解析
7、全套工具包
8、应急响应笔记

发现上传成功了,于是到源码中删除这个文件,又重新上传了一下,结果


image.png

确实返回了json,


image.png

离谱啊,找到对应源码处,application/admin/controller/File.php


image.png

没有进行过滤,为什么php没有显示因为在调用图片管理时读取限定了后缀,


image.png

files = glob(folder.'*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE)
突然想到会不会用户的对应功能点也有同样的问题,找到用户上传,

image.png

发现用file->validate(this->rules)进行了后缀验证,而$rules = ['ext' => 'jpeg,jpg,png', 'size' => 1024 * 1024 * 4],没戏。
然后在wxapi接口中,

image.png

这里是没有验证的,那么普通用户就有上传(我本地没有复现成功,有师傅会的教教我)
删除的话也没有限制,导致任意文件删除,尝试删除logo:


image.png image.png

抓包修改,


image.png image.png

原因也是直接拼接了value,


image.png

不过作用不大,但是这个站也是install.lock,要是有重装写shell那当我没说。
另外一个就是逻辑上的问题,在站点系统设置中,


image.png

输入个'就报错了,


image.png

一些绝对路径啊什么的都有,
分析一下,application/admin/controller/Set.php中


image.png

跟进updatesystem


image.png

再跟setupdatesystem


image.png

以上流程将我们传入的post 数据写入在config/readfile 下新生成的system.php 中
通过json_encode($array, 1)
会将我们传入的" 转义成" ,但是'无法转义,因此可以传入'从而导致报错


image.png

在加载应用的时候会include(config/app.php)
config/app.php 会判断是否存在system.php


image.png

存在就include,进而导致报错。
后面也想到了闭合',但是return一个字符串,之后的就无法执行了。

相关文章

  • 安全app之PHP代码审计

    正文源码结构如下, 经过我的一番菜鸡分析,application下,admin是admin后台,index是首页的...

  • 安全代码审计-PHP

    前言: 这篇文章:该 CMS 版本是 4.2。以下漏洞均被 CNVD 收录。 环境说明: PHP版本用 7.0.9...

  • PHP代码安全【PHP弱口令、加密函数、绕过函数】/CTF代码审

    转自:PHP代码安全【PHP弱口令、加密函数、绕过函数】/CTF代码审计题 - Sp4rkW的博客 - CSDN博...

  • 代码审计思路之PHP代码审计

    00×0 前言 最近也是边挖src边审计代码,总结下最近的php代码审计的一些思路,我一般按照顺序往下做,限于能力...

  • 代码审计

    代码审计工具 1、三款自动化代码审计工具教程2、seay源代码审计系统 PHP核心配置详解 注意PHP各个版本中配...

  • 【代码审计】PHP代码审计

    1. 概述 代码审核,是对应用程序源代码进行系统性检查的工作。它的目的是为了找到并且修复应用程序在开发阶段存在的一...

  • 攻防世界(进阶)--WEB--8.Web_php_unseria

    考察点:php代码审计 1.进入场景,得到php代码 2.化简代码,审计 3.写脚本 得到参数:TzorNDoiR...

  • 2019-07-28-php代码审计

    一、PHP代码执行代码审计首先讲一下PHP代码执行漏洞和命令执行漏洞的区别,PHP代码执行指的是将php代码植入到...

  • Php代码审计

    Challenge show_source(__FILE__); $flag="xxxx"; if(isset($...

  • php代码审计

    审计初审 判断审计对象的架构,是否套了开源的框架,若是开源框架,直接利用框架的漏洞进行验证利用;若是原生代码则进行...

网友评论

    本文标题:安全app之PHP代码审计

    本文链接:https://www.haomeiwen.com/subject/xyxhdrtx.html