第27天:安全开发-PHP应用TP框架路由访问对象操作内置过滤绕过核心漏洞

news2024/12/23 0:11:07

第二十七天

Untitled

一、TP框架-开发-路由访问&数据库&文件上传&MVC模型

1.TP框架-开发-配置架构&路由&MVC模型

参考:https://www.kancloud.cn/manual/thinkphp5_1

  1. 配置架构-导入使用
  2. 路由访问-URL访问
  3. 数据库操作-应用对象
  4. 文件上传操作-应用对象
  5. 前端页面渲染-MVC模型

二、TP框架-安全-不合规写法&内置过滤绕过&版本安全漏洞

1.TP框架-安全-不安全写法&版本过滤绕过

1.内置代码写法

不合要求的代码写法-ThinkPHP5-自写

2.框架版本安全
  1. 写法内置安全绕过-ThinkPHP5-SQL注入
  2. 内置版本安全漏洞-ThinkPHP5-代码执行
  3. 如果该版本有漏洞,即使使用了安全的写法那也有漏洞
  4. 看版本漏洞,版本如果内置绕过漏洞,同样也有漏洞

**逻辑越权原理:**在设计数据库的时候,仅仅使用UID来限制用户权限的等级,这种设计可以通过抓包的方法来修改UID的值获得更高的权限。


三、环境复现

1.安全写法

虽然写法安全,但是版本有漏洞,则依旧存在漏洞

$id=request()->param('x');
$data=Db::table('news')->where('id',$id)->find();

2.半安全写法

同样具有安全隐患

//用一半安全写法 有安全隐患
   $id=request()->param('x');
   $data=Db::query("select * from news where id=$id");

3.原生写法

// 从GET请求中获取id参数,如果不存在则默认为1
$id = $_GET['id'] ?? '1';

// 构建SQL查询语句
$sql = "select * from news where id=$id";
echo $sql;

// 执行查询并获取结果集
$data = mysqli_query($con, $sql);

// 使用mysqli_fetch_row遍历结果集的每一行
while ($row = mysqli_fetch_row($data)) {
    // 从结果集中获取每一列的值,并存储到相应的变量中
    $page_title = $row[1];
    $heading = $row[2];
    $subheading = $row[3];
    $content = $row[4];
    $item = $row[5];
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【注解和反射】类加载器

继上一篇博客【注解和反射】什么时候类会和不会被初始化?-CSDN博客 目录 六、类加载器 测试:获得类加载器 (1)如何获取Java中的类加载器及其父类加载器 (2)测试当前类是哪个类加载器 (3&am…

深度学习-线性代数

目录 标量向量矩阵特殊矩阵特征向量和特征值 标量由只有一个元素的张量表示将向量视为标量值组成的列表通过张量的索引来访问任一元素访问张量的长度只有一个轴的张量,形状只有一个元素通过指定两个分量m和n来创建一个形状为mn的矩阵矩阵的转置对称矩阵的转置逻辑运…

hbase 集成 phoenix 实现 sql 化

1. 依赖 hbase > hbase 集群搭建 2. 下载安装包 点击下载 ps:该网页在内网可能打不开,遇到该情况有条件的可以打开 VPN 在下载 3. 上传解压 使用工具将安装包上传的服务器上 笔者这里选择 上传到 /opt/software 目录,解压到 /opt/mo…

[Algorithm][前缀和][和为K的子数组][和可被K整除的子数组][连续数组][矩阵区域和]详细讲解

目录 1.和为 K 的子数组1.题目链接2.算法原理详解3.代码实现 2.和可被 K 整除的子数组1.题目链接2.算法原理详解3.代码实现 3.连续数组1.题目链接2.算法原理详解3.代码实现 4.矩阵区域和1.题目链接2.算法原理详解3.代码实现 1.和为 K 的子数组 1.题目链接 和为 K 的子数组 2.…

目标检测——YOLOv7算法解读

论文:YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors (2022.7.6) 作者:Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao 链接:https://arxiv.org/abs/2207.02696 代码:h…

十大排序算法详解-上篇:比较排序算法【python 动态图解】

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 python数据分析…

如何通过cURL库实现远程控制插座

如何通过cURL库实现远程控制插座呢? 本文描述了使用cURL库调用HTTP接口,实现控制插座,即插即用,先插入插座,再接电器,实现远程控制。 可选用产品:可根据实际场景需求,选择对应的规格…

libtorrent - 安装小记

文章目录 官方文档:libtorrent python binding http://libtorrent.org/python_binding.html 1、下载代码 建议使用: git clone --recurse-submodules https://github.com/arvidn/libtorrent.git如果在 github web 界面下载代码,build 的时候…

进程动静态库

文章目录 动态库和静态库1. 静态库2. 动态库 承接上文: 文件描述符 动态库和静态库 静态库与动态库: 静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库动态库&#xf…

ISP比普通的静态代理相比有什么优势?

ISP(Internet Service Provider),即互联网服务提供商,是向广大用户综合提供互联网接入业务、信息业务、增值业务的电信运营商。而静态代理则是一个固定不变的代理IP地址,具有稳定性强、兼容性好和管理方便等特点。当我…

上位机图像处理和嵌入式模块部署(树莓派4b之自动化测试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 硬件、软件功能开发ok只是产品开发的第一步。怎么做到自动化测试、保证产品质量才是关键。很多时候,我们给客户提供了功能,…

适用于集成温度补偿晶体振荡器SG3225EEN

在现代电子系统中,随着技术的发展,对晶体振荡器的要求越来越高。例如,人工智能、5G等技术的应用需要更高的频率稳定度和更低的相位噪声,以确保数据传输的准确性和系统的高效运行。此外,随着电子设备向智能化、小型化发…

PHP+MYSQL多条件选一通用搜索系统功能单文件7KB

通用功能: 快速填写参数用于自己的mysql数据表搜索,ajax载入数据 <?php header("content-Type: text/html; charsetUTF-8"); //error_reporting(0);$dbhost "localhost"; //数据库地址本地localhost $dbuser "chalidecom"; //数据库账号 …

C语言扫雷游戏完整实现(下)

文章目录 前言一、排雷函数菜单二、排雷函数菜单的实现三、拓展棋盘功能四、源码1. test.c源文件2. game.h头文件3. game.c源文件 总结 前言 C语言实现扫雷游戏的排雷菜单&#xff0c;以及功能的实现&#xff0c;拓展棋盘功能&#xff0c;以及源码等。 上半部分的链接地址: C语…

第一篇【传奇开心果系列】Python深度学习库技术点案例示例:深度解读深度学习在自动驾驶领域的应用

传奇开心果博文系列 系列博文目录Python深度学习库技术点案例示例系列 博文目录前言一、深度学习在自动驾驶方面的应用介绍二、目标检测和识别示例代码三、路况感知示例代码四、行为预测示例代码五、路径规划示例代码六、自动驾驶控制示例代码七、感知融合示例代码八、高精度地…

PyCharm开发工具安装plugins插件

一. 简介 通过前面的学习&#xff0c;我们知道 python开发常用的一个开发工具&#xff08;即IDE&#xff09;是 PyCharm。 本文来简单介绍一下&#xff0c;PyCharm开发工具是如何安装 plugins插件的。其实与 vscode软件安装插件类似。 本文来学习 PyCharm开发工具安装一个中…

51.HarmonyOS鸿蒙系统 App(ArkUI)通知

普通文本通知测试 长文本通知测试 多行文本通知测试 图片通知测试 进度条通知测试 通知简介 应用可以通过通知接口发送通知消息&#xff0c;终端用户可以通过通知栏查看通知内容&#xff0c;也可以点击通知来打开应用。 通知常见的使用场景&#xff1a; 显示接收到的短消息、…

正则表达式.java

正则表达式的作用&#xff1a; ①可以校验字符串是否满足一定的规则&#xff0c;并用来校验数据格式的合法性&#x1f9f8; &#x1f9e9;[]:只能是括号里的字符 &#x1f9e9;[^]&#xff1a;除了括号里的字符 &#x1f9e9;[- -]:表示两段范围&#xff0c;满足其一即可 &a…

openstack-镜像封装 7

再克隆两台主机并且安装图形化组件和虚拟化组件 进入图形化界面并安装一个虚拟化管理器 根下创建一个目录&#xff0c;虚拟化管理器新添加一个路径 创建虚拟化 配置虚拟化主机 设置虚拟化主机配置 安装所需软件 清理创建云主机时安装的组件 主机安装虚拟化工具 清理虚拟化缓存 …

应用在防蓝光显示器中的LED防蓝光灯珠

相比抗蓝光眼镜、防蓝光覆膜、软体降低蓝光强度这些“软”净蓝手段&#xff0c;通过对LED的发光磷粉进行LED背光进行技术革新&#xff0c;可实现硬件“净蓝”。其能够将90%以上的有害蓝光转换为450nm以上的长波低能光线&#xff0c;从硬件的角度解决了蓝光危害眼睛的问题&#…