IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 安全app之PHP代码审计 -> 正文阅读

[PHP知识库]安全app之PHP代码审计

正文
源码结构如下,
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

f i l e s = g l o b ( files = glob( files=glob(folder.’*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}’, GLOB_BRACE)
突然想到会不会用户的对应功能点也有同样的问题,找到用户上传,
image.png

发现用 f i l e ? > v a l i d a t e ( file->validate( 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一个字符串,之后的就无法执行了。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-15 22:12:05  更:2022-03-15 22:12:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 2:02:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码