ISCC练武题部分wp

re

Garden

下载附件后是pyc文件,就直接反编译查看源码,我用的在线工具反编译就行:

#!/usr/bin/env python
# visit http://tool.lu/pyc/ for more information
import platform
import sys
import marshal
import types
//下面的代码才是我们需要注意的源码
def check(s)://最重要的就是check函数
    f = '2(88\x006\x1a\x10\x10\x1aIKIJ+\x1a\x10\x10\x1a\x06'//flag的长度等于f的长度
    if len(s) != len(f):
        return False
    checksum = None
    for a, b in zip(f, s):
        checksum += ord(b) ^ ord(a) ^ 123
    
    return checksum == 0

if sys.version_info.major != 2 or sys.version_info.minor != 7:
    sys.exit('\xe8\xaf\x95\xe8\xaf\x95 Python 2.7.')
if len(sys.argv) != 2:
    sys.exit('usage: bronze.pyc <flag>')
flag = sys.argv[1]
if len(flag) >= 32:
    print '\xe5\xa4\xaa\xe9\x95\xbf\xe4\xba\x86.'
    sys.exit(1)
alphabet = set('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789{}!@#$%+')
for ch in flag:
    if ch not in alphabet:
        print '\xe4\xb8\x8d\xe5\xaf\xb9.'
        sys.exit(1)
        continue
if check(flag):
    print '\xe5\xb0\xb1\xe6\x98\xaf\xe8\xbf\x99\xe4\xb8\xaa!'
    sys.exit(0)
else:
    print '\xe6\x90\x9e\xe9\x94\x99\xe4\xba\x86.'
    sys.exit(1)

看到这,直接上脚本:

s = '2(88\x006\x1a\x10\x10\x1aIKIJ+\x1a\x10\x10\x1a\x06'
flag = ''
for i in s:
    flag += chr(ord(i)^123)
print(flag)

在这里插入图片描述
运行得到flag:ISCC{Makka2021Pakka}

Analysis

一般情况下直接查壳:
在这里插入图片描述
文件是32位的且没壳,直接拖入IDA分析:
在这里插入图片描述
跟进,然后查看伪代码:
在这里插入图片描述
然后,我们在进入mix进行查看:
在这里插入图片描述
然后就自己用脚本逆一下就好了:

cpt = [67,-33,20,3,13,44,9,1,23,23,8,-4,43,-6,20,23,-7,37,-11,34,61,-50,24,22,10]
mix = [82,69,86,69,82,83,69]

for k in range(len(mix)):
    mix[k] %= 64
for n in range(len(cpt)):
    if mix[n%7] & 1:
        cpt[n] -= 2
    else:
        cpt[n] -= 1
for m in range(len(cpt)//2):
    x = cpt[m]
    cpt[m] = cpt[len(cpt)-1-m]
    cpt[len(cpt)-1-m] = x
for l in range(len(cpt)):
    cpt[l] -= mix[l%7]
for j in range(len(cpt)-2,-1,-1):
    cpt[j] += cpt[j+1]
for i in range(len(cpt)):
    cpt[i] += 64
for i in range(len(cpt)):
    cpt[i] = chr(cpt[i])
flag = ''.join(cpt)
print(flag)

在这里插入图片描述
运行后得到的flag:ISCC{REVERSE_IS_NOT_HARD}
(作为一个二进制手,我二进制练武题就写出来这两个,还是太拉跨了,无地自容了都。。。。。。。)

MISC

Retrieve the passcode

1:3:1  
1.25:3:1  
1.5:3:1  
1.75:3:1  
2:3:1  
2:2.75:1  
2:2.5:1  
2:2.25:1  
2:2:1  
2:1.75:1  
2:1.5:1  
1:2.25:1  
1.25:2.25:1  
1.5:2.25:1  
1.75:2.25:1  
1:1.5:1  
1.25:1.5:1  
1.5:1.5:1  
1.75:1.5:1  
3:3:1  
3.25:3:1  
3.5:3:1  
3.75:3:1  
4:3:1  
3.25:2.25:1  
3.5:2.25:1  
3.75:2.25:1  
4:2.25:1  
4:2:1  
4:1.75:1  
4:1.5:1  
3:1.5:1  
3.25:1.5:1  
3.5:1.5:1  
3.75:1.5:1  
3:1.75:1  
3:2:1  
3:2.25:1  
3:2.5:1  
3:2.75:1  
5:3:1  
5.25:3:1  
5.5:3:1  
5.75:3:1  
6:3:1  
6:2.25:1  
6:2:1  
6:1.75:1  
6:1.5:1  
5.75:1.5:1  
5.5:1.5:1  
5.25:1.5:1  
5:1.5:1  
5:2.25:1  
5.25:2.25:1  
5.5:2.25:1  
5.75:2.25:1  
5:2.5:1  
5:2.75:1  
7:3:1  
7.25:3:1  
7.5:3:1  
7.75:3:1  
8:3:1  
8:2.75:1  
8:2.5:1  
8:2.25:1  
8:2:1  
8:1.75:1  
8:1.5:1  
9:3:1  
9.25:3:1  
9.5:3:1  
9.75:3:1  
10:3:1  
10:2.75:1  
10:2.5:1  
10:2.25:1  
9.75:2.25:1  
9.5:2.25:1  
9.25:2.25:1  
9:2.25:1  
9:2:1  
9:1.75:1  
9:1.5:1  
9.25:1.5:1  
9.5:1.5:1  
9.75:1.5:1  
10:1.5:1  
11:3:1  
11.25:3:1  
11.5:3:1  
11.75:3:1  
12:3:1  
12:2.75:1  
12:2.5:1  
12:2.25:1  
12:2:1  
12:1.75:1  
12:1.5:1  
11.75:1.5:1  
11.5:1.5:1  
11.25:1.5:1  
11:1.5:1  
11:1.75:1  
11:2:1  
11:2.25:1  
11:2.5:1  
11:2.75:1  
11.25:2.25:1  
11.5:2.25:1  
11.75:2.25:1

其实最开始的时候,下载下来不是这样的,还是得观察以下的,题目描述里的Scatter还是很有用的,很值得关注,下面就上脚本了,脚本是在网上找的:

from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
dot1 = [[1, 3, 1], [1.25, 3, 1], [1.5, 3, 1], [1.75, 3, 1], [2, 3, 1], [2, 2.75, 1], [2, 2.5, 1], [2, 2.25, 1], [2, 2, 1], [2, 1.75, 1], [2, 1.5, 1], [1, 2.25, 1], [1.25, 2.25, 1], [1.5, 2.25, 1], [1.75, 2.25, 1], [1, 1.5, 1], [1.25, 1.5, 1], [1.5, 1.5, 1], [1.75, 1.5, 1], [3, 3, 1], [3.25, 3, 1], [3.5, 3, 1], [3.75, 3, 1], [4, 3, 1], [3.25, 2.25, 1], [3.5, 2.25, 1], [3.75, 2.25, 1], [4, 2.25, 1], [4, 2, 1], [4, 1.75, 1], [4, 1.5, 1], [3, 1.5, 1], [3.25, 1.5, 1], [3.5, 1.5, 1], [3.75, 1.5, 1], [3, 1.75, 1], [3, 2, 1], [3, 2.25, 1], [3, 2.5, 1], [3, 2.75, 1], [5, 3, 1], [5.25, 3, 1], [5.5, 3, 1], [5.75, 3, 1], [6, 3, 1], [6, 2.25, 1], [6, 2, 1], [6, 1.75, 1], [6, 1.5, 1], [5.75, 1.5, 1], [5.5, 1.5, 1], [5.25, 1.5, 1], [5, 1.5, 1], [5, 2.25, 1], [5.25, 2.25, 1], [5.5, 2.25, 1], [5.75, 2.25, 1], [5, 2.5, 1], [5, 2.75, 1], [7, 3, 1], [7.25, 3, 1], [7.5, 3, 1], [7.75, 3, 1], [8, 3, 1], [8, 2.75, 1], [8, 2.5, 1], [8, 2.25, 1], [8, 2, 1], [8, 1.75, 1], [8, 1.5, 1], [9, 3, 1], [9.25, 3, 1], [9.5, 3, 1], [9.75, 3, 1], [10, 3, 1], [10, 2.75, 1], [10, 2.5, 1], [10, 2.25, 1], [9.75, 2.25, 1], [9.5, 2.25, 1], [9.25, 2.25, 1], [9, 2.25, 1], [9, 2, 1], [9, 1.75, 1], [9, 1.5, 1], [9.25, 1.5, 1], [9.5, 1.5, 1], [9.75, 1.5, 1], [10, 1.5, 1], [11, 3, 1], [11.25, 3, 1], [11.5, 3, 1], [11.75, 3, 1], [12, 3, 1], [12, 2.75, 1], [12, 2.5, 1], [12, 2.25, 1], [12, 2, 1], [12, 1.75, 1], [12, 1.5, 1], [11.75, 1.5, 1], [11.5, 1.5, 1], [11.25, 1.5, 1], [11, 1.5, 1], [11, 1.75, 1], [11, 2, 1], [11, 2.25, 1], [11, 2.5, 1], [11, 2.75, 1], [11.25, 2.25, 1], [11.5, 2.25, 1], [11.75, 2.25, 1]]  # 得到五个点
plt.figure()  
ax1 = plt.axes(projection='3d')
ax1.set_xlim(0, 11)  #X轴
ax1.set_zlim(11, 0)  #Z轴
ax1.set_ylim(0, 11)  #Y轴
color1 = ['r', 'g', 'b', 'k', 'm']
marker1 = ['o', 'v', '1', 's', 'H']
i = 0
for x in dot1:
    ax1.scatter(x[0], x[1], x[2], c=color1[1],
                marker=marker1[1], linewidths=4)  
    i += 1
plt.show()

运行后得到
在这里插入图片描述
得到解密的密码:365728
输入后会得到:
在这里插入图片描述
将最下面的摩斯密码解密得到:

congratulationtheflagischallengeiscctwozerotwoone

然后得到flag:ISCC{congratulationtheflagischallengeiscctwozerotwoone}

海市蜃楼-1

将下载的文件打开是:
在这里插入图片描述
这种题其实我也是第一次见,然后还是在别人说的情况下做出来的,将解压的文件docx文件后缀改为zip,然后解压:
在这里插入图片描述
我用的是WPS表格打开的:
在这里插入图片描述
比较明显:ISCC{zheshishui}

我的折扣是多少

这题海慧寺比较简单的,首先将give.exe运行:

pass1{
   \u006b\u0072\u0077}

这是一串unicode加密,,解密后得到:pass1{krw}(这是前一部分密码)
将me.zip在winhex中打开,然后会有:
在这里插入图片描述
再结尾是一段base64加密,解密后得到:pass2{gcc666}(这是后一部分密码)所以压缩包口令为krwgcc666,解压得到

eW91Zm91bmRtZT8=

base64解密得到:
在这里插入图片描述

好在看见过音频隐写的题,然后就猜到它是mp3音频隐写,密码是:

youfoundme?

解密音频:

decode -X -P youfoundme? discount.mp3

将音频解密后得到:在这里插入图片描述

ISCC{
   LFXXK4TENFZWG33VNZ2DELRRGU======}

在这里插入图片描述
然后base32解密,最终的flag:ISCC{Yourdiscount2.15}

美人计

我么你下载附件,里面打开会有一张二维码,还有一个美女的图片,二维码扫码后得到:

U2FsdGVkX1/Ka+sScszwQkwhO+VLiJwV/6IFg5W+TfNHGxG2qZsIr2iwMwb9X9Iu 3GuGWmPOtO27z8vNppD2D50fwsD+8VWhdtW9J4cewYivH/Z/7GoUvcJXJMrvf+vu +CBqWDGp6HWd0e5whGhuzlK0ZtBcDZdPDSIHA7+GuUlifp8PcFCtJPgiuk143REE +pKFiSJXolXLR1vJCdGY9w5mXFbiWPrb2U7r/v5noP8=

然后占时也不知道是什么加密,我们再去看图片,在图片的属性中有:
在这里插入图片描述

Try AES, and you will get the flag. ISCC2021

根据提示我么可以知道,上面的加密是AES加密,然后密钥是:ISCC2021
对密文进行三次的AES解密,将得到:

y0u_h@ve_fal1en_intO_tHe_tr@p_0f_tHe_be@uty_!

好家伙,到时得到的时候,我还开心一下,结果咦提交,结果啪啪打脸,我都醉了,最后,还是通过将word文档改为zip的压缩包,解压,我是一个一个看的,最后在word\media里面,看见有两张二维码,不过有一张是最开始的那一张,另一张扫描后的结果:

U2FsdGVkX19eOY/pDh8+vPAcvfkLi1XLUneVzjLLOMul53sKK8UpobdCOiPIv4KE

最开始,我以为也还是AES加密,结果发现说是解密错误,就尝试了DES解密,最后的解密结果为:
在这里插入图片描述
结果即为:ISCC{be@uty_1ike$_Y0u_2O2lISCC}

李华的红包

我们自开始当然要用winhex对jpg图片进行更改高度,不过在改的时候,发现在结尾处,有txt,说明里面是有txt文件的:
在这里插入图片描述
然后再binwalk分离,得到rar压缩包,解压得到:

24,43,13,13,12,21,43

不过,得到这个的时候,我还是有点小迷的,不知道这是啥(不过我觉得主要是题见得少了),然后就继续对图片的高度进行更改,最开始图片的像素:541*348,很明显,图片的高度不够,将图片的高,改为和宽一样的541,改完后,保存,得到:
在这里插入图片描述
在这里插入图片描述
这个鼓的意思就很明显了,应该就是敲击码了,于是就有
在这里插入图片描述
在线解密一下得到:
在这里插入图片描述
提交最后的flag:ISCCBFS
其实还是有点离谱的,银行密码就6位,但是这个有7位。。。。

web

ISCC客服冲冲冲(一)

这道题还是很简单的,我用的是,f12后直接更改两个客服的位置,然后继续刷票,但是要记住,要早点安f12,不然可能票数赶不上,然后就可以得到flag:ISCC{1SCC_2o2l_KeFuu},没啥好说的。

这是啥

F12后,会在源码中发现jsfuck编码:

+!![]]+([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+(+{
   }+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!+[]+!![]+!![]+!![]+!![]]+([]+{
   })[+!![]]+([][[]]+[])[+!![]])())[!+[]+!![]+!![]]+([][[]]+[])[!+[]+!![]+!![]])()([][(![]+[])[!+[]+!![]+!![]]+([]+{
   })[+!![]]+(!![]+[])[+!![]]+(!![]+[])[+[]]][([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+([]+{
   })[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!+[]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+([]+{
   })[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+([][[]]+[])[!+[]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([]+{
   })[!+[]+!![]+!![]+!![]+!![]+!![]+!![]]+([][[]]+[])[!+[]+!![]+!![]]+(![]+[])[!+[]+!![]+!![]]+([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+(+{
   }+[])[+!![]]+([]+[][(![]+[])[!+[]+!![]+!![]]+([]+{
   })[+!![]]+(!![]+[])[+!![]]+(!![]+[])[+[]]][([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+([]+{
   })[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!+[]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+([]+{
   })[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+([][[]]+[])[!+[]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+([]+{
   })[!+[]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!+[]+!![]]+([]+{
   })[+!![]]+([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+(+{
   }+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!+[]+!![]+!![]+!![]+!![]]+([]+{
   })[+!![]]+([][[]]+[])[+!![]])())[!+[]+!![]+!![]]+([][[]]+[])[!+[]+!![]+!![]])()(([]+{
   })[+[]])[+[]]+(!+[]+!![]+[])+(+{
   }+[])[+!![]])+[][(![]+[])[!+[]+!![]+!![]]+([]+{
   })[+!![]]+(!![]+[])[+!![]]+(!![]+[])[+[]]][([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+([]+{
   })[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!+[]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+{
   })[!+[]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+([]+{
   })[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+([][[]]+[])[!+[]+!![]+!![]]+(!![]+[])[+[]]+([][[]]+[])[
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值