HgameCTF 2024 web&misc wp

MISC

1. SignIn

PS

ctrl+T 出现调整框
按住shift 然后上下拉窄,左右拉宽

hgame{WOW_GREAT_YOU_SEE_IT_WONDERFUL}

2. simple_attack

明文攻击
把给的图片用bandizip压缩成zip文件后作为明文文件
在ARCHPR中解密

解密后打开txt文件

https://www.cnblogs.com/ECJTUACM-873284962/p/9245474.html

得到的字符串直接放在url处就可以得到flag图片了

hgame{s1mple_attack_for_zip}

3. 希儿希儿希尔

不用修复图片

直接拉到010底部看到密文
 

结合题目标题可知是希尔解密

密钥使用zsteg查信道得到

密钥是8 7 3 8

http://www.metools.info/code/hillcipher243.html

得到flag
hgame{DISAPPEARINTHESEAOFBUTTERFLY}

4. 来自星尘的问候

stegseek把题目的png跑了下

密码是123456,解得新的一张png
 

星尘文字https://my1l.github.io/Ctrl/CtrlAstr.html

看的眼睛都瞎了

hgame{welc0me!}

5. ek1ng_want_girlfriend

流量签到,一打开就看到一个jpg的流量,dump下来就是flag

6. ezWord

拿到word文档,转zip后缀,子目录里看到两张一样的图和一个加密的zip

python3盲水印解得zip的解压密码 T1hi3sI4sKey

解压后得到一篇文章,结合提示(解密两次)

第一个是spam

第二个需要先把这些汉字转unicode编码
https://www.haomeili.net/HanZi/ZiFuBianMaZhuanHuan

去掉后缀7C,通过观察以及flag头是hgame这一信息,将这一串16进制的字符向前移位9位

查ascii表发现68就是h,67就是g,对照翻译即可

7. 龙之舞

AU打开音频在频谱图处看到key
 

水平翻转+旋转180°得到正确的key

根据文件名deepsound_of_dragon_dance.wav

将音频文件放入deepsounde,使用上面的key得到一张gif图

逐帧观察得到四张二维码角,使用ps拼接在一起

扫不了码,对应题目描述

使用https://merri.cx/qrazybox/
 

将editor切换为decode模式,点击decode得到flag

WEB

1. ezHTTP

User-Agent: Mozilla/5.0 (Vidar; VidarOS x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0

x-real-ip: 127.0.0.1

referer: vidar.club

2. Bypass it

注册不给,关掉js后发现可以注册了

随便弄用户名和密码后注册,再打开js显示注册成功,登录即可得到flag

3. Select Courses

仿真现实选课系统,时不时会出现空位,编写脚本实现当出现空位时选课即可

官方脚本:

Python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from time import sleep

driver = webdriver.Chrome()
driver.get("http://106.14.57.14:32274")
sleep(3)

courses_list = []

for i in range(1, 6):
    course = {
        'panel': f'//*[@id="selector-container"]/section[{i}]/div[1]',
        'status': f'//*[@id="selectorcontainer"]/section[{i}]/div[2]/table/tbody/tr/td[5]',
        'submit': f'//*[@id="selectorcontainer"]/section[{i}]/div[2]/table/tbody/tr/td[6]/button'
    }
    courses_list.append(course)

print(courses_list)

while courses_list:
    driver.refresh()
    sleep(2)
    for course in courses_list:
        panel = driver.find_element(By.XPATH, course['panel'])
        panel.click()
        status_element = driver.find_element(By.XPATH, course['status'])
        status_text = status_element.text
        print(status_text)
        if status_text != "
已满":
            submit_button = driver.find_element(By.XPATH, course['submit'])
            submit_button.click()
            WebDriverWait(driver, 5).until(EC.alert_is_present())
            alert = driver.switch_to.alert
       
            alert.accept()
            courses_list.remove(course)
            break
sleep(10)
driver.quit()

4. What the cow say?

一打开是一个提交请求的框

随机发一些内容看看

经过多次尝试后

猜测后台是eval(@_POST['user_input']) 并且带有waf

分号被过滤,还过滤了许多关键词字

尝试使用echo 配合反引号的命令执行,发现echo也被过滤,利用正则匹配[]来绕过

执行成功,继续e[b-d]ho `tac /f*`

发现是文件夹,继续向下ls看看

再tac一次得到flag

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nanian233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值