# Dest0g3 520迎新赛(更新中)

Dest0g3 520迎新赛

1.AI

(1)OCR

下载发现是一个凌乱的图片
在这里插入图片描述
尝试使用010 Editor(这里为什么使用该编译器,因为改编译器会提示CRC错误)
在这里插入图片描述
这里发现CRC报错说明宽或高方面有问题
上网找一个脚本进行宽高的修改

import zlib
 
import struct
 
import  binascii
 
 
 
file = 'flag_pic (2).png'//只需要将这里的file名改为对应文件名即可
 
fr = open(file,'rb').read()
 
data = bytearray(fr[12:29])
 
crc32key = struct.unpack('>I',fr[29:33])[0]&0xffffffff
 
print(crc32key)
 
n = 4096
 
for w in range(n):
 
    width = bytearray(struct.pack('>i', w))
 
    for h in range(n):
 
        height = bytearray(struct.pack('>i', h))
 
        for x in range(4):
 
            data[x+4] = width[x]
 
            data[x+8] = height[x]
 
            #print(data)
 
        crc32result = zlib.crc32(data)
 
        if crc32result == crc32key:
 
            print(crc32key)
 
            print(width,height)
 
            print(data)
 
            newpic = bytearray(fr)
 
            for x in range(4):
 
                newpic[x+16] = width[x]
 
                newpic[x+20] = height[x]
 
            fw = open(file+'.png','wb')
 
            fw.write(newpic)
 
            fw.close

在这里插入图片描述
运行得到正常文件
# Dest0g3 520迎新赛(更新中)_第1张图片
这里获得的是一个图片这里就呼应了题目用到了OCR
https://uutool.cn/ocr/
# Dest0g3 520迎新赛(更新中)_第2张图片

377 ABCAF271C000451FCF397500200000000000062000000000000001D9C97C8E004D002485D0022
94A676D2FDE351A055C168F9710364AE2D581126E378F3B4C47E15E2E80B74234B849430A221F40
C086E06B24ADAAC47F32CB62CADD154B50723E65E50CDF99CC2B953916AD2204D70C15FB493BD4C2
E1F93902FB3563190ACEE58CC01621BB2AAAB6EED8CE892FEF5F0927E2C4BCD7C188277D09D03579
95A2FB65D31CD99C853D7BAF52EAD8555920D1672B4A3B713917E98FB324AD225A3FA2AFAC1435FF
E31ED0COCEFOCAOB68COCCCA81C458680D7C75139429D282984933F7ACFDFB127321D9F4EFCOFEAA
E92F985D3C457E90AFBC4DA9D11B23E507A0953036A2EC1D75D69CD1F6A9F0790B1AB02D6C2AFFDF
66A2E7E56A1070FBCD316813E12DF9E26FC4813D419792A65960D4D97EDFA7A978A0385C04CF36EF
DE3B07DF9B9405253EAA838149910F2571FAA4A8E085D1567C5C17C9B3400F91FBFE6B47E052BA07
097C9D77803D3A45E3477FE324603179C7CA6A128CDC0F7E834812618AD4C79934226637E9300C55
95E355139A2ECF661A5F63750A6A0035ACF52417AF3A1C1FEA14471D074C27F81C719D98717F4ECD
32918BD15C18AB93769E94DDEFD3B6FAF4DDD6628BA44BDEF574FCCD5589334EA8063D7B27A2F060
0FC864D010A7F0CEC9B9395434878D01943887194342F9D34FC8F12DD4556ED5A5A36667F9319A03
95DB9A445B94C44771B406F962B1CFC8535BA0D3EE3 DDDEB876C95092AAB192B168A732F3A7B9E81
56C403C583983F5527A0D6C5D6928481D56955474046D9FC17A2DE21F3D6FC4C69644E7C6A141BE9
48A417A33D62C6FF6DFAC702A0FC101748D9A9C64A6A0000010406000109825000070B0100012121
01000C84D100080A0196EAFE6000000501190A000000000000000000001119004400650073007400
3000670033002E00740078007400000019020000140A0100B547E05F6654D8011506010020000000
000000

发现对应的十六进制我们将其放入编辑器
# Dest0g3 520迎新赛(更新中)_第3张图片
发现是zip文件
解压即可得到一个txt文件
# Dest0g3 520迎新赛(更新中)_第4张图片
发现中间base64加密密文解密即可获得flag
# Dest0g3 520迎新赛(更新中)_第5张图片

(2)The correct flag

下载附件发现有好多看不到的数据尝试复制粘贴到记事本发现出现数据
# Dest0g3 520迎新赛(更新中)_第6张图片
然后就是词汇分析表示摆烂没搞懂

2.MISC

(1)Pngenius

下载附件是一张照片
一张照片还是misc不管三七二十一先zsteg看看有没有隐写内容
# Dest0g3 520迎新赛(更新中)_第7张图片
发现一个zip密码说明内藏了一个zip文件
所以就在使用binwalk分离一波
# Dest0g3 520迎新赛(更新中)_第8张图片
反手分离出来
# Dest0g3 520迎新赛(更新中)_第9张图片
写入zip密码解压即可获得flag
# Dest0g3 520迎新赛(更新中)_第10张图片

(2)EasyEncode

下载附件是个zip文件解压有密码
先来试试伪加密防止搞半天白搞
# Dest0g3 520迎新赛(更新中)_第11张图片
发现不是伪加密

那就用ziperello暴力破解一下
# Dest0g3 520迎新赛(更新中)_第12张图片
# Dest0g3 520迎新赛(更新中)_第13张图片
得出密码位100861
# Dest0g3 520迎新赛(更新中)_第14张图片
得到一段摩斯密码解密得到十六进制数据
# Dest0g3 520迎新赛(更新中)_第15张图片
将内容放到编辑器查看获得unicode编码数据
# Dest0g3 520迎新赛(更新中)_第16张图片
进行转中文
# Dest0g3 520迎新赛(更新中)_第17张图片
发现又url编码再次解码
# Dest0g3 520迎新赛(更新中)_第18张图片
获得base64编码再次解码获得flag
# Dest0g3 520迎新赛(更新中)_第19张图片

(3)你知道js吗

下载附件习惯性查看一下16进制
# Dest0g3 520迎新赛(更新中)_第20张图片
发现xml尝试修改后缀为doc
打开获得一串数据
# Dest0g3 520迎新赛(更新中)_第21张图片
发现是base64编码的格式
解码获得数据
# Dest0g3 520迎新赛(更新中)_第22张图片
发现url编码特点解码
# Dest0g3 520迎新赛(更新中)_第23张图片
发现了brainfuck的特点再次解码
# Dest0g3 520迎新赛(更新中)_第24张图片
获得十六进制数据放入即可获得flag
# Dest0g3 520迎新赛(更新中)_第25张图片

(4)StrangeTraffic

没看懂获取tcp后的步骤之后搞懂再补充

(5)EasyWord

下载附件返现doc和rar多进行了加密只有hint没有加密
# Dest0g3 520迎新赛(更新中)_第26张图片
查看发现这提示掩码攻击
然后就不懂了

(6)Python_jail

下载附件发现有三个文件,一个内容为介绍,一个为空,一个是一个加密的zip
# Dest0g3 520迎新赛(更新中)_第27张图片

更具介绍和空白想到空白编码上工具
https://vii5ard.github.io/whitespace/
将空白的编码输入进去进行解密
# Dest0g3 520迎新赛(更新中)_第28张图片
解密获得照片

# Dest0g3 520迎新赛(更新中)_第29张图片
看到照片首先想到lsb

# Dest0g3 520迎新赛(更新中)_第30张图片
获得得到base64编码
# Dest0g3 520迎新赛(更新中)_第31张图片
base64解码得到flag
# Dest0g3 520迎新赛(更新中)_第32张图片

(7)codegame

下载附件名字叫zip那就尝试修改后缀为zip进行解压发现两个文件
查看文档发现是LOLCODE编码尝试运行
# Dest0g3 520迎新赛(更新中)_第33张图片
https://www.dcode.fr/lolcode-language
网站运行
# Dest0g3 520迎新赛(更新中)_第34张图片

输入密码解压然后发现还有一个doc文件进去发现是空白摆烂想到题目里面zip改后缀为zip再试试
解压发现fllllll1ag文件打开发现是表情果断解密
https://aghorler.github.io/emoji-aes/
把解压密码带入key尝试解密发现解密不出来
# Dest0g3 520迎新赛(更新中)_第35张图片

有解不出来摆烂摆烂摆烂然后看到advanced尝试修改发现4时解密成功
# Dest0g3 520迎新赛(更新中)_第36张图片
解密出来16进制数据进行编译器查看
# Dest0g3 520迎新赛(更新中)_第37张图片

被污染的二维码

下载附件发现时一个zip文件名的文件尝试修改后缀位zip
发现得到两个文件都拉进010看看十六进制
在这里插入图片描述# Dest0g3 520迎新赛(更新中)_第38张图片

# Dest0g3 520迎新赛(更新中)_第39张图片
发现一个是png文件一个是7z文件
尝试将png文件进行binwalk分离
# Dest0g3 520迎新赛(更新中)_第40张图片
获得一个文件夹打开发现一个密码这就想到了flag2里面的压缩包
在这里插入图片描述
再看flag2的十六进制的数据发现文件头有问题
正常zip的文件头为377ABCAF
更改另存为zip即可获取
# Dest0g3 520迎新赛(更新中)_第41张图片
使用刚才的密码即可解压获取到一串数据

# Dest0g3 520迎新赛(更新中)_第42张图片
发现足有127列猜测是零宽
http://330k.github.io/misc_tools/unicode_steganography.html
网站开解
这里解释后要选择前三个(没有理解为什么要选前三个理解之后再回来写)
# Dest0g3 520迎新赛(更新中)_第43张图片
# Dest0g3 520迎新赛(更新中)_第44张图片
发下隐藏的是N-ZA-M对应想到rot13那就再去rot13一波
http://www.mxcz.net/tools/rot13.aspx
# Dest0g3 520迎新赛(更新中)_第45张图片
一看芜湖base64来了解密解密解密
# Dest0g3 520迎新赛(更新中)_第46张图片
崩了啊怎么还隐藏四位
只能跑回flag1的照片里面再试试修改后缀为png然后发现磨碎的二维码然后尝试修复
https://merricx.github.io/qrazybox/
表示对该工具不熟悉我尝试拖进去一直拖不进去没法下一步修补之后扫描即可获得中间四位得到完整二维码

WEB

phpdest

方法一
进入靶机查看发现有require_once要绕过该函数(只要包含过一次便不会包含)然后读取flag4的内容
常见的方法就想到了伪协议和多级符号链接的方法结合绕过
这里就要了解/proc/self和/proc/self/root的含义
/proc/self/指当前进程,而/proc/self/root/指’‘/’’
这里如果我们知识使用一些proc/self/root的话最后也会被转化变为正确的路径导致无法绕过,但凡事都有一个上限当我们超过他所能接受的上限就可以导致其无法识别进而无法转换达到绕过的效果

?file=php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php

# Dest0g3 520迎新赛(更新中)_第47张图片
进行base64转换即可获取到flag

EasyPHP

下载靶机发现没什么思路那就代码分析一下

 "24") or ($timme > "31") or ($timmme > "60")){//条件判断时间超过24小时或者超过31天或者超过60s都是无法实现的
    echo $fl4g;
}else{
    echo "Try harder!";
}
set_error_handler(//该函数用我的理解就是自己设置报错方式
    function() use(&$fl4g) {
        print $fl4g;
    }
);
$fl4g .= $dest0g3;
?> Try harder!

由于上面if语句根本不可能实现
所以我们就要尝试利用函数set_error_hander进行报错输出

ctf[]=123

# Dest0g3 520迎新赛(更新中)_第48张图片

SimpleRCE

# Dest0g3 520迎新赛(更新中)_第49张图片
一进去就看到一堆过滤词汇直接奔溃
然后看代码发现str_replace函数一般该函数都是用hex2bin()进行绕过同时发现’()‘和单引号没有过滤那就肯定了这一做法
hex2bin的用法大家可以自行百度
然后绕过机制就为post传入aaa=hex2bin(‘73797374656d’)(hex2bin(‘636174202f666c6167’));//system(cat /flag)
# Dest0g3 520迎新赛(更新中)_第50张图片

你可能感兴趣的:(ctf,web安全)