陇剑杯 2021刷题记录

2024-02-19 12:36
文章标签 记录 刷题 2021 陇剑杯

本文主要是介绍陇剑杯 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刷题记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

【每日刷题】Day113

【每日刷题】Day113 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 91. 解码方法 - 力扣(LeetCode) 2. LCR 098. 不同路径 - 力扣(LeetCode) 3. 63. 不同路径 II - 力扣(LeetCode) 1. 91. 解码方法 - 力扣(LeetCode) //思路:动态规划。 cl

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

2021-8-14 react笔记-2 创建组件 基本用法

1、目录解析 public中的index.html为入口文件 src目录中文件很乱,先整理文件夹。 新建components 放组件 新建assets放资源   ->/images      ->/css 把乱的文件放进去  修改App.js 根组件和index.js入口文件中的引入路径 2、新建组件 在components文件夹中新建[Name].js文件 //组件名首字母大写

2021-08-14 react笔记-1 安装、环境搭建、创建项目

1、环境 1、安装nodejs 2.安装react脚手架工具 //  cnpm install -g create-react-app 全局安装 2、创建项目 create-react-app [项目名称] 3、运行项目 npm strat  //cd到项目文件夹    进入这个页面  代表运行成功  4、打包 npm run build