唠叨几句

这次题目难度不是很大,我猜出题人主要是想降低一点点门槛,让大家对CTF有一个了解吧。出的题目都很有意思,脑洞也很大。这次wp是比赛后写的,给感兴趣的同学看一看就好。因为本人属实是菜水平有限,所以只提供部分题目的WP。

2022-04-11
主办方说赛后要提交wp,要提交做出来小于等于10人的题目的wp,之前写了部分了,就不删了。
下面题目有好多是超过十人以上的,也写了wp,就当给感兴趣的人看一下吧。

2022-04-12
比赛结束,WP该写的都写了,比赛前几个小时出了一道两千分的题,没提交,但我把思路写一下。

PWN

Ez_Pwn

给了提示后会了,本人ida分析不太会,但提示二给了后,就很明显了。

我个人是对PWN一点了解都没有的,这边看到一个关键词 nc 。去了解了下是什么东西。在kali里安装好后,直接nc过去。

然后按照提示二

nc上去在终端输入110到120个B

过程截图

本题目过程非完整解题思路,这里给的提示的重要性很大,按理说要ida分析他的附件才可以

Crypto

一杯再一杯

base64解密

zuuhgm-o}hzmuagaf{i-

9栏 栅栏加密

zfua{ugiha-gumm-zoh}

然后凯撒列出所有可能性,找到flag

flag{among-mass-fun}

这道题一开始没做出来的原因是我自己对栅栏密码的不了解。前面是的都是栅栏解密,但是一直做不出来。

就在刚刚发生

克苏鲁词典,直接甩链接,一一对应即可

译介 | 完整克苏鲁语(Cthuvian)词典 | 机核 GCORES

呃呃呃

文件下载下来看,是一些颜文字,直接AAencode解密一步到位。
解密网站
AAEncode加密/解密 - 一个工具箱 - 好用的在线工具都在这里! (atoolbox.net)

Ez_Mixed

凯撒穷举解密秘钥,然后维吉尼亚密码解密。
这题不多说,意义不大,很多人没有做出来的原因不是技术水平,是因为没有进社团,进社团了解大家的代号就自然而然知道了。
Yaoisss申请进入社团喔
或者本题秘钥TXPH也可以的。

简单简单超简单

有一点点编程基础就可以(我没有,我是看懂算法,自己手算的,不会Python,又不想用C++和java,磨了好长时间,吐了)
手算过程

问赵大哥要了他的代码:
Python

value=0x12faee4a627
s="0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZ?abcdefghijklmnopqrstuvwxyz"
sub=''
while value>0:
    sub+=s[value%64]
    value//=64
print(sub[::-1])

C++

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long value=0x12faee4a627;
    string s="0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZ?abcdefghijklmnopqrstuvwxyz",sub;
    while(value>0){
        sub+=s[value%64];
        value/=64;
    }
    reverse(sub.begin(),sub.end());
    cout<<sub<<endl;
    return 0;
}

WEB

网络安全

直接审查元素就行,这里想到一个表情包,我会审查元素了我就是黑客了哈哈哈。

flag{Cyber_security_ls_for_the_peop1e,cyber_security_depends_0n_the_peop1e}

G胖来了都沉默

我愿意把个人评价的最佳出题奖颁给他,是我不了解PHP,我快做吐了。

右上角登陆,获得真正的登陆页面。
在几次admin一些弱口令尝试后,提示到有a2.html
web.png
进入a2.html页面出来密码的过滤条件了
image.png

继续试着,看到告诉我用户名了
image.png

登陆进去,就告诉我密码了
image.png
以上操作用不到多长时间,下面就是我不懂PHP,疯狂试密码然后出错的过程,了解str_ireplace会懂。
这里我不解释那个原理了。
密码就是systemflagecho,但是你需要欺骗他的过滤条件
syssystemtemflflagagecechoho
类似这种的,他会把system,echo和flag过滤掉,过滤完的密码就是systemflagecho,就可以了。
image.png

前人栽树后人乘凉

PHP以前一个版本的漏洞。
不多说上截图
image.png

这边几个所谓的flag.txt是假的。浏览到提示说flag在home。
直接
image.png
image.png
这里flag2里面加密了。
解密网站Brainfuck - interpreter online (doleczek.pl)

image.png

合起来就得到flag了。

MISC

诈骗的茶话会

这题可能一开始存在一定的问题,我最后逐帧分析也没能对,只找到了三个,后来更新后就没问题了。
TEB${MAO}4H%J[4YQ@IBJCW.png
Y8[2F(DV566~1_1C0XABALX.png
6Z5I_9CYTFQJ@5@ESGU27@R.png

破防的缅北大哥

群里发了工具,直接用Audacity工具消除人声,然后再降倍速。不断听就行了。
image.png

隐藏的数据

这道题是抖机灵,因为找到了原题。
上连接
[[XDCTF]Misc ntfs流 - 简书 (jianshu.com)](https://www.jianshu.com/p/7ad29d1b85eb)

没啥好说的,当时甚至还没跟着去做,直接试了下网页里的flag结果成功了。

希望还是能改进一下。

Reverse

一则小故事

先upx脱壳
ZW4MH8W6D0@VPCFLG7$5}JN.png

image.png
在用ida打开分析
最后在main找到
image.png

AI

继续

代码参考文章
(5条消息) python实现图像灰度处理_害恶细君的博客-CSDN博客_python 图像 灰度

import matplotlib.pyplot as plt
import numpy as np
# 读取我的自拍图片(imread的函数功能也非常简单,名称也可以看出来,image read的缩写。imread负责的就是加载图片)
n1=plt.imread("me.png")
#  n1为三维数组,最高维度是图像的height,此高维是图像的width,最低为是RGB颜色
#  显示图片(imshow的函数功能也非常简单,名称也可以看出来,image show的缩写。imshow负责的就是将图片显示在窗口中)
plt.imshow(n1)
# 灰度公式要乘的值封装成一个列表n2
n2=np.array([0.299,0.587,0.114])
# 将n1的颜色值与n2点乘
x=np.dot(n1,n2)
#传入数据显示灰度
plt.imshow(x,cmap="gray")
plt.show()

过程

然后转化为md5值提交就OK了。

最后修改:2022 年 04 月 12 日
如果觉得我的文章对你有用,请随意赞赏