hackergame2023菜菜WP

news2024/12/26 15:44:55

文章目录

    • 总结
    • Hackergame2023
    • 更深更暗
    • 组委会模拟器
    • 猫咪小测
    • 标题HTTP集邮册
    • Docker for everyone
    • 惜字如金 2.0
    • Git? Git!
    • 高频率星球
    • 低带宽星球
    • 小型大语言模型星球
    • 旅行日记3.0
    • JSON ⊂ YAML?

总结

最近看到科大在举办CTF比赛,刚好我学校也有可以参加,就玩了玩。

个人比较菜,下班时间玩了几天,感觉挺有趣也有难度,感觉偏学术和代码水平多一些吧,还是不错的

官方也已经放出WP了,找时间好好研究一下
WP:https://github.com/USTC-Hackergame/hackergame2023-writeups

题目说是会保存三个月,大家可以直接去练习的,wp里面有一个cookie,可以直接使用
比赛平台 https://hack.lug.ustc.edu.cn/
在这里插入图片描述
在这里插入图片描述
我学校已经没什么人参加,总排名只有前100,也看不到我的进度,菜鸡就不配上总排名吗(恼

Hackergame2023

修改参数相似度>99即可

在这里插入图片描述

更深更暗

在这里插入图片描述
查看js可以看到一个输出flag的函数

发现有利用token,往前找到token的地方
在这里插入图片描述
调用控制台将这个输出
在这里插入图片描述

flag{T1t@n_3f0f8228c4091da66fdc5e5c2f079c17}

组委会模拟器

分析代码是,需要在delay到delay+3秒内,发功deleteMessage请求,那么就用python实现了
先请求getMessages拿到消息json,然后根据时间戳进行及时删除
在这里插入图片描述
跑完之后再发一个getflag请求
在这里插入图片描述

代码:

import json
import time

import requests

proxies = {"http": "http://127.0.0.1:8080"}


def get_message():
    cookies = {
        'session': 'eyJ0b2tlbiI6IjMyMzk6TUVRQ0lDdCtwSzM1SVh0d0g2NTJFQnBOWllNMEdmS1FlMklSWXFmd05NUWp0MVFtQWlCTjd6MkgvZ0tBNG9yUEp5RnVQRWRJQkFyS3NqUk5HbWp3Vk0yRWUxZlU2Zz09In0.ZUD8Dg.3FgIytLoNo8vpmT0YYzmvq-pit8',
    }

    headers = {
        'Accept': 'application/json, text/plain, */*',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        # 'Content-Length': '0',
        # 'Cookie': 'session=eyJ0b2tlbiI6IjMyMzk6TUVRQ0lDdCtwSzM1SVh0d0g2NTJFQnBOWllNMEdmS1FlMklSWXFmd05NUWp0MVFtQWlCTjd6MkgvZ0tBNG9yUEp5RnVQRWRJQkFyS3NqUk5HbWp3Vk0yRWUxZlU2Zz09In0.ZUD8Dg.3FgIytLoNo8vpmT0YYzmvq-pit8',
        'Origin': 'http://202.38.93.111:10021',
        'Proxy-Connection': 'keep-alive',
        'Referer': 'http://202.38.93.111:10021/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
    }

    response = requests.post('http://202.38.93.111:10021/api/getMessages', cookies=cookies, headers=headers,
                             verify=False, proxies=proxies)

    with open("1.txt", "w", encoding="utf-8") as f:
        f.write(str(response.text))


get_message()
timestamp = time.time()
need_delete = open("1.txt", "r", encoding="utf-8")
need_delete_json = json.loads(need_delete.read())


def post(aaa):
    cookies = {
        'session': 'eyJ0b2tlbiI6IjMyMzk6TUVRQ0lDdCtwSzM1SVh0d0g2NTJFQnBOWllNMEdmS1FlMklSWXFmd05NUWp0MVFtQWlCTjd6MkgvZ0tBNG9yUEp5RnVQRWRJQkFyS3NqUk5HbWp3Vk0yRWUxZlU2Zz09In0.ZUD8Dg.3FgIytLoNo8vpmT0YYzmvq-pit8',
    }

    headers = {
        'Accept': 'application/json, text/plain, */*',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Content-Type': 'application/json',
        # 'Cookie': 'session=eyJ0b2tlbiI6IjMyMzk6TUVRQ0lDdCtwSzM1SVh0d0g2NTJFQnBOWllNMEdmS1FlMklSWXFmd05NUWp0MVFtQWlCTjd6MkgvZ0tBNG9yUEp5RnVQRWRJQkFyS3NqUk5HbWp3Vk0yRWUxZlU2Zz09In0.ZUD8Dg.3FgIytLoNo8vpmT0YYzmvq-pit8',
        'Origin': 'http://202.38.93.111:10021',
        'Proxy-Connection': 'keep-alive',
        'Referer': 'http://202.38.93.111:10021/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
    }

    json_data = {
        'id': aaa,
    }

    response = requests.post(
        'http://202.38.93.111:10021/api/deleteMessage',
        cookies=cookies,
        headers=headers,
        json=json_data,
        verify=False,
        proxies=proxies
    )
    print(response.text)

    # Note: json_data will not be serialized by requests
    # exactly as it was in the original request.
    # data = '{"id":4}'
    # response = requests.post('http://202.38.93.111:10021/api/deleteMessage', cookies=cookies, headers=headers, data=data, verify=False)


aaa = 0

for i in need_delete_json['messages']:
    nowtime = time.time()
    if nowtime < timestamp +  i['delay']:
        time.sleep(timestamp +  i['delay'] - nowtime)
    if time.time() < timestamp + i['delay'] + 3:
        if "hack[" in i['text']:
            post(aaa)
    else:
        print("超时")
    aaa += 1

猫咪小测

在这里插入图片描述

图书在哪一层
在这里插入图片描述

西区外文书库
在这里插入图片描述
12层

可观测宇宙中的鸡的客度上限,直接百度,1023pc-3,应该是10的23次方什么的
在这里插入图片描述

通过搜索,找到一个文章,里面写到CONFIG_TCP_CONG_BBRMO,但是尝试后不对,但是有感觉很接近,于是去掉最后MO
CONFIG_TCP_CONG_BBR 正确
在这里插入图片描述

这个学术会议,应该是用的英语,所以先把题目描述转换成英文,再到英文检索平台去搜索
在这里插入图片描述

发现一篇pdf
在这里插入图片描述

路径里面文件名,写了哪个会议的哪个文章

标题HTTP集邮册

200 400 404 405 比较好弄,随便输,
414,请求路径过长就行
在这里插入图片描述
无状态:其实无意中,发现/HTTP就直接无状态了
在这里插入图片描述

Docker for everyone

docker run -it --rm -v /dev/shm:/mnt 187eae39ad94 /bin/sh
在这里插入图片描述

惜字如金 2.0

看规则,应该是删除了e和重复的韵母
代码里面有个对比函数是没有用处的,只会导致报错,把这个函数删掉就行
应该是从一长串字符串里面,按照指定的顺序去读取,那么前五个肯定是flag{
然后判断在符号前面是不是需要补e
凑出flag{后差不多再微调就可以了
在这里插入图片描述

def get_cod_dict():
    # prepar th cod dict
    cod_dict = []
    cod_dict += ['nymeh1niwemflcir}eechaet']
    cod_dict += ['a3g7}kidgojernoetlsup?eh']
    cod_dict += ['ulwe!f5soadrhwnrsnstnoqe']
    cod_dict += ['cte{l-findiehaai{oveatas']
    cod_dict += ['tye9kxborszstguyd?!blm-p']
    return ''.join(cod_dict)

def decrypt_data(input_codes):
    # retriev th decrypted data
    cod_dict = get_cod_dict()
    output_chars = [cod_dict[c] for c in input_codes]
    return ''.join(output_chars)

if __name__ == '__main__':
    # check som obvious things
    # check th flag
    flag = decrypt_data([53, 41, 85, 109, 75, 1, 33, 48, 77, 90,
                         17, 118, 36, 25, 13, 89, 90, 3, 63, 25,
                         31, 77, 27, 60, 3, 118, 24, 62, 54, 61,
                         25, 63, 77, 36, 5, 32, 60, 67, 113, 28])
    # print th flag
    print(flag)

Git? Git!

根据题目要求,发现是提交到本地了,那本地文件里面应该是有这个记录的,但是需要想办法拿出来

参考https://01.me/2015/05/recover-code-from-corrupt-git-repo/

把object里面的一个一个解压出来,看看有没有flag
在这里插入图片描述
在这里插入图片描述

高频率星球

asciinema 是一个命令录制工具,需要把命令回放
在这里插入图片描述
直接保存到js文件,然后把一些ESC标识符删除就行,使用node运行js即可
在这里插入图片描述

低带宽星球

直接压缩图片
https://tinify.cn/
压缩一次
拿到一个
在这里插入图片描述

小型大语言模型星球

需要引导模型说出指定的话
Flag1
在这里插入图片描述

旅行日记3.0

在这里插入图片描述

首先找第二个题,通过名字可以看出来是小柴昌俊,搜索得到,东京大学

然后进入东京大学官网查询 诺贝尔奖展厅
https://www.s.u-tokyo.ac.jp/en/gallery/
https://www.s.u-tokyo.ac.jp/en/gallery/nobelprize/
在这里插入图片描述

找到年龄最小的
在这里插入图片描述
东京大学宇宙辐射研究所 简称ICRR

然后会过来看第一个提,结合第三题,因为是一个大型活动,需要招募志愿者,并且是在学校附近的广场,还有博物馆在这里插入图片描述

谷歌地图上面发现比较近的博物馆和广场,东京国立博物馆、上野公园广场Takenodai Square (Fountain Square),

通过雅虎日本 搜索,上野公园广场 活动 招募志愿者 (使用日语搜索,竹の台広場(噴水広場)で応募者を募集します)
在这里插入图片描述

找到一个比较接近暑假时间段的
在这里插入图片描述

应该是第一天,2023-08-10

问卷连接也同时拿到了

https://ws.formzu.net/dist/S495584522/

,1、3题都解决了,再看第四题,学长应该是去的东京国立博物馆
在这里插入图片描述

但是试了一下,这个数字不对,这时候注意到后面写的,对部分人可以免费,猜测是0元

第六题
熊猫
在这里插入图片描述

东京任天堂-》涩谷站-》秋田犬

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JSON ⊂ YAML?

在这里插入图片描述

123e99
Json和yaml表示的不一致
在这里插入图片描述

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

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

相关文章

SQL左连接实战案例

要求&#xff1a;用表df1和表df2的数据&#xff0c;得到df3 一、创建表 CREATE TABLE df1 (姓名 varchar(255) DEFAULT NULL,年龄 int DEFAULT NULL,部门 varchar(255) DEFAULT NULL,id int DEFAULT NULL );CREATE TABLE df2 (部门 varchar(255) DEFAULT NULL,年龄 int DEFAU…

【LeetCode刷题-链表】--328.奇偶链表

328.奇偶链表 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ clas…

【漏洞复现】Apache_Tomcat_PUT方法任意写文件(CVE-2017-12615)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证工具扫描验证POC 1.6、修复建议 说明内容漏洞编号CVE-2017-12615漏洞名称Tomcat_PU…

python实现多帧torch.istft的结果可以由多个单帧torch.istft的结果重叠拼接得到

&#x1f525; &#x1f525; &#x1f525; 背景&#xff1a;做某个项目&#xff08;由于项目处于保密状态&#xff0c;只提供思路&#xff09;&#xff0c;需要求多帧的istft。但是手头只有单帧的istft代码(当然不能python代码&#xff0c;不然就直接调包)。 &#x1f4e3; …

Quartus II 13.0波形仿真(解决无法产生仿真波形问题)

目录 前言 新建工程 创建Verilog文件&#xff0c;写代码 波形仿真&#xff08;解决没有输出波问题&#xff09; 前言 这么说把Quartus II 13.0是我目前来讲见过最恶心的软件&#xff0c;总是一大堆麻烦事&#xff0c;稍微哪里没弄好就后面全都出问题。很多人在写完Verilog代…

ke9案例三:页面提交文件,我服务器端接收

案例三:页面提交文件,我服务器端接收 ProcessFile.java 1value "/process-file" 2获取邮件消息的所有部分part--Collection<Part> partsrequest.getParts(); 3遍历每一个part 4之后可以打印头文件等String headerpart.getHeader("content-disposition&q…

配件管理系统软件哪家好?企业配件管理要怎么做?

在许多企业中&#xff0c;生产数据的记录仍然依赖于纸质流转卡&#xff0c;这种传统的方式带来了许多问题。手工填写导致的字迹潦草、数据不准确或不完全、统计困难等都是无法避免的问题。为了解决这些问题&#xff0c;我们推荐使用一款智能配件管理系统&#xff0c;帮助企业从…

Springboot搭建微服务案例之Eureka注册中心

一、父工程依赖管理 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org…

常见通信协议

博客内容&#xff1a;UART,IIC,SPI 文章目录 一、UART二、IIC三、SPI总结 一、UART 一种串行通信接口协议&#xff0c;用于在计算机系统和外部设备之间进行数据传输。UART可以支持异步和同步两种通信方式。在异步通信方式下&#xff0c;数据传输不需要在发送方和接收方之间进行…

自学SLAM(7)非线性优化实践:曲线拟合问题(使用ceres库和SLAM常用的g2o库)

前言 本次文章针对的是第四个视屏中的实践问题 肯定会有部分方法没有说到&#xff0c;比如高斯牛顿法&#xff0c;后面我会把此次视屏对应的作业写好&#xff0c;然后补充到此次博客&#xff01;&#xff01; 文章目录 前言1.曲线拟合题目&#xff1a;2.非线性最小二乘2.1 黄金…

网络基础扫盲-初识网络

博客内容&#xff1a;初识网络 文章目录 一、OSI七层网络模型二、TCP/IP四层模型1、MAC地址与IP地址 前言 在以前网络不够发之前&#xff0c;各个实验室进行一些研究时需要进行数据的交流&#xff0c;但是那时车马很慢&#xff0c;一生只够跑几次&#xff0c;所以就有人研究了网…

Reshape.XL 1.2 for Excel插件 Crack

特征 插件 Reshape.XL 包括 130 个基本可组合功能。使用它们&#xff0c;您可以快速轻松地进行非常复杂的数据转换和处理。它们的架构和基本定义受到 SQL 和 R 语言的强烈启发。 到目前为止&#xff0c;类似的功能只能通过脚本语言供程序员使用。借助 Reshape.XL 插件&#xf…

Pyhotn: Mac安装selenium和chromedriver-119

1.0 安装selenium 终端输入&#xff1a; pip install selenium 查看版本&#xff1a; pip show selenium2.0 安装chromedriver 查看chrome版本 网上大多数是&#xff0c;基本到114就停了。 https://registry.npmmirror.com/binary.html?pathchromedriver/ 各种搜索&#…

Java自学第4课:Java数组,类,对象

1 一维数组的创建和使用 2种创建形式&#xff1a; &#xff08;1&#xff09;先声明&#xff0c;再用new分配内存 &#xff08;2&#xff09;声明的同时分配内存 2种幅值形式 &#xff08;1&#xff09;用new{}赋值 &#xff08;2&#xff09;用{}赋值 如果不使用的话&a…

【jvm】虚拟机栈

目录 一、背景二、栈与堆三、声明周期四、作用五、特点&#xff08;优点&#xff09;六、可能出现的异常七、设置栈内存大小八、栈的存储单位九、栈运行原理十、栈帧的内部结构10.1 说明10.2 局部变量表10.3 操作数栈10.4 动态链接10.5 方法返回地址10.6 一些附加信息 十一、代…

【强化学习】16 ——PPO(Proximal Policy Optimization)

文章目录 前言TRPO的不足PPO特点 PPO-惩罚PPO-截断优势函数估计算法伪代码PPO 代码实践参考 前言 TRPO 算法在很多场景上的应用都很成功&#xff0c;但是我们也发现它的计算过程非常复杂&#xff0c;每一步更新的运算量非常大。于是&#xff0c;TRPO 算法的改进版——PPO 算法…

【PyQt学习篇 · ⑪】:QPushButton和QCommandLinkButton的使用

文章目录 构造函数菜单设置扁平化默认处理右键菜单QCommandLinkButton的使用 构造函数 QPushButton的构造函数如下&#xff1a; """QPushButton(parent: Optional[QWidget] None)QPushButton(text: Optional[str], parent: Optional[QWidget] None)QPushButt…

基于动力学模型的机械臂pid控制

参考资料&#xff1a; 一、如何实现机械臂的控制 在最常见的对机械臂动力学实现控制的问题中&#xff0c;我们会有一段机械臂末端的期望轨迹S&#xff0c;希望通过对机械臂关节处电机转矩的控制实现末端沿期望轨迹的完美运动。控制问题主要分为镇定和跟踪两种&#xff0c;上面…

2023/11/4 JAVA学习

通过匿名内部类

verdi技巧分享--合并多个fsdb文件、统计信号边沿

文章目录 0 前言1 如何显示信号高位的02 统计信号的上升沿、下降沿3 合并信号4 将多个fsdb文件合并成一个 0 前言 分享几个这段时间学到的verdi操作 1 如何显示信号高位的0 这个可能对一些有强迫症的有帮助吧 nand相关的操作&#xff0c;有一些特定的cmd&#xff0c;比如 r…