吾爱破解 2023 春节解题领红包之 Web 题解

01

(图作者 | 吾爱破解@Ps出来的小赵)

吾爱破解每年都有个解题领红包活动,今年也不例外,需要我们使出看家逆向本领来分析内容获得口令红包,根据难度等级不同会获得不同数量的吾爱币,活动持续到元宵节结束。活动一共有十个题,本文仅分享 Web 初级、中级、高级三个题的逆向思路。

活动地址:https://www.52pojie.cn/thread-1738015-1-1.html

题目简介

三个 Web 题的线索都在一个视频里:https://www.bilibili.com/video/BV123411R7K6/

视频中包含 12 个静态 flag: flag1~flag12,另外还需要寻找到 3 个动态 flag: flagA~flagC。 本题总共有 3 个难度,每个难度提交 4 个静态 flag 和 1 个动态 flag 就算通过。

  • 初级难度为 flag1~flag4 与 flagA
  • 中级难度为 flag5~flag8 与 flagB
  • 高级难度为 flag9~flag12 与 flagC

02

初级难度

flag1

flag1 直接在视频中给出了,flag1{52pojiehappynewyear}

03

flag2

flag2 藏在二维码里,拿手机扫一下会打开一个网址,网址后面跟了一个 flag2{878a48f2},当然直接搜二维码在线解码也行,上传上去就能看到文本信息。

04

05

flag3

在视频 25 秒左右,右下角会出现一串字符 iodj3{06i95dig},这里肯定是一个 flag,注意观察 flag 是四个字母,iodj 也是四个字母,可以大胆猜测这就是 flag3,在字母上动了手脚,数字和括号没变,极大可能是恺撒密码,恺撒密码是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文,例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E。这里 iodj 每个字母分别向前偏移3,刚好就是 flag,以此类推,最终结果就是 flag3{06f95afd}

06

flag4

flag4 比较鸡贼,没在视频里,而是藏在视频作者的签名里(鼠标无意间瞎晃找到的),解密发现是 Base64,最终结果为 flag4{9cb91117}

07

08

flagA

视频里给了一个网址 2023challenge.52pojie.cn,提示说了这个网站似乎无法访问,但网站的确在运行,它和吾爱破解主站是同一台服务器,可能是域名解析的问题。

09

既然都说了是域名解析问题,那我们就分别在线检测一下 2023challenge.52pojie.cn 和主站 52pojie.cn 的解析设置,首先可以发现 2023challenge.52pojie.cn 的 TXT 记录里有个 flagB,这个后面再说,与主站对比发现 A 记录里少了 124.232.185.97,提示也说了和主站是同一台服务器,所以我们可以在本地 host 里加上这个记录即可访问。

10

11

12

访问网站 https://2023challenge.52pojie.cn/,可以在 Response Header 里找到一个 X-Dynamic-Flag,也就是动态 flagA,如下图所示:

13

既然是动态的,那就不可能直接是 flagA{Header X-52PoJie-Uid Not Found},很明显给的提示是 Header 里缺少了 X-52PoJie-Uid,所以我们在请求的时候 Header 里加上这个字段试试,Python 代码如下:

import requests


headers = {
    "X-52PoJie-Uid": "2002241",  # 你的吾爱破解 UID
    "Host": "2023challenge.52pojie.cn",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
}
url = "https://2023challenge.52pojie.cn/"
response = requests.get(url, headers=headers)
flagA = response.headers["X-Dynamic-Flag"]
print(flagA)

查看返回的 Header 里的 X-Dynamic-Flag,就是正确的 flagA,有个过期时间,在过期前提交即可。

14

中级难度

flag5

在视频第30秒左右的时候,会出现类似发电报的声音,这就是摩斯密码(摩尔斯电码),对着下表听就完事儿了,当然还有更准确的方法,那就是分析音频的频谱图,更加直观,音频的分析后文 flag8 再说,这里的正确答案是 flag5{eait}

15

flag6

flag6 比较直观,视频开头就直接给出了,电话拨号声就是 flag6。

16

重点在于如何识别拨号的数字,这里涉及到一个双音多频信号(DTMF)的概念,双音多频由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。可以使用 Python 读取音频来识别,也有现成的工具 DTMF2NUM 可以识别,具体介绍参考:https://bbs.qsnctf.com/thread-318-1-1.html ,里面有下载链接。使用录音工具将这段拨号音录成 wav 格式,然后通过工具识别得到 flag6{590124}

17

flag7

视频中,第22秒左右,上方出现的一串 0101 的东西,这就是 flag7,实际上是二进制形式的 ASCII 码,八位一个字符,例如 01100110 对应的 ASCII 码就是 f,找个在线工具转换一下就可以得到 flag7{5d06be63}

01100110 01101100 01100001 01100111 00110111 01111011 00110101 01100100 00110000 00110110 01100010 01100101 00110110 00110011 01111101

18

19

flag8

flag8 藏在这个视频的音频里,同样将音频录下来,用 Audacity 软件打开此音频,选择频谱图,就可以看到 flag8{c394d7},同样前面的 flag5 其实除了直接用耳朵听以外,也可以通过这个频谱图查看。

20

flagB

flagB 在前面推理 flagA 的时候已经遇到了,线索在 2023challenge.52pojie.cn 的域名解析,TXT 记录里,计算方法就是自己的 uid 加上字符串 _happy_new_year_ 加上时间戳除以 600 并向下取整后的值,经过 md5 加密后,取前八位即可。

flagB{substr(md5(uid+_happy_new_year_+floor(timestamp/600)),0,8)}

21

高级难度

flag9

仔细听这个视频,在结尾,也就是大概40秒的时候,依稀有一段杂音,单独将这一段录下来,反向播放,就会发现说的正是 flag9,正确答案是 flag9{21c5f8}

22

flag10

flag10 太难了没找到,有知道的小伙伴可以分享一下。

flag11

视频里,底下一串 ++++[> 的东西就是 flag11,这一串是 Brainfuck 语言,是一种非常接近图灵机的编程语言。可以直接使用在线工具转换即可:https://www.splitbrain.org/services/ook ,正确答案是 flag11{63418de7}

++++++++++[>++++++++++>++++++++++>+++++>++++++++++++<<<<-]>++.++++++.>---.<-----.>>-..>+++.<+++++.---.+.---.+++++++.<+++.+.>-.>++.

23

24

flag12

仔细观察视频你会发现,开头的背景是灰色的,在第20秒左右,颜色就加深了,其实开始的背景图是有猫腻的,用到了图片盲水印技术,flag12 就藏在背景图片里,原理就是使用傅里叶变换把原图变为频谱图,再叠加水印,将含水印的频谱图进行傅里叶逆变换得到含水印的图像。蚁景网络安全的这篇文章有详细的介绍:https://blog.csdn.net/YJ_12340/article/details/127087949 ,我们直接使用文中的方法,使用 Python 处理图片后即可得到 flag12{3ac97e24}

import cv2
import numpy as np
import matplotlib.pyplot as plt


# 读取为灰度图像,52pj.png 为视频开头的背景截图
img = cv2.imread('52pj.png', 0)
f = np.fft.fft2(img)
# 将图像中的低频部分移动到图像的中心
fshift = np.fft.fftshift(f)
# 取绝对值:将复数变化成实数,目的为了将数据变化到较小的范围(比如0-255)
s1 = np.log(np.abs(f))
s2 = np.log(np.abs(fshift))
plt.subplot(121), plt.imshow(s1, 'gray'), plt.title('original')
plt.subplot(122), plt.imshow(s2, 'gray'), plt.title('center')
plt.show()

下图可能平台会有压缩看不清,自己照着处理一下即可。

25

flagC

flagC 是动态的,还得回到 https://2023challenge.52pojie.cn/ 这个网站上来。

26

点击登陆后,来到 login 页面,让我们提交 UID,但是这个输入框无法输入,修改一下源码,将 disabled 删除即可。

27

然后输入我们的 UID,提示您不是 admin,你没有权限获取 flag。

28

抓包分析一下,发现在点击提交后,Response Headers 有个 Set-Cookie,而这个 cookie 由三段组成,以 . 分隔,很明显是一个 JWT(JSON Web Token)。

29

JWT 是可以解密的,来到 jwt.io 这个网站,解密后可以发现 payload 部分包含了我们的 uid 和 role 角色信息,此刻我们是普通的 user,直接将其改为 admin 即可,将生成的新 JWT 拿来重新提交,即可拿到正确的 flagC。

30

31

吾爱破解 2023 春节解题领红包之 Web 题解

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:吾爱破解 2023 春节解题领红包之 Web 题解 - Python技术站

(0)
上一篇 2023年3月31日 下午9:05
下一篇 2023年3月31日 下午9:06

相关文章

  • 百度指数 Cipher-Text、百度翻译 Acs-Token 逆向分析

    K 哥之前写过一篇关于百度翻译逆向的文章,也在 bilibili 上出过相应的视频,最近在 K 哥爬虫交流群中有群友提出,百度翻译新增了一个请求头参数 Acs-Token,如果不携带该参数,直接按照以前的方法进行处理,会出现 1022 报错,并且如果直接将 Acs-Token 写成定值,前几次可能能成功,多查询几次也会报同样的错误,现对其进行逆向分析,对往期…

    2023年4月2日
    00
  • 【0基础学爬虫】爬虫基础之自动化工具 Playwright 的使用

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学爬虫】专栏,帮助小白快速入门爬虫,本期为自动化工具 playwright 的使用。 概述 上期文章中讲到了自动化工具 Selenium 的基本使用方法,也介绍了 …

    python 2023年4月28日
    00
  • 【K哥爬虫普法】老铁需要车牌靓号吗?判刑的那种

    我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。 案情介绍 四川省德昌县人民检察院起诉书指控: 2014年至今,被告人李文环使用“爬虫”软件,大量爬取全…

    2023年4月2日
    00
  • 【k哥爬虫普法】简历大数据公司被查封,个人隐私是红线!

    我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。 案情介绍 2018年10月,北京市公安局海淀分局警务支援大队接到辖区某互联网公司报案称,发现有人在互联…

    2023年4月2日
    00
  • 【k哥爬虫普法】非法入侵计算机信息系统,获取1500万余条个人信息!

    我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。 案情介绍 2018年1月至7月期间,呙某兴通过SQL注入漏洞以及编写爬虫脚本的方式,侵入计算机信息系统…

    2023年4月2日
    00
  • 【0基础学爬虫】爬虫基础之爬虫的基本介绍

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶、逆向相关文章,为实现从易到难全方位覆盖,特设【0基础学爬虫】专栏,帮助小白快速入门爬虫,本期为爬虫的基本介绍。 一、爬虫概述 爬虫又称网络蜘蛛、网络机器人,网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型: …

    2023年3月31日
    00
  • 【验证码逆向专栏】某验二代滑块验证码逆向分析

    声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请在公众号【K哥爬虫】联系作者立即删除! 逆向目标 目标:某验二代滑块验证…

    2023年3月31日
    00
  • 【k哥爬虫普法】爬虫第一案,侵犯个人隐私,“入侵”短视频服务器!

    我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。 案情介绍 江苏省无锡市梁溪区人民法院审结了一起提供侵入计算机信息系统程序罪案件,也就是网上传遍的“首例…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部