YCCMS 3.4代码审计
环境搭建下载地址:https://www.jb51.net/codes/716819.html#downintro2 环境: php5.6.9 MySQL5.7.26 Apache2.4.39 下载后将文件夹放到phpstudy下的WWW目录下 导入yccms.sql到本地数据库: 接着修改config配置(将数据库名、用户名、密码填入其中): 然后就可以开始审计了 分析框架第一步依然是分析框架,先看目录结构: 12345678910/Admin 后台路径首页,包含/config/run.inc.php文件/Ceshi 测试页面/Ceshi2 测试页面/config 配置变量目录/Compile 编译目录/Public 存放缓存代码以及网站相关配置代码/Uploads 上传图片目录/view 模板目录/controller 业务逻辑处理/model...
百家CMS代码审计
环境搭建下载地址:https://gitee.com/openbaijia/baijiacms 环境: php5.6.9 MySQL5.7.26 Apache2.4.39 直接访问http://127.0.0.1/install.php进行安装: 分析框架目录结构一套源码拿到手第一步仍然是分析框架,先看下目录结构: 是一个无框架的cms,这就需要先搞清楚目录结构,路由,每个目录的功能: 12345678baijiacms/├── system/ # 核心框架系统├── includes/ # 包含文件├── config/ # 配置文件├── addons/ # 插件模块├── api/ # API接口├── attachment/ # 上传文件└── cache/ # 缓存目录 入口文件: 123456// 主要入口文件:index.php // 前台入口admin.php // 后台入口 api.php // API接口入口mobile.php //...
红日代审Day5-mail函数命令执行漏洞
mail 1234567mail( string $to, string $subject, string $message, array|string $additional_headers = [], string $additional_params = ""): bool to 电子邮件收件人,或收件人列表。本字符串的格式必须符合 » RFC 2822。例如: user@example.com user@example.com,...
红日代审Day4-strpos函数缺陷
strpos haystack 在该字符串中进行查找。 needle 要搜索的字符串。 offset 如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始。 返回值 返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。 同时注意字符串位置是从0开始,而不是从1开始的。 如果没找到 needle,将返回 **false**。 警告:此函数可能返回布尔值 **false**,但也可能返回等同于 false 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。 demo: 1234567891011121314<?php$mystring = 'abc';$findme = 'a';$pos = strpos($mystring, $findme);// 注意这里使用的是 ===。简单的 == 不能像我们期待的那样工作,// 因为 'a' 是第...
红日代审Day3-实例化任意对象漏洞
class_exists 1class_exists(string $class, bool $autoload = true): bool class 类名。名称以不区分大小写的方式匹配。 autoload 如果尚未加载,是否自动加载。 返回值 如果 class 是已经定义的类,则返回 **true**,否则返回 **false**。 demo: 123456789101112131415<?phpspl_autoload_register(function ($class_name) { include $class_name . '.php'; // 检查 include 后是否声明了类 if (!class_exists($class_name, false)) { throw new LogicException("Unable to load class: $class_name"); }});if...










