首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
thinkphp 5.0.5 缓存漏洞
2024-11-10
利用Thinkphp 5缓存漏洞实现前台Getshell
0×00 背景 网站为了实现加速访问,会将用户访问过的页面存入缓存来减小数据库查询的开销.而Thinkphp5框架的缓存漏洞使得在缓存中注入代码成为可能.(漏洞详情见参考资料) 本文将会详细讲解: 1. 如何判断缓存漏洞存在的可能性 2. 如何利用Thinkphp5的框架漏洞结合网站的一些配置实现前台getshell 希望可以给予读者一些关于漏洞应用的启发. 0×01 环境 测试环境 1.某基于Thinkphp5.0.10搭建的论坛类测试网站 2.apache2 3.php5.6及以上版本,相关
Thinkphp <= 5.0.10 缓存getshell复现
目录 Thinkphp <= 5.0.10 缓存getshell复现 0x01 poc 0x02 跟踪源码 0x03 审计思路 0x04 补丁 0x05 参考 Thinkphp <= 5.0.10 缓存getshell复现 0x01 poc 首先看缓存函数的使用场景 然后会生成以下缓存文件 可以看到,字符串abc直接存储到以php结尾的缓存文件中.尝试使用\n换行getshell 语法有错,注释一下后面的垃圾字符,成功getshell. 0x02 跟踪源码 首先跟进18行的Cache::set
ThinkPHP v6.0.x 反序列化漏洞利用
前言: 上次做了成信大的安询杯第二届CTF比赛,遇到一个tp6的题,给了源码,目的是让通过pop链审计出反序列化漏洞. 这里总结一下tp6的反序列化漏洞的利用. 0x01环境搭建 现在tp新版本的官网不开源了,但是可以用composer构建环境,系统需先安装composer.然后执行命令: composer create-project topthink/think=6.0.x-dev v6.0 cd v6.0php think run 或者可以去github上下载,但是需要改动很多,也可以去c
thinkphp 5.0 代码执行漏洞
https://github.com/vulhub/vulhub/blob/master/thinkphp/5-rce docker-compose -f /home/root/compose.yml up 然后访问127.0.0.1:8080 POC: 1.?s=index/\think\Request/input&filter=phpinfo&data=1 2.?s=index/\think\Request/input&filter=system&data=id 3.?
ThinkPHP 3.0~3.2 注入漏洞
地址:http://xx.com/index.php/Admin.php?s=/User/Public/check payload:act=verify&username[0]=='1')) AND UPDATEXML(6026,CONCAT(0x2e0x7167656371,(SELECT (CASE WHEN (6026=6026) THEN 1 ELSE 0 END)),0x716e726771),8197)-- 1between&username[1]=CN000001&p
ThinkPHP 5.0.x、5.1.x、5.2.x 全版本远程命令执行漏洞
ThinkPHP 5.0.x.5.1.x.5.2.x 全版本远程代码执行漏洞 作者:SoulCat. 来源:CSDN 原文:https://blog.csdn.net/csacs/article/details/86668057 版权声明:本文为博主原创文章,转载请附上博文链接! 漏洞概述:ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架.借鉴Struts框架的Action对象,同时也使用面向对象的开发结构和MVC模式.1月11日,ThinkPHP官方发布新版本5.0.24,在
ThinkPHP 5.0远程命令执行漏洞分析与复现
0x00 前言 ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞.该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本,推荐尽快更新到最新版本. 0x01 影响范围 ThinkPHP 5.0.5-5.0.22 ThinkPHP 5.1.0-5.1.30 0x02 漏洞分析 Thinkphp v5.0.x补丁地址: https://github.co
ThinkPHP 5.0.15中的update注入漏洞
漏洞demo: public function inc() { $username = request()->get('name/a'); db('user')->insert(['name' => $username]); return 'Update success'; } 首先看TP的数据获取:$username = request()->get('name/a'); request(助手函数就是获取thinkphp/library/think/Request.php 的实例
ThinkPhp3.2.3缓存漏洞复现以及修复建议
小编作为一个php(拍黄片)的程序员,今天早上无意间看到thinkphp的缓存漏洞,小编在实际开发过程中用thinkphp3.2.3挺多的. 我们这里来复现一下漏洞 后面我会提出修复建议 首先我们下载最新的thinkphp3.2.3的框架 搭建好 按照phpoop牛的审计 我们来写代码 <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { pu
ThinkPHP V5.0 正式版发布
ThinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由.日志.异常.模型.数据库.模板引擎和验证等模块都已经重构,不适合原有3.2项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是WEB还是API开发). ThinkPHP V5.0——为API开发而设计的高性能框架 [ 特性 ] 主要特性包括:
ThinkPHP 5.0.x SQL注入分析
前言 前段时间,晴天师傅在朋友圈发了一张ThinkPHP 注入的截图.最近几天忙于找工作的事情,没来得及看.趁着中午赶紧搭起环境分析一波.Think PHP就不介绍了,搞PHP的都应该知道. 环境搭建 本文中的测试环境为ThinkPHP 5.0.15的版本.下载,解压好以后,开始配置.首先开启debug,方便定位问题所在.修改application\config.php, app_debug和app_trace都改成true.然后创建数据库,并且修改application\database.
ref:ThinkPHP Builder.php SQL注入漏洞(<= 3.2.3)
ThinkPHP Builder.php SQL注入漏洞(<= 3.2.3) ref:https://www.jianshu.com/p/18d06277161e TimeSHU 2018.04.21 02:03* 字数 761 阅读 23评论 2喜欢 0 ThinkPHP Builder.php SQL注入漏洞(<= 3.2.3)的一次漏洞复现作业 ------------------------------------------------------------- 1.进入docker
Thinkphp 5.0.15 设计缺陷导致Insert/update-SQL注入 分析
分析 与上一个漏洞类似,这个也是前端可以传入一个数组变量,如['exp','123','123'],后端根据array[0]来将array[1]和array[2]直接拼接到SQL语句中. 由于TP只是框架,为了保证应用业务正常运行,不能为主应用做过多的安全防御(如转义.去除危险字符等). 上一个漏洞点存在于处理where语句的parseWhere()处,而这个点则在处理insert和set的data的parseData()处. 本文以insert为例,首先payload如下: http://12
IIS6.0文件解析漏洞小结
今天搞站,本来这个站是aspx的,webserver是IIS6.0的,进入后台之后,发现有一个上传图片的地方,于是,我就上传了一张asp/aspx的一句话图片木马,但是用菜刀连接的时候,没有成功getshell,于是,我就纳闷儿了,为什么不行呢? 于是,在网上看了一下IIS6.0的解析漏洞,总结如下: 1. 图片一句话的执行环境 2. 文件上传/解析漏洞 3. 截断上传 4. NTFS数据流 当你上传的木马如asp/aspx,必须在IIS6.0环境,且在以x.asp为名称的文件夹下面,才
thinkphp 5.0 命名空间
命名空间 命名空间 ThinkPHP5采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加高效的类库自动加载机制. 如果不清楚命名空间的基本概念,可以参考PHP手册:PHP命名空间 特别注意的是,如果你需要调用PHP内置的类库,或者第三方没有使用命名空间的类库,记得在实例化类库的时候加上 \,例如: // 错误的用法 $class = new stdClass(); $xml = new SimpleXmlElement($xml
thinkphp 5.0 模块设计
模块设计 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─application 应用目录(可设置) │ ├─common 公共模块目录(可选) │ ├─common.php 公共函数文件 │ ├─route.php 路由配置文件 │ ├─database.php 数据库配置文件 │ ├─config.php 应用配置文件 │ ├─module1 模块1目录
把VueThink整合到已有ThinkPHP 5.0项目中
享 关键字: VueThink ThinkPHP5.0 Vue2.x TP5 管理后台扩展 VueThink初认识 VueThink,是一个很不错的技术框架,由广州洪睿科技的技术团队2016年研发(严重声明:我虽然在广州,但和团队成员没有任何裙带关系,我不是托儿!真心非常感谢他们的研发并开源) 看了一下,VueThink主要有以下几个特点: 1.不仅仅有后台部分,还有前端前台部分(Vue)的应用. 2.前后端分离技术的应用实践--整合应用得非常棒. 3.开源.完全免费. 4.运行环境要求PHP
ThinkPHP 5.0/5.1 自定义404界面的配置
★ 背景还要啥背景,就是觉得不可能用框架自带的 404 界面呗.可能跟之前的版本配置方法有点区别,在此做一下简单的笔记 框架:ThinkPHP 5.1,ThinkPHP5.0.20 ★ 配置过程♩. 修改 config.app 文件第一,需要关闭调试模式 // 应用调试模式 'app_debug' => false, 一般在项目的开发过程中,可以设置为"true",但是项目上线部署后,一定要关闭调试模式 第二,增加或修改配置项: http_exception_template 如
全面认识一下.NET 4.0的缓存功能 (转)
转自:http://www.cnblogs.com/hjf1223/archive/2010/07/16/net_4_caching.html 很多关于.NET 4.0新特性的介绍,缓存功能的增强肯定是不会被忽略的一个重要亮点.在很多文档中都会介绍到在.NET 4.0中,缓存功能的增强主要是在扩展性方面做了改进,改变了原来只能利用内存进行缓存的局限,允许用户在不改变代码的情况下通过修改配置的方式,灵活的切换缓存介质.Cache Provider是可扩展的,开发人员可以方便的将缓存存放在文件中,也
thinkphp 5.0 lnmp环境下 无法访问,报错500(public目录)
两种方法: 1.修改fastcgi的配置文件 /usr/local/nginx/conf/fastcgi.conf fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/../:/tmp/:/proc/"; 2.这个时候需要在php.ini下面添加如下内容 注: xxx.abczn.com 替换成你对应的域名和目录 [HOST=xxx.abczn.com]open_basedir=/home/wwwroot/xxx.abc
热门专题
linux自动生成showdoc字典
Android cursor 如果权限没有允许会怎么样
mysql 设置起始时间 按周统计
思科配置5506-X防火墙透明模式
ubuntu18 安装uwsgi
NVME固态硬盘无法格式化
jsonignore 只忽略返回
redis查询没有设置过期时间的key
richtextbox多处改颜色
processon 切割图形
spring揭秘第五版
mysql event 整点
ceph配置块设备怎样删除
硬件发送的为什么是十六进制
execvp 没有那个文件或目录
java properties里给两个数据库配置加别名
input标签导出Excel
oracle更改权限
C# excel 操作
wordpress无法上传文件