NewStarCtf 2023

发布时间 2023-10-02 20:16:42作者: _CRAYON

嘿嘿嘿,水水博客

MISC

CyberChef's Secret

M5YHEUTEKFBW6YJWKZGU44CXIEYUWMLSNJLTOZCXIJTWCZD2IZRVG4TJPBSGGWBWHFMXQTDFJNXDQTA=
直接上厨师magic,自动解密
cyberchef.png

机密图片

0通道的图像上都有黑线,猜测rgb隐写
answer.png
bin.png

流量!鲨鱼!

看http流量,发现flag
思路.png
流量.png

压缩包们

这题是脑瞅瞅了,下次应该记录压缩包文件头为504B03041400,没有想过改文件头,想着从中间提取来着。
改个文件头00 00 00 00 为50 4B 03 04 就能恢复压缩包,然后提示的密文base64解码知道密码是6位,arc爆破就行。

空白格

空白格whitespace,这个也没有去查,看官方wp才知道这是一门语言,可以用在线网站运行。
也写了个脚本对空白格计算,但是没发现什么特点。

隐秘的眼睛

如题,根据经验来说应该是某款工具,直接搜得到slienteye,一款音频和图像的隐写工具。直接解密
$(BK($1M_TWT(L0EQS@6HB2.png

WEB

泄漏的秘密

虽然是一个签到题,但是没写出来,一个是robots.txt 得到前面一半,另一半咋都猜不出,buu的对网站扫描做了处理,用工具扫不出,还是太菜了,另一半是www.zip,网站的备份文件,这个总结挺好
CTF中常见信息搜集学习总结_ctf disallow: www.zip_等灬的博客-CSDN博客

Begin of Upload

只有前端认证,简简单单的文件上传,前端认证绕过的方式很多,直接关掉浏览器js,然后上传就行,然后后面的就是执行命令啥的了,system,ls ,cat 其他不再多说。

Begin of HTTP

简单的修改http请求头,get,post传参,一点点问题就是U-A头的时候,是NewStarCTF2023,还有本地用户不能用xff,用了x-real-ip,其他不多说。

ErrorFlask

老题目了,传参触发报错页面,flag在报错信息里面,考点是flask报错界面信息泄露。

Begin of PHP

常见的md5绕过就不多说,不常见的,md5和sha1相等绕过,利用传入数组,构造NULL=NULL进行绕过。还有对flag5的判断,过滤了数字和字母,直接传入符号,考察的是extract函数导致的变量覆盖漏洞。

R!C!E!

传入password,然后strstr截断比较,想从哈希逆回去求明文是无法实现的,所以可以写脚本碰撞,参考了一个脚本,但是得出来的不对。。。

import hashlib
def crack(pre):
for i in range(0, 999999):
		if (hashlib.md5(str(i).encode("UTF-8")).hexdigest())[0:6] == str(pre):
				print(i)          
				break
crack("c4d038")

最后用的是114514绕过了比较。
然后是e_v.a.l ,这个不能直接传参,php8以下的版本会将] _一些字符自动转换,这是php的字符串解析特性,具体可以查查,之前有一个漏洞也是利用了这个特性,所以传入的应该是e[v.a.l,然后是绕过黑名单,对system进行了过滤,但是也可以用对这些函数及逆行绕过,比如cat换成head等等。

EasyLogin

这个没做出来,看了wp分析,先注册账号登录,然后通过历史命令得到账户名和密码,登录成功后在302重定向记录中得到flag,最后用户名和密码还是没有试出来。
image.png
分析一下这个命令echo -e ,开启转义,里面的\n就变成了换行符号,字符串被输出到txt文件当中,然后export设置环境变量,shuf将行号打乱,然后显示开头第一行的内容,

crypto

brainfuck

直接丢进brainfuck解密

Caesar's Secert

凯撒,直接移位
flag{ca3s4r's_c1pher_i5_v4ry_3azy}

Fence

栅栏密码,w型
flag{reordering_the_plaintext#686f8c03}

Vigenère

维吉尼亚密码(这个密码表一直不是很会看)
pqcq{qc_m1kt4_njn_5slp0b_lkyacx_gcdy1ud4_g3nv5x0}

最上面的是明文,左边是密钥,key和明文位数成倍数,并且是循环的,我们知道前面几位是flag
p ->f : k
q ->l : f
c ->a : c
q ->g : k
得到key = kfc ,放工具解密flag{la_c1fr4_del_5ign0r_giovan_batt1st4_b3ll5s0}

babyencoding

cyberchef有时挺好用,大部分是卡死,这有点。
part1 :base64decodeflag{dazzling_encoding#4e0ad4
part2:base32decodef0ca08d1e1d0f10c0c7afe422fea7
part3:uudecodec55192c992036ef623372601ff3a}