CTFHub XSS+文件上传 WriteUP

2024-03-14 09:18
文章标签 上传 xss ctfhub writeup

本文主要是介绍CTFHub XSS+文件上传 WriteUP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击"仙网攻城狮”关注我们哦~

不当想研发的渗透人不是好运维

让我们每天进步一点点

简介

CTFHub 为网络安全工程师提供网络安全攻防技能培训、实战、技能提升等服务。

「赛事中心」提供全网最全最新的 CTF 赛事信息,关注赛事定制自己专属的比赛日历吧。

「技能树」提供清晰的 CTF 学习路线,想要变强就加点,哪里不会点哪里。

「历年真题」提供无限次赛后复盘,边学边练。

「工具」提供各类常用工具,打仗没有一把趁手的武器怎么行。

实战

XSS由于靶机未建立就大概讲解一下各自的特征吧

以下类型挖掘方法:

反射型XSS(GET)
反射型XSS(POST)
存储型XSS
DOM型XSS
XSS之盲打
XSS之过滤
XSS之htmlspeclalchars
XSS之href输出
XSS之js输出

之前的文章已经写过了详细查看下面文章:

手把手教你XSS漏洞常见类型挖掘方法

本期重点看一下文件上传漏洞中的.htaccess\00截断\双写后缀这三种

其他可以查看下面文章:

网站被挂马??文件上传漏洞上传shell后门

一、.htaccess上传,开始之前要知道这个文件是干嘛的。

.htaccess是一个纯文本文件,里面存放着Apache服务器配置相关的一些指令,它类似于Apache的站点配置文件,如httpd.conf(Apache2已经支持多站点,因此你的站点配置文件可能在/etc/apache2/conf.d/目录下)。
       .htaccess与httpd.conf配置文件不同的是,它只作用于当前目录。另外httpd.conf是在Apache服务启动的时候就加载的,而.htaccess只有在用户访问目录时加载

1.上传之前要建立两个文件分别为:.htaccess和sj,写入下面内容

2.先上传.htaccess再上传sj

3.访问后会执行命令显示当前目录文件

4.修改sj再次上传查询命令。

5.访问sj后返回结果获得flag

二、00截断,开始之前需要知道什么是00截断,因为php是可以直接执行c语言的,而00在c语言中代表终止结束的意思。

1.先写一个一句话shell马看看能不能上传

2.显示文件类型不匹配已经是配置了白名单限制了上传类型。

3.修改为1.jpg继续上传使用burpsutie进行拦截修改请求,上传成功


4.菜刀连接1.php ,cc123,获得flag

三、双写后缀,主要是后台使用黑名单过滤导致,后缀在黑名单中则替换为空值

1.上传1.php看看,发现后缀被替换为了空值

2.双写修改为php1.pphphp,再次上传成功绕过

3.菜刀死活连不上有点郁闷,修改内容读取目录,获得flag

总结:目前上传漏洞越来越难挖了,想要实现上传shell文件并利用往往需要多种漏洞组合才能实现。

往期内容

ATT&CK实战-红队评估之二

元宵节福利,免费赠送三套CTF竞赛视频教程

CRLF(HTTP响应拆分漏洞)攻击实战

更多资讯长按二维码 关注我们

觉得不错点个“赞”呗      

这篇关于CTFHub XSS+文件上传 WriteUP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/807935

相关文章

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

GitLab文件的上传与下载方式

《GitLab文件的上传与下载方式》:本文主要介绍GitLab文件的上传与下载方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录GitLab 项目拉取到本地GitLab 项目上传方法方法 1:本地项目未初始化Git方法 2:本地项目已初始化GitGitLab 上

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Java应用如何防止恶意文件上传

《Java应用如何防止恶意文件上传》恶意文件上传可能导致服务器被入侵,数据泄露甚至服务瘫痪,因此我们必须采取全面且有效的防范措施来保护Java应用的安全,下面我们就来看看具体的实现方法吧... 目录恶意文件上传的潜在风险常见的恶意文件上传手段防范恶意文件上传的关键策略严格验证文件类型检查文件内容控制文件存储

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要