陇剑杯 2021刷题记录

news/2024/5/19 23:20:38 标签: 网络安全, ctf, 流量分析

题目位置: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

答案

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


http://www.niftyadmin.cn/n/5382498.html

相关文章

GO语言的变量与常量

1.变量 go是一个静态语言 变量必须先定义后使用变量必须要有类型 定义变量的方式: var 名称 类型 var 名称 值 名称 :值 例如: var num int 这样就存了一个num类型为int的变量 var num 1 上面使用简化的定义通过num自动判断后面的类型为int并…

Leetcode 3039. Apply Operations to Make String Empty

Leetcode 3039. Apply Operations to Make String Empty 1. 解题思路2. 代码实现 题目链接:3039. Apply Operations to Make String Empty 1. 解题思路 这一题的话其实挺简单的,想清楚的话其实最后一轮遗留的字符必然是出现频率最高的一个或多个字符的…

【C++杂货铺】string详解

目录 1. 基本概念: 1.1 本质: 1.2 string和char*区别: 1.3 特点: 2. 构造函数(初始化) 3. 赋值操作 4. 字符串拼接 5 查找 和 替换 6. 字符串比较 7. 字符存取 8. 插入和删除 ​9. 子串获取 🌈前言&#x…

Rust 数据结构与算法:2线性数据结构 之 栈

二、基础数据结构 1、线性数据结构 数组、栈、队列、双端队列、链表这类数据结构都是保存数据的容器,数据项之间的顺序由添加或删除时的顺序决定,数据项一旦被添加,其相对于前后元素就会一直保持位置不变,诸如此类的数据结构被称为线性数据结构。线性数据结构有两端,称为…

前端样式 Flex布局(Flexible Box Layout)用法详解

Flex布局(Flexible Box Layout)是一种用于在容器内分配和对齐子元素的高效方式。通过Flex布局,可以轻松实现各种复杂的布局结构,同时保持良好的响应性和可维护性。本文将详细介绍Flex布局的用法,包括容器属性和子元素属…

Spring 用法学习总结(三)之 AOP

Spring学习 7 bean的生命周期8 AOP面向切面编程8.1 AOP相关术语8.2 AOP使用 7 bean的生命周期 bean的生命周期主要为bean实例化、bean属性赋值、bean初始化、销毁bean,其中在实例化和初始化前后都使用后置处理器方法,而InstantiationAwareBeanPostProce…

Linux基础IO【文件系统】

目录 1.磁盘文件 2.磁盘概念 2.1基本结构 2.2数据存储 3磁盘信息 3.1块组信息 4.文件操作 4.1文件创建 4.2文件访问 4.3对文件增删查改 4.4大文件存储 总结: 1.磁盘文件 在计算机中,没有被打开的文件都是静静的躺在外存(磁盘…

【白嫖8k买的机构vip教程】Selenium(3):python+selenium环境安装

准备工具如下: Python安装包:https://www.python.org/getit/PyCharm Pycharm安装包:http://www.jetbrains.com/pycharm/download/Selenium Selenium安装包:https://pypi.python.org/pypi/selenium、或者在pycharm中直接下载seleni…