hackergame2023菜菜WP

news/2024/5/19 22:48:14 标签: CTF, 网络安全

文章目录

    • 总结
    • 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.niftyadmin.cn/n/5151205.html

相关文章

图片复制上传,拖拽输入框上传,el-upload自定义上传方法(上传和备注框强关联)

1. 效果图&#xff1a; 2. 复制图片使用的方法&#xff1a; 1.通过监听paste方法&#xff0c;获取复制内容2.获取复制内容中的clipboardData3.获取file文件进行上传 <input paste.native"handlePaste" />handlePaste(value){let files value.clipboardData…

电脑报错找不到msvcp120dll,无法继续执行代码,怎么修复?

在运行电脑软件时&#xff0c;出现msvcp120.dll丢失&#xff0c;我深知大家在遇到这种电脑问题时所感受到的无助和焦虑。今天&#xff0c;我就来为大家分享一下关于msvcp120.dll文件缺失的4个一键解决方法&#xff0c;希望能帮助到大家。 首先&#xff0c;我们要明确什么是msv…

Capto2024专为Mac电脑设计的屏幕录制和视频编辑软件

不得不说视频编辑功能&#xff1a;Capto提供了多种视频编辑功能&#xff0c;例如剪辑、旋转、裁剪、调整音频和视频的音量、加入水印、添加注释等&#xff0c;你能够使用Capto编辑你的视频&#xff0c;使之更加专业和生动。有目共睹的是录制完成后&#xff0c;你能够使用Capto提…

ant的Replace任务(task)

replace将选定文件中的一个字符串替换为另外一种字符串。 file属性&#xff1a;指明要替换字符串标记&#xff08;token&#xff09;的一个文件。该属性和dir属性必须出现一个。dir属性&#xff1a;如果要替换多个文件中的字符串标记&#xff0c;该属性指明了基目录。该属性和…

QSqlTableModel结合使用数据库心得

文章目录 目的QSqlTableModel采用Model-View-Delegate(模型视图代理)框架的整体结构QT数据库组件用户界面层(UI Layer)SQL接口层(SQL API Layer)驱动程序层(Driver Layer)实现翻页功能实现数据库查询功能QSqlDatabaseQSqlQueryQSqlRecord目的 1: 了解QSqlTableMode 与 数据库…

《视觉SLAM十四讲》-- 概述与预备知识

文章目录 01 概述与预备知识1.1 SLAM 是什么1.1.1 基本概念1.1.2 视觉 SLAM 框架1.1.3 SLAM 问题的数学表述 1.2 实践&#xff1a;编程基基础1.3 课后习题 01 概述与预备知识 1.1 SLAM 是什么 1.1.1 基本概念 &#xff08;1&#xff09;SLAM 是 Simultaneous Localization a…

媒体宣传如何助力品牌发展

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 媒体宣传可以在多方面助力品牌发展&#xff0c;下面是一些关键的方式&#xff1a; 1. 提高品牌知名度&#xff1a;媒体宣传可以将品牌曝光给更广泛的受众&#xff0c;使更多人了解您的品…

错误号码2058 Plugin caching_sha2_password could not be loaded:vX八白白白白白令自砸

sqlyog连接数据库时报错&#xff1a; 错误号码2058 Plugin caching_sha2_password could not be loaded:vX八白白白白白令自砸 网上查了资料&#xff0c;是MySQL 从 8.0 版本开始加密方式改变导致的原因。具体的咋也不再这里分析了&#xff0c;就直说如何解决这个问题。下面三…