【代码审计】51 PHP项目类 RCE 文件包含和下载

runaway

  • xhcms-无框架-文件包含跨站-搜索或应用-include
    • 找核心代码分析
    • 通过搜索关键字echo
    • 测试XSS漏洞
    • 测试文件包含漏洞
  • earmusic-无框架-文件下载-搜索或应用功能-down
    • 根据程序实现的功能猜测可能的漏洞:
    • 找对应的代码、关键字搜索
    • 下载是怎么进行的
    • 数据库表中的列名,在哪里可以操纵?
  • zzzcms-无框架-文件删除RCE-搜索或应用-unlink,eval
    • 文件删除搜索关键字unlink
    • 对应函数del_file
    • delfile包含del_file如何触发
    • 关键字搜索eval

xhcms-无框架-文件包含跨站-搜索或应用-include

找核心代码分析

  • 输出函数
  • 功能点

通过搜索关键字echo

载入代码,找到后台,一般是admin
【代码审计】51 PHP项目类 RCE 文件包含和下载_第1张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第2张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第3张图片

测试XSS漏洞

【代码审计】51 PHP项目类 RCE 文件包含和下载_第4张图片

测试文件包含漏洞

关键字:
include
include_once
require
require_once

【代码审计】51 PHP项目类 RCE 文件包含和下载_第5张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第6张图片

earmusic-无框架-文件下载-搜索或应用功能-down

根据程序实现的功能猜测可能的漏洞:

社交 交互:注入、跨站
下载、上传,和文件相关的
【代码审计】51 PHP项目类 RCE 文件包含和下载_第7张图片
右键点击复制链接
抓包,这个应该是触发下载的数据包
【代码审计】51 PHP项目类 RCE 文件包含和下载_第8张图片在这里插入图片描述

找对应的代码、关键字搜索

下载的url里包含id这个参数
在代码审计系统里搜索关键字id
【代码审计】51 PHP项目类 RCE 文件包含和下载_第9张图片
自定义函数safeRequest,接收方式和转义
【代码审计】51 PHP项目类 RCE 文件包含和下载_第10张图片
id带入sql语句里
在这里插入图片描述
think:

下载是怎么进行的

【代码审计】51 PHP项目类 RCE 文件包含和下载_第11张图片
查看数据库
【代码审计】51 PHP项目类 RCE 文件包含和下载_第12张图片
在这里插入图片描述
ingrade决定vip下载还是需要pay【代码审计】51 PHP项目类 RCE 文件包含和下载_第13张图片

【代码审计】51 PHP项目类 RCE 文件包含和下载_第14张图片
in_audio对应文件下载地址

数据库表中的列名,在哪里可以操纵?

全局搜索in_audio
【代码审计】51 PHP项目类 RCE 文件包含和下载_第15张图片【代码审计】51 PHP项目类 RCE 文件包含和下载_第16张图片

【代码审计】51 PHP项目类 RCE 文件包含和下载_第17张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第18张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第19张图片

在ajax.php操纵
【代码审计】51 PHP项目类 RCE 文件包含和下载_第20张图片
音频地址写成1抓包
【代码审计】51 PHP项目类 RCE 文件包含和下载_第21张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第22张图片
已经在数据库配置文件中配置好了 prefix这个数据库
【代码审计】51 PHP项目类 RCE 文件包含和下载_第23张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第24张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第25张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第26张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第27张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第28张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第29张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第30张图片
发现存在过滤
【代码审计】51 PHP项目类 RCE 文件包含和下载_第31张图片

zzzcms-无框架-文件删除RCE-搜索或应用-unlink,eval

文件删除搜索关键字unlink

对应函数del_file

delfile包含del_file如何触发

【代码审计】51 PHP项目类 RCE 文件包含和下载_第32张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第33张图片
admin 后台需要操作,先不看
【代码审计】51 PHP项目类 RCE 文件包含和下载_第34张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第35张图片
再跟踪delfile
【代码审计】51 PHP项目类 RCE 文件包含和下载_第36张图片
delfile被调用,del_file也被调用 在跟踪act
【代码审计】51 PHP项目类 RCE 文件包含和下载_第37张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第38张图片
判断两个数组,有重复返回true
【代码审计】51 PHP项目类 RCE 文件包含和下载_第39张图片
通过act的值,调用del函数
【代码审计】51 PHP项目类 RCE 文件包含和下载_第40张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第41张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第42张图片

关键字搜索eval

【代码审计】51 PHP项目类 RCE 文件包含和下载_第43张图片
ifstr哪里来?——matches
【代码审计】51 PHP项目类 RCE 文件包含和下载_第44张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第45张图片
matches哪里来?
【代码审计】51 PHP项目类 RCE 文件包含和下载_第46张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第47张图片
zcontent是参数传进来的,给matches
【代码审计】51 PHP项目类 RCE 文件包含和下载_第48张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第49张图片
【代码审计】51 PHP项目类 RCE 文件包含和下载_第50张图片
后台可修改模板文件,前台触发模板文件

你可能感兴趣的:(【代码审计】51 PHP项目类 RCE 文件包含和下载)