代码审计-PHP模型开发篇MVC层RCE执行文件对比法1day分析0day验证

知识点:

1、PHP审计-MVC开发-RCE&代码执行
2、PHP审计-MVC开发-RCE&命令执行
3、PHP审计-MVC开发-RCE&文件对比

简要点

1、代码审计必备知识点:
环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。
2、代码审计开始前准备:
审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等。
3、代码审计挖掘漏洞根本:
可控变量及特定函数,不存在过滤或过滤不严谨存在绕过导致的安全漏洞。

PHP常见漏洞关键字

SQL注入:
select insert update  delete mysql_query mysqli等
文件上传:
$_FILES,type="file",上传,move_uploaded_file()等 
XSS跨站:
print print_r echo sprintf die var_dump var_export等
文件包含:
include include_once require require_once等
代码执行:
eval assert preg_replace call_user_func call_user_func_array等
命令执行:
system exec shell_exec `` passthru pcntl_exec popen proc_open
变量覆盖:
extract() parse_str() importrequestvariables() $$ 等
反序列化:
serialize() unserialize() __construct __destruct等
其他漏洞:
unlink() file_get_contents() show_source() file() fopen()

通用关键字

$_GET,$_POST,$_REQUEST,$_FILES,$_SERVER等

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
MVC不局限于语言,其他语言也都有。

MVC流程

1、Controller截获用户发出的请求;
2、Controller调用Model完成状态的读写操作;
3、Controller把数据传递给View;
4、View渲染最终结果并呈献给用户。

MVC各层职能

1、控制器Controller层–负责响应用户请求、准备数据,及决定如何展示数据。
2、模块Model层–管理业务逻辑和数据库逻辑。提供连接和操作数据库的抽象层(过滤一般都在这里)
3、视图View层–负责前端模版渲染数据,通过HTML方式呈现给用户(一般都是html静态文件,也有少部分php)

MVC对审计主要影响

1、文件代码定位问题
2、代码过滤分析问题(Model层会过滤)
3、前端安全发现问题

MVC开发审计入口常见方法

搜索法:常规或部分MVC模型源码可以采用关键字的搜索挖掘思路
功能法:框架MVC模型源码一般会采用功能点分析抓包追踪挖掘思路
对比法:可以通过前后修复版本文件及代码不同特征进行针对挖掘思路
特征法:数据库监控挖SQL注入,文件监控挖上传删除写入等。
工具法:后续讲到
调试法:动态调试

一、演示案例-PHP审计-MVC开发-控制模块视图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何通过URL地址分析出是哪个文件?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、演示案例-PHP审计-MVC开发-RCE代码执行

一般都是用搜索法或者对比法,其他两个方法很少见。
CNVD-代码执行1day-lmxcms1.40版本

1、搜索法-RCE

https://www.cnvd.org.cn/flaw/show/CNVD-2019-05679
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
payload:

/admin.php?m=Acquisi&a=showCjData&id=1&lid=1&cid=1

在这里插入图片描述
在这里插入图片描述
为什么数据库payload要这么写?
在这里插入图片描述

2、功能法-RCE

https://www.cnvd.org.cn/flaw/show/CNVD-2019-05678
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<{php}> phpinfo();<{/php}>

在这里插入图片描述
在这里插入图片描述

3、对比法拿0day-1.41版本

在这里插入图片描述

Beyond Compare 4工具对比

在这里插入图片描述

UltraCompare工具对比(推荐)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、演示案例-PHP审计-MVC开发-RCE命令执行

CNVD-命令执行1day-baijiacms4.1.4版本
https://www.cnvd.org.cn/flaw/show/CNVD-2021-12800
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

搜索法:

system->common.inc.php->file_save->setting.php

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何访问通过URL访问这个源码文件?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

条件:

1$extention=='txt'
2、weixin_verify_file有值
3$settings['image_compress_openscale']=1

开启image_compress_openscale=1

/index.php?mod=site&act=manager&do=netattach

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上传weixin_verify_file

/index.php?mod=site&act=weixin&do=setting

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

触发weixin_verify_file

weixin_verify_file filename=&whoami&.txt

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/583654.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《HCIP-openEuler实验指导手册》2.2 Nginx静态资源访问配置

知识点 配置步骤 新建静态资源文件 mkdir /data mkdir /data/nginx touch /data/nginx/index.html echo "this is /data/nginx/index.html" > /data/nginx/index.html touch /data/nginx/test.txt echo "this is /data/nginx/test.txt" > /data/ng…

复刻系列-绝区零官网「喧响测试」

复刻绝区零官网「喧响测试」 0. 视频 绝区零&#xff0c;妮慧事捉净&#xff01;&#xff01;&#xff01; 1. 基本信息 作者: GMCY系列: 复刻系列网站: 绝区零「喧响测试」- 复刻的仓库: GitHub | Gitee话题(GitHub): vue \ reprint \ mihoyo \ ZenlessZoneZero创建时间: 20…

设计模式六大原则详解

引言 对于设计模式&#xff0c;自己很早之前就看了好多本设计模式书籍&#xff0c;其中一些还看了好几遍&#xff0c;也一直希望自己能在编码的时候把这些设计模式用上去。可是&#xff0c;在日常的打码中&#xff0c;用的做多的就是单例&#xff0c;其次是观察者和建造者模式…

ASP.NET某企业信息管理系统的设计与实现

摘 要 信息管理系统就是我们常说的MIS(Management Information System),它是一个计算机软硬件资源以及数据库的人-机系统。经过对题目和内容的分析,选用了Microsoft公司的ASP.NET开发工具,由于它提供了用于从数据库中访问数据的强大工具集,使用它可以建立开发比较完善的数据库…

docker容器---docker-compose容器集群的快速编排

一、Docker-compose简介 Docker-Compose项目是基于Python开发的Docker官方开源项目&#xff0c;负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层&#xff0c;分别是 工程&#xff08;project&#xff09;&#xff0c;服务&#xff08;service&am…

使用vue3+elementplus的级联选择器实现省市区联动(三级到五级)

中华人民共和国行政区划代码 github地址&#xff1a;https://github.com/uiwjs/province-city-china 中华人民共和国行政区划&#xff08;五级&#xff09;&#xff1a;省级、地级、县级、乡级和村级。来自中华人民共和国民政部&#xff0c;用于查询中国省&#xff0c;市和区数…

linux远程访问及控制

一、SSH远程管理 1.SSH的简介 SSH远程管理是一种通过 SSH 协议安全地管理远程计算机的方法。允许管理员通过加密的连接从本地计算机或其他远程位置连接到远程计算机&#xff0c;并执行管理任务、配置设置、故障排除等操作。 远程链接的两种方法&#xff1a;SSH 、Telnet S…

函数定义域和值域

定义域和值域 1. 函数的定义 函数的定义&#xff1a;一般的&#xff0c;在一个变化过程中&#xff0c;假设有两个变量 x x x&#xff0c; y y y&#xff0c;如果对于任意一个 x x x 都有唯一确定的一个 y y y 和它对应&#xff0c;那么就称 x x x 是自变量&#xff0c; y…

C++初阶学习第四弹——类与对象(中)——刨析类与对象的核心点

类与对象&#xff08;上&#xff09;&#xff1a;C初阶学习第三弹——类与对象&#xff08;上&#xff09;——初始类与对象-CSDN博客 前言&#xff1a; 在前面文章中&#xff0c;我们已经讲了类与对象的思想和类与对象的一些基本操作&#xff0c;接下来这篇文章我们将讲解以下…

会计稳健性Cscore模型(2000-2022年)

01、数据介绍 会计稳健性是指在财务报告中&#xff0c;对损失和收益的确认存在不对称的延迟。具体来说&#xff0c;对于损失或坏消息&#xff0c;企业应尽早确认&#xff1b;而对于收益或好消息&#xff0c;企业应延迟确认。这种稳健的会计处理方式有助于提高财务报告的质量&a…

人工原生动物优化器(APO)-2024年SCI一区新算法-公式原理详解与性能测评 Matlab代码免费获取

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 原理简介 一、觅食行为 (1)自养模式 (2)异…

[CUDA 学习笔记] GEMM 优化: 双缓冲 (Prefetch) 和 Bank Conflict 解决

GEMM 优化: 双缓冲 (Prefetch) 和 Bank Conflict 解决 前言 本文主要是对 深入浅出GPU优化系列&#xff1a;GEMM优化&#xff08;一&#xff09; - 知乎, 深入浅出GPU优化系列&#xff1a;GEMM优化&#xff08;二&#xff09; - 知乎 以及 深入浅出GPU优化系列&#xff1a;GE…

Git工具的使用

文章目录 Git概述本地仓库命令远程仓库命令分支操作标签操作 IDEA上执行Git Git概述 一般工作流程如下&#xff1a; 从远程仓库中克隆 Git 资源作为本地仓库&#xff1b; 从本地仓库中checkout代码然后进行代码修改&#xff1b; 在提交本地仓库前先将代码提交到暂存区&#xff…

上市公司-双重差分模型手动匹配绿色企业数据及参考资料

01、数据简介 双重差分模型&#xff08;DID&#xff0c;Differences-in-Differences&#xff09;是一种用于估计某个政策或处理效果的经济计量学模型。通过双重差分模型&#xff0c;可以控制一些不易观察的个体特征和时间趋势&#xff0c;以更准确地估计政策的效应。将绿色企业…

OmniReader Pro for Mac:强大且全面的阅读工具

OmniReader Pro for Mac是一款专为Mac用户设计的强大且全面的阅读工具&#xff0c;它集阅读、编辑、管理等多种功能于一身&#xff0c;为用户提供了卓越的阅读体验。 OmniReader Pro for Mac v2.9.5激活版下载 该软件支持多种文件格式的阅读&#xff0c;包括PDF、Word、Excel、…

Python中PYTHONPATH与sys.path详解——看完不会用你打我

一、PYTHONPATH是什么 PYTHONPATH是python查找模块和包的路径&#xff0c;当导入模块时&#xff0c;python解释器将按顺序在PYTHONPATH下寻找。 通过sys.path可以查看PYTHONPATH的值&#xff0c;路径列表的第一个元素为空字符串&#xff0c;代表的是相对路径下的当前目录&…

特斯拉携手百度攻克在华推广辅助驾驶难题,马斯克意外访华成果显著

特斯拉近日宣布与科技巨头百度达成合作协议&#xff0c;共同为中国市场提供地图和导航服务&#xff0c;以进一步推动其辅助驾驶系统的广泛应用。这一重要进展得益于特斯拉CEO埃隆马斯克上周的意外访问。 更多消息&#xff1a;AI人工智能行业动态&#xff0c;aigc应用领域资讯 …

盼你快治好肺癌,处死360那个鬼

近日《网易首页>网易号》发表《周鸿祎突然咳嗽不停&#xff0c;三锥子扎不出血&#xff0c;网友怀疑是癌症》一文&#xff0c;引发网络热议不断。有网友发布一张周鸿祎朋友圈的图片显示&#xff0c;周鸿祎因为“咳嗽不停”在治疗。 周鸿祎在朋友圈写到“咳嗽不停&#xff0…

数之寻软件怎么样?

数之寻软件是一款功能强大的数据恢复和备份软件&#xff0c;以下是对其特点和功能的详细评价&#xff1a; 一、数据恢复方面&#xff1a; 高效的数据恢复能力&#xff1a;数之寻软件采用了先进的算法和数据恢复技术&#xff0c;能够快速有效地恢复丢失或损坏的数据。无论是文…

stm32f103外设学习

RTC STM32F103C8T6基于HAL库制作RTC时钟_stm32f103c8t6 rtc-CSDN博客 【STM32】HAL库 STM32CubeMX教程十三---RTC时钟_基于stm32f407hal库的rtc实时时钟-CSDN博客 方案 有三个时钟&#xff0c;我们选择LSE时钟(前两个时钟是受VDD影响的&#xff0c;而且LSI不稳定有温漂) 有…