1.[LitCTF 2023]What_1s_BASE (初级)
下载后得到文本文档
base64直接解
NSSCTF{KFC_Cr4zy_Thur3day_V_me_50}
2.[LitCTF 2023]404notfound (初级)
下载后解压压缩包得到1.png
放进kali "strings 1.png"
NSSCTF{Its_404_but_1ts_n0t_a_page}
3.[LitCTF 2023]这羽毛球怎么只有一半啊(恼 (初级)
解压压缩包得到 羽毛球.png
题目明示图片只有一半,进行CRC爆破得到图片真实宽高
#只爆破宽度
import os
import binascii
import struct
#爆破宽高
import struct
crcbp = open("C://Users//abc//Desktop//羽毛球.png","rb").read() # 打开图片= open("C://Users//abc//Desktop//flag.png","rb").read()
crc32frombp = int(crcbp[29:33].hex(), 16) # 读取图片中的CRC校验值
print(crc32frombp)
for i in range(4000): # 宽度1-4000进行枚举
for j in range(4000): # 高度1-4000进行枚举
data = crcbp[12:16] + \
struct.pack('>i', i) + struct.pack('>i', j) + crcbp[24:29]
crc32 = binascii.crc32(data) & 0xffffffff
# print(crc32)
if (crc32 == crc32frombp): # 计算当图片大小为i:j时的CRC校验值,与图片中的CRC比较,当相同,则图片大小已经确定
print(i, j)
print('hex:', hex(i), hex(j))
exit(0)
把图片放进010修改宽高
保存后得到图片
NSSCTF{Fl4g_0fcourse!}
4.[LitCTF 2023]Take me hand (初级)
下载得到流量包,直接放进wireshark中进行分析
随便找一个TCP流追踪
flag=LitCTF%7BGive_y0ur_hand_to_me%21%21%21_plz%7D
很明显%7B代表"{",%7D代表"}"
查询得知是URL编码,%21代表"!"
NSSCTF{Give_y0ur_hand_to_me!!!_plz}
5.[LitCTF 2023]喜欢我的压缩包么 (初级)
下载得到压缩包,里面是一张png图片,但是压缩包设置了密码
题目提示密码是六位数字,直接放进ARCHPR爆破密码
取出图片上就是flag
NSSCTF{Do-u-like-my-zip-p4ck?}
6.[LitCTF 2023]破损的图片(初级)
下载解压压缩包发现一个无后缀文件
放进010观察,结合题目名"破损的图片",判断是png图片
随便找一张png图片的文件头和这个文件做对比,修改并保存为1.png
NSSCTF{May you, the beauty of this world, always shine.}
7.[LitCTF 2023]Osint小麦果汁
社工题1
看黑板上的wifi名字"hacker&craft"
百度搜索得到"黑客酿造",但是不对,再搜索黑客酿造,得到"黑客与精酿",这次对了
NSSCTF{黑客与精酿}
8.[LitCTF 2023]OSINT 探姬去哪了?_0
社工题2
查看图片属性发现经纬度信息
搜索得到该地点是嘉兴市秀洲区
题目描述中表示答案"所有提交的名字都以高德地图搜索结果为准"
打开高德地图直接搜索"嘉兴市秀洲区 电信"
出现中国电信大厦
NSSCTF{中国电信大厦}
9.[LitCTF 2023]OSINT 探姬去哪了?_1
社工题3
是探姬的两张自拍
一眼松果酒店(高胡)
探姬在郑州工业大学,郑州范围内高德地图搜索
NSSCTF{松果酒店(郑州农业路店)}
10.[LitCTF 2023]OSINT 探姬去哪了?_2
社工题3
一眼hacking club
搜索hacking club 郑州站相关信息
NSSCTF{漫香音乐酒吧(农科路店)}
11.[LitCTF 2023]OSINT 探姬去哪了?_3
社工题4
图中得知是郑州轻工业大学 某楼217室
百度搜索"郑州轻工业大学217"得到"科学校区""计算机学院"
通过学校官网电子地图得到
NSSCTF{科学校区-第1教学楼-2层-217}
12.[LitCTF 2023]OSINT 这是什么地方?!
社工题5
百度识图得到很多视频,但是都没有明确指明地点
但是视频上都写了类似"这条路上没人敢插队"
看视频得到
NSSCTF{陕西有色榆林新材料集团}
13.[LitCTF 2023]雪山的秘密
原神题
下载附件解压得到一个很长的音频,里面是摩斯
在线网站解密Morse Code Adaptive Audio Decoder | Morse Code World
一开始不知道是什么东西,后来发现是原神题
把"."换成"0","2"换成"1","3"换成"2"得到一串三进制
三进制转换成十进制,十进制转ascll码,再凯撒解密得到答案
不得不说原还是有点真东西的
For the nation , we cant forgo this skyborne power , but we failed.
玩过原神的应该是纯送()
NSSCTF{FOR_THE_NATION_WE_CANT_FORGO_THIS_SKYBORNE_POWER_BUT_WE_FAILED}
14.[LitCTF 2023]ssvvgg
下载得到svg文件,打开是浏览器里的一张图片
放进010观察发现一串巨长的base64编码
整段提取放进Base64 解码 编码 图片 -- 陈焰的笔记本 (feling.net)转换成图片
把图片保存后用010打开观察发现尾部有提示
用steghide所以文件记得改成.jpg格式
放进kali用steghide,猜测密码为密码666666
也可以用stegseek爆破密码
NSSCTF{svg?_base642png!&steghide!}
15.[LitCTF 2023]两仪生四象 (中级)
下载得到python脚本
_hash = {"乾": "111", "兑": "011", "离": "101", "震": "001", "巽": "110", "坎": "010", "艮": "100", "坤": "000"}
_reverse_hash = {v: k for k, v in _hash.items()}
text = "LitCTF{*********}"
text = text[7:-1]
binary_text = ''.join(format(ord(c), '010b') for c in text)
encoded_text = ""
for i in range(0, len(binary_text), 3):
try:
encoded_text += _reverse_hash[binary_text[i:i + 3]]
except KeyError:
encoded_text += " "
print(encoded_text)
"""
encoded_text = "坤乾兑艮兑坎坤坤巽震坤巽震艮兑坎坤震兑乾坤巽坤艮兑震巽坤巽艮坤巽艮艮兑兑艮震兑乾坤乾坤坤兑艮艮坤巽坤坤巽坎坤兑离坎震艮兑坤巽坎艮兑震坤震兑乾坤乾坎坤兑坎坤震艮离坤离乾艮震艮巽震离震坤巽兑艮兑坎坤震巽艮坤离乾艮坎离坤震巽坎坤兑坤艮兑震巽震巽坎坤巽坤艮兑兑坎震巽兑"
"""
删除没用的部分,再把encode反向翻译成hash
_hash = {"乾": "111", "兑": "011", "离": "101", "震": "001", "巽": "110", "坎": "010", "艮": "100", "坤": "000"}
encoded_text = "坤乾兑艮兑坎坤坤巽震坤巽震艮兑坎坤震兑乾坤巽坤艮兑震巽坤巽艮坤巽艮艮兑兑艮震兑乾坤乾坤坤兑艮艮坤巽坤坤巽坎坤兑离坎震艮兑坤巽坎艮兑震坤震兑乾坤乾坎坤兑坎坤震艮离坤离乾艮震艮巽震离震坤巽兑艮兑坎坤震巽艮坤离乾艮坎离坤震巽坎坤兑坤艮兑震巽震巽坎坤巽坤艮兑兑坎震巽兑"
for i in encoded_text:
print(_hash.get(i),end="")
得到二进制编码后转字符得到
NSSCTF{wh1ch_ag4in_pr0duced_the_3ight_Tr1grams}
16.[LitCTF 2023]赛博算命
下载exe程序,打开先报错()
没有libstdc++-6.dll 隔壁到处下盗版游戏的佬就自带一个()
打开后是这么个玩意
看得出来是每个卦象对应一个字符,用了两种加密方式后变为flag
查一下卦象具体都是什么,wiki上的比较准确
因为"小过"对应"L",flag[i] = func_A (func_B ( str[i] ) + 64 )
推测是将卦象对应的二进制码转化为十进制再+64后转化为字符得到 flag
# assert flag = 'LitCTF{xxxxxx_xxxx_xx}'
# 噬嗑 渐 临 蒙 升 履
# 未济 讼 讼 涣 益 益 夬 否 渐 涣 旅 夬 小畜 未济
# 同人
# 001100 101001 110100
# L i t C T F
# flag[i] = func_A (func_B (str[i]) + 64);
flag = ''
enc = []
enc.append('未济')
enc.append('讼')
enc.append('讼')
enc.append('涣')
enc.append('益')
enc.append('益')
enc.append('夬')
enc.append('否')
enc.append('渐')
enc.append('涣')
enc.append('旅')
enc.append('夬')
enc.append('小畜')
enc.append('未济')
print(enc)
dic = {"未济":'101010',"讼":'111010',"涣":'110010',"益":'110001',"夬":'011111',"否":'111000',"渐":'110100',"旅":'101100',"小畜":'110111'}
res = ''
for i in enc:
res += chr(int(dic[i],2) + 64)
print('LitCTF{'+res+'}')
NSSCTF{jzzrqq_xtrl_wj}
17.[LitCTF 2023]easy_shark
下载得到加密压缩包,放进010观察发现是zip伪加密,将两处09 00 改为 00 00即可打开
错误的做法():
拿到流量包后放进kali用binwalk扒出来一大堆文件
挨个打开能找到
解方程X1=17,X2=77
两个key想到仿射密码
从流量包找到key:a
正确的做法请看别的佬的博客,你就说出没出吧
NSSCTF{w13e5hake_1s_a_900d_t3a771c_t001_a}
至此AK MISC