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

陇剑杯 2021刷题记录

题目位置:https://www.nssctf.cn/上有

陇剑杯 2021

  • 1. 签到题
    • 题目描述
      • 分析
      • 答案
      • 小结
  • 2. jwt
    • 问1
      • 析1
      • 答案
      • 小结
    • 问2
      • 析2
      • 答案
      • 小结
    • 问3
      • 析3
      • 答案
    • 问4
      • 析4
      • 答案
    • 问5
      • 析5
      • 答案
    • 问6
      • 析6
      • 答案
  • 3. webshell
    • 问1
      • 析1
      • 答案
    • 问2
      • 析2
      • 答案
    • 问3
      • 析3
      • 答案

1. 签到题

题目描述

此时正在进行的可能是__________协议的网络攻击。(如有字母请全部使用小写,填写样例:http、dns、ftp)。得到的flag请使用NSSCTF{}格式提交。

分析

wireshark打开下载的附件Good.pcapng
查看统计出的协议分级
在这里插入图片描述在TCP协议里HTTP协议占了大部分。
过滤http协议,发现大量的403返回提示请求失败
在这里插入图片描述

答案

答案:NSSCTF{http}

小结

  • 考察流量包中的协议统计:Wireshark -> 统计 -> 协议分级。
  • HTTP,全称是 HyperText Transfer Protocol,中文叫做超文本传输协议。它是一种用于分布式、协作式和超媒体信息系统的应用层协议。
  • HTTP 协议是应用层协议,主要解决如何包装数据,是基于TCP连接的。

2. jwt

问1

昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:
该网站使用了______认证方式。(如有字母请全部使用小写)。得到的flag请使用NSSCTF{}格式提交。

析1

wireshark打开下载的附件goroot.pcapng
追踪TCP流,在tcp.stream eq 1 发现通过token认证登录
在这里插入图片描述

答案

答案:NSSCTF{jwt}

小结

  • 常见的登录认证方式:OAuth 令牌授权、Cookie\Session认证、Token认证。
  • 基于JWT的Token认证:JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。 JWT是由三段信息构成的,将这三段信息文本用小数点连接就构成了Jwt字符串
  • JWT组成:第一部分header,放入token的类型(“JWT”)和算法名称(RS256等);第二部分payload,放入用户的不敏感信息(用户id等);第三部分signature,根据不公开的秘钥加上header中声明的算法,生成特定的签名。最终三部分组合起来即形成了token,发送给客户端。

问2

昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:
黑客绕过验证使用的jwt中,id和username是______。(中间使用#号隔开,例如1#admin)。得到的flag请使用NSSCTF{}格式提交。

析2

执行whoami时,前面都提示需要管理员权限
在tcp.stream eq 10中,执行命令成功回显root,因此该处的token为所需的数据。
在这里插入图片描述
对应的token为:
token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTAwODcsIk1hcENsYWltcyI6eyJ1c2VybmFtZSI6ImFkbWluIn19.rurQD5RYgMrFZow8r-k7KCP13P32sF-RpTXhKsxzvD0
对其进行base64解密:
在这里插入图片描述

答案

答案:NSSCTF{10087#admin}

小结

  • JWT的token认证生成: jwt生成的token是由三段字符串拼接而成,使用.连接起来。
  • 第一、二部分可以通过Base64解密得到,但第三部分不可以!

当前题目中:
token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTAwODYsIk1hcENsYWltcyI6eyJhdWQiOiJhZG1pbiIsInVzZXJuYW1lIjoiYWRtaW4ifX0.dJArtwXjas3_Cg9a3tr8COXF7DRsuX8UjmbC1nKf8fc
在这里插入图片描述

  • token的第一段字符串:由json数据{“alg”:“HS256”,“typ”:“JWT”}通过base64(可逆)加密算法得到。
"alg": "HS256"	//第三段字符串的不可逆加密类型HS256
"typ": "JWT"	//token类型JWT
  • token的第二段字符串:是由payload信息{“id”:10087,“MapClaims”:{“username”:“admin”}}通过base64(可逆)加密算法得到。
payload信息为自定义值,一般不放敏感信息
"id":10087	//用户id
"MapClaims"	//这是一个嵌套的JSON对象,其中包含了特定的声明(claims)。在JWT(JSON Web Tokens)和其他认证协议中,声明是用来传递有关主题(通常是用户)的信息。
"username":"admin"	//用户名信息
  • token的第三段字符串构成:先将第一段和第二段的密文拼接起来,然后对拼接起来的密文字符串和自定义的盐进行上边指定的HS256加密,最后对HS256加密后的密文再做base64加密。

问3

昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:
黑客获取webshell之后,权限是______?。得到的flag请使用NSSCTF{}格式提交。

析3

根据第二小题中,可知最终提权得到的管理员用户是root。
在TCP流tcp.stream eq 30中,查看/tmp目录时也得到了验证:
在这里插入图片描述

答案

答案:NSSCTF{root}

问4

昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:
黑客上传的恶意文件文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)。得到的flag请使用NSSCTF{}格式提交。

析4

在TCP流tcp.stream eq 13中,将命令执行结果传入了/tmp/1.c文件中:
在这里插入图片描述

答案

答案:NSSCTF{1.c}

问5

昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:
黑客在服务器上编译的恶意so文件,文件名是_____________。(请提交带有文件后缀的文件名,例如x.so)。得到的flag请使用NSSCTF{}格式提交。

析5

在tcp.stream eq 16中,
在这里插入图片描述
解密此命令,发现文件looter.so
在这里插入图片描述

答案

答案:NSSCTF{looter.so}

问6

昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:
黑客在服务器上修改了一个配置文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)。得到的flag请使用NSSCTF{}格式提交。

析6

在第25个TCP流中,
在这里插入图片描述在第26个TCP流中,将结果输入到/etc/pam.d/common-auth
在这里插入图片描述
在第27个TCP流中,查看执行结果
在这里插入图片描述

答案

答案:NSSCTF{/etc/pam.d/common-auth}

3. webshell

问1

单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
黑客登录系统使用的密码是_____________。。得到的flag请使用NSSCTF{}格式提交。

析1

wireshark打开下载的附件hack.pcap
根据常见的登录关键词过滤:
在这里插入图片描述
查看到输入的用户名和密码,追踪该用户是否成功登录,返回200
在这里插入图片描述

答案

答案:NSSCTF{Admin123!@#}

问2

单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
黑客修改了一个日志文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)。得到的flag请使用NSSCTF{}格式提交。

析2

根据Logs关键词查找:
在这里插入图片描述
追踪TCP流25:
在这里插入图片描述
得到日志文件的相对路径。可根据常见服务器根目录/var/www/html,拼接成绝对路径。
使用pwd关键词过滤:
在这里插入图片描述在这里插入图片描述

分析tcp流31:
在这里插入图片描述发送pwd命令请求,成功回显200:
在这里插入图片描述
返回的信息中包含了根目录/var/www/html。

答案

答案:NSSCTF{/var/www/html/data/Runtime/Logs/Home/21_08_07.log}

问3

单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
黑客获取webshell之后,权限是______?得到的flag请使用NSSCTF{}格式提交。

析3

答案

未完待续。。。(哈哈哈哈,明天继续)

相关文章:

陇剑杯 2021刷题记录

题目位置:https://www.nssctf.cn/上有 陇剑杯 2021 1. 签到题题目描述分析答案小结 2. jwt问1析1答案小结 问2析2答案小结 问3析3答案 问4析4答案 问5析5答案 问6析6答案 3. webshell问1析1答案 问2析2答案 问3析3答案 1. 签到题 题目描述 此时正在进行的可能是_…...

前端常见的设计模式

说到设计模式,大家想到的就是六大原则,23种模式。这么多模式,并非都要记住,但作为前端开发,对于前端出现率高的设计模式还是有必要了解并掌握的,浅浅掌握9种模式后,整理了这份文章。 六大原则&…...

OpenAI视频生成模型Sora的全面解析:从ViViT、扩散Transformer到NaViT、VideoPoet

前言 真没想到,距离视频生成上一轮的集中爆发(详见《Sora之前的视频生成发展史:从Gen2、Emu Video到PixelDance、SVD、Pika 1.0》)才过去三个月,没想OpenAI一出手,该领域又直接变天了 自打2.16日OpenAI发布sora以来(其开发团队包…...

3个密码学相关的问题

一、离散对数问题(Discrete Logarithm Problem, DLP) 问题描述:给定 有限阿贝尓群 G中的2个元素a和b,找出最小的正整数x满足:b a ^^ x (或者证明这样的x不存在)。 二、阶数问题(O…...

5G网络eMBB、uRLLC、mMTC

ITU(国际电信联盟)于2015年9月正式定义了5G的三大应用场景:eMBB(增强型移动宽带)、uRLLC(低时延高可靠通信)、mMTC(海量物联网通信)。 eMBB是4G MBB(移动宽带…...

matplotlib图例使用案例1.1:在不同行或列的图例上添加title

我们将图例进行行显示或者列显示后,只能想继续赋予不同行或者列不同的title来进行分类。比较简单的方式,就是通过ax.annotate方法添加标签,这样方法复用率比较低,每次使用都要微调ax.annotate的显示位置。比较方便的方法是在案例1…...

nginx 日志改为json格式

nginx 日志改为json格式 场景描述效果变更旧样式新样式 场景描述 正常使用nginx时,使用默认的日志输出格式,对于后续日志接入其他第三方日志收集、清洗环节,因分隔符问题可能不是很友好。 xxxx - - [19/Feb/2024:11:16:48 0800] "GET …...

【DDD】学习笔记-应用服务

Eric Evans 为运用领域驱动设计的系统架构划定了层次,在领域层和展现层之间引入了应用层(Application Layer):“应用层要尽量简单,不包含业务规则或者知识,而只为下一层(指领域层)中…...

【医学大模型】MEDDM LLM-Executable CGT 结构化医学知识: 将临床指导树结构化,便于LLM理解和应用

MEDDM LLM-Executable CGT 结构化医学知识: 将临床指导树结构化,便于LLM理解和应用 提出背景对比传统医学大模型流程步骤临床指导树流程图识别临床决策支持系统 总结解决方案设计数据收集与处理系统实施临床决策支持 提出背景 论文:https://arxiv.org/p…...

YOLOV8改进系列指南

基于Ultralytics的YOLOV8改进项目.(69.9) 为了感谢各位对V8项目的支持,本项目的赠品是yolov5-PAGCP通道剪枝算法.具体使用教程 专栏改进汇总 二次创新系列 ultralytics/cfg/models/v8/yolov8-RevCol.yaml 使用(ICLR2023)Reversible Column Networks对yolov8主干进行重设计,里…...

FlinkSql一个简单的测试程序

FlinkSql一个简单的测试程序 以下是一个简单的 Flink SQL 示例,展示了如何使用 Flink Table API 和 Flink SQL 进行基本的数据流处理。 定义数据实体 CC : - CC 类表示数据流中的元素,包含两个字段: character (字符&a…...

二、ActiveMQ安装

ActiveMQ安装 一、相关环境二、安装Java8三、下载安装包四、启动五、其他命令六、开放端口七、后台管理 一、相关环境 环境:Centos7.9安装ActiveMQ版本:5.15.9JDK8 二、安装Java8 安装教程:https://qingsi.blog.csdn.net/article/details/…...

通俗易懂的L0范数和L1范数及其Python实现

定义 L0 范数(L0-Norm) L0 范数并不是真正意义上的一个范数,因为它不满足范数的三角不等式性质,但它在数学优化和信号处理等领域有着实际的应用。L0 范数指的是向量中非零元素的个数。它通常用来度量向量的稀疏性。数学上表示为…...

如何在30天内使用python制作一个卡牌游戏

如何在30天内使用python制作一个卡牌游戏 第1-5天:规划和设计第6-10天:搭建游戏框架第11-20天:核心游戏机制开发第21-25天:游戏界面和用户体验第26-30天:测试和发布附加建议游戏类型游戏规则设计界面设计技术选型第6-…...

VsCode指定插件安装目录

VsCode指定插件安装目录 VsCode安装的默认目录是在用户目录(%HomePath%)下的.vscode文件夹下的extensions目录下,随着安装插件越来越多会占用大量C盘空间。 指定VsCode的插件目录 Vscode安装目录: D:\Microsoft VS Code\Code.exeVscode插件安装目录&a…...

解决npm淘宝镜像到期问题

1 背景 由于node安装插件是从国外服务器下载,如果没有“特殊手法”,就可能会遇到下载速度慢、或其它异常问题。 所以如果npm的服务器在中国就好了,于是我们乐于分享的淘宝团队干了这事。你可以用此只读的淘宝服务代替官方版本,且…...

【JAVA】java泛型 详解

java泛型 详解 一、参数化类型(Parameterized Type):二. 泛型类(Generic Class):三. 泛型方法(Generic Method):四. 通配符类型(Wildcard Type)&a…...

基于RBAC的权限管理的理论实现和权限管理的实现

权限管理的理论 首先需要两个页面支持,分别是角色管理和员工管理,其中角色管理对应的是角色和权限的配合,员工管理则是将登录的员工账号和员工所处的角色进行对应,即通过新增角色这个概念,让权限和员工并不直接关联&a…...

Atcoder ABC340 C - Divide and Divide

Divide and Divide(分而治之) 时间限制:2s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例…...

趣学贝叶斯统计:概率密度分布(probability density function)

目录 1. 分布:PDF与PMFPDFPMF 2. 将概率密度函数应用于我们的问题用积分量化连续分布积分度量变化率:导数 3. R语言实践4. 小结 1. 分布:PDF与PMF PDF PDF定义在连续值上。在连续型随机变量的情况下,具体取某个数值的概率是0,因此PDF并不直…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂&#xff…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

抽象类和接口(全)

一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...