NSSCTF-Web题目27(Nginx漏洞、php伪协议、php解析绕过)

目录

[HNCTF 2022 WEEK2]easy_include

1、题目

2、知识点

3、思路

[NSSRound#8 Basic]MyDoor

4、题目

5、知识点

6、思路


[HNCTF 2022 WEEK2]easy_include

1、题目

2、知识点

nginx日志漏洞执行系统命令

3、思路

打开题目,出现源码

题目要我们上传一个file参数,但是对内容进行了过滤,对php、flag等进行过滤,首先想到php伪协议,但php被过滤了,抓个包

发现服务器用的是nginx1.8.0部署

这里的nginx存在一个日志文件漏洞,可以利用日志文件getshell

nginx的日志文件一般存在/var/log/nginx/access.log

可以读取到日志文件的内容

利用php执行系统命令

得到flag:NSSCTF{24b4c973-53b6-4c4c-9ad3-6c6aa77c05a2}


[NSSRound#8 Basic]MyDoor

4、题目

5、知识点

php伪协议,php解析绕过

6、思路

打开题目,什么都没有,只有一个file参数和index.php,没有其他提示

思路,使用php伪协议,盲猜flag在flag或者flag.php文件里

php://filter使用

php://filter/read=convert.base64-encode/resource=[文件名]

显示错误,说明有过滤,尝试读取index.php

有内容,进行解码:Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 - The X 在线工具 (the-x.cn)

得到源码,源码这里可以上传一个N_S.S参数,会执行eval函数,说明这里可以执行系统函数

但是没有内容,为什么呢?

因为php的解析问题

参考文章:NSSCTF-Web题目19(数据库注入、文件上传、php非法传参)_ctf 通过网页提交文件写入数据 库-CSDN博客

当PHP版本小于8时,如果参数中出现中括号[,中括号会被转换成下划线_,然后后面出现的点(.)就不会被转化成下划线,参数就正确了

?file=1&N[S.S=system(ls);

?file=1&N[S.S=system('ls /');

这里没有看到flag文件,执行phpinfo()

?file=1&N[S.S=phpinfo();

得到flag:NSSCTF{8691090f-d32c-4692-b7b0-685b6cd8c87e}


这篇文章就先写到这里了,哪里不足的欢迎指出

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web浏览器播放rtsp视频流,海康监控API

概述 这里记录一下如何让前端播放rtsp协议的视频流 ​ 项目中调用海康API,生成的视频流(hls、ws、rtmp等)通过PotPlayer播放器都无法播放,说明视频流有问题,唯独rtsp视频流可以播放。 但是浏览器本身是无法播放rtsp视频的,即使…

C++——异常

前言:本篇文章我们来分享C的一个全新内容——异常。 目录 一.异常概念 二.异常的使用 1.异常的抛出和匹配原则 2.在函数调用链中异常栈展开匹配原则 3.异常的重新抛出 三.异常的优缺点 1.优点 2.缺点 结语 一.异常概念 异常是一种处理错误的方式&#xff…

完成QT上位机(八)

一. 正式开始设计界面 这一章节我们将完成QT上位机的设计,如果有同学对QtCreater的使用不太熟悉的,可以参考下面的链接 Qt 快速入门系列教程 Qt 快速入门系列教程 (gitbooks.io)https://wizardforcel.gitbooks.io/qt-beginning/content/ 二. 数据库处…

自动气象站:高度自动化、智能化和精准化

自动气象站,作为科技进步的产物,以其高度的自动化、智能化和精准化特点,极大地提升了气象观测的效率和准确性。它集成了多种高精度传感器,能够全天候、不间断地监测温度、湿度、气压、风速、风向、降水量等关键气象要素&#xff0…

小试牛刀-Telebot区块链游戏机器人(TS升级)

目录 1.编写目的 2.为什么使用TypeScript实现? 3.实现功能 3.1 AI图片生成 3.2 签到 3.3 邀请 3.4 WalletConnect连接 4.功能实现详解 4.1 AI图片生成 4.2 签到 4.3 邀请 4.4 WalletConnect连接 5.功能截图 ​6.问题整理 Welcome to Code Blocks blog 本篇文章主…

【图解秒杀系列】秒杀场景介绍及其相关技术点

【图解秒杀系列】秒杀场景介绍及其相关技术点 秒杀场景介绍秒杀页面的交互秒杀的整套流程 秒杀系统面临的挑战秒杀涉及的技术点 秒杀场景介绍 电商系统的秒杀是一种营销活动,在特定的时间点,以极低的价格,有限的商品数量,吸引大量…

【JavaEE初阶】懒汉模式与饿汉模式及指令重排序问题

目录 📕 单例模式 🌳 饿汉模式 🚩 线程安全 🎍 懒汉模式 🚩 懒汉模式-单线程版 🚩 懒汉模式-多线程版 🎄 指令重排序 📕 单例模式 单例模式是一种经典的设计模式,…

node.js使用NodeMachineID 生成唯一UUID和注意事项

node-machine-id用于获取或生成唯一的机器ID 如何使用 const { machineId, machineIdSync } require(node-machine-id) JSON.stringify(machineIdSync({original: true})) ;方法: machineIdSync 此函数同步获取操作系统本机UUID/GUID,默认情况下进行哈…

视频教程 - 自研Vue3 Tree组件高级功能:虚拟滚动新增节点实现自动滚动

感谢小伙伴们对本套自研vue3 tree组件教程的关注,在前一篇媲美Element Plus JuanTree终极实战:虚拟滚动的功能演示中发现了小bug,特地整理了相关录屏来说明怎么一步步解决bug的,来回馈小伙伴们的支持。 Tree组件高级功能&#xff…

redis面试(四)持久化

什么是持久化? 由于redis是基于内存操作的轻量型数据库,所以如果发生宕机重启这种事情,存储的数据就会直接丢失,如果在里面存储了没有备份的数据,那么确实会对我们的业务造成一定影响。 所以我们要通过持久化的手段&a…

C# OpenCvSharp 打开4K高清摄像头

一、前言 整了个1200w像素的usb摄像头,使用 OpenCvSharp读取,读取和设置分辨率代码耗时居然10几秒,查询资料发现,必须对VideoCapture进行设置,使用DSHOW模式打开,并且设置分辨率代码下必须增加 指定MJPG编码…

pip‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

重新设置一下环境变量。 注意,这里后面没有斜杠 我之前就是因为环境变量中,这两行最后都有斜杠,导致提示pip‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

红旗E-QM5起火,一汽红旗否认车辆质量问题

近日,据媒体报道,7月31日下午,长春一辆一汽红旗E-QM5发生起火事故。 一汽红旗方面则表示:“现场勘查和初步调查表明,该事件并非因车辆自身质量问题导致自燃。疑似车辆在行驶过程中与路面井盖发生碰撞导致动力电池受损&…

计算机网络-基于PIM-DM+IGMP的组播实验配置

前面我们将IGMP协议和PIM-DM协议理论知识都学完了,现在开始进入实践,毕竟只有完成实践是最好的检验方式。IGMP是用于感知组播组成员,而PIM-DM是用于在域内构建组播分发树的的协议,本次实验使用这两项技术进行分析与实践。 一、拓扑…

upload-labs漏洞靶场~文件上传漏洞

寻找测试网站的文件上传的模块,常见:头像上传,修改上传,文件编辑器中文件上传,图片上传、媒体上传等,通过抓包上传恶意的文件进行测试,上传后缀名 asp php aspx 等的动态语言脚本,查…

电脑新加的硬盘如何分区?新加硬盘分区选MBR还是GPT

最近有网友问我,电脑新加的硬盘如何分区?电脑新加的硬盘分区选MBR还是GPT要看引导模式采用uefi还是传统的legacy模式,如果采用的是uefi引导模式,分区类型对应的就是gpt分区(guid),如果引导模式采用的是legacy,对应的分区类型为mb…

Spring Boot集成sse实现chatgpt流式交互

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 什么是sse? SSE可以指代两种不同的概念:一是指“服务器发送事件”(Server-Sent Events),另一种是指英特尔的“因特网数据流单指令序列扩展”(Streaming SIMD Extensions)。…

循环结构(三)——do-while语句

目录 🍁引言 🍁一、语句格式 🚀格式1 🚀格式2 🍁二、语句执行过程 🍁三、实例 🚀【例1】 🚀【例2】 🚀【例3】 🍁总结 🍁备注 &am…

Unity获取Animator动画播放完成事件

整理了一些在日常经验中处理动画播放完成事件的方法 方法: 1.Dotween配合异步实现 2.状态机计时方法实现 3.原生动画行为方法实现 方法一:Dotween异步方法 using UnityEngine; using System.Threading.Tasks; using DG.Tweening;public class PlayerAnimAsync : M…

Java——多线程(6/9):线程池、处理Runnable、Callable任务(认识线程池-线程池的工作原理,ThreadPoolExecutor构造器)

目录 认识线程池 介绍 线程池的工作原理 如何创建线程池 介绍 ThreadPoolExecutor构造器 代码实例 线程池的注意事项 线程池处理Runnable任务 ExecutorService的常用方法 代码实例 新任务拒绝策略 线程池处理Callable任务 ExecutorService的常用方法 代码实例…