NewStar新生赛w1wp
本文最后更新于:2023年10月1日 晚上
NewStar新生赛W1部分wp
$\mathcal{Author:CoolWind}$
能力有限只a了Misc和Web,故只放出这两部分的wp
Misc
0x01 CypherChef
签到题,扔到CypherChef中用magic解base家族,得到flag。
0x02 机密图片
附件一张二维码,扫码之后显示内容Welcome to NewStarCTF 2023!
,用Stegsolve
调通道发现在不同颜色下图片左上角有小色块,判断为lsb
果断通过zsteg
进行扫描,得到flag。
0x03 流量!鲨鱼!
一道流量包题,通过wireshark
打开之后筛选所有http包,通过查找返回包找到一串base64
:
通过cypherchef
解密之后得到flag。
0x04 压缩包们
下载附件得到一个没有后缀的文件,通过winhex
打开之后发现是一个zip
类型的压缩包,修改后缀为.zip
之后报错文件损坏,再次打开winhex
查看之后发现缺少文件头。
在文件头位置加入50 4B 03 04
之后该压缩包可以正常打开。
解压之后打开flag.zip
仍然报错,再次打开winhex
查看,
可以发现数据区全局方式位标识符为09 00
(已加密)但是目录去全局方式位标识符为00 00
(未加密)因此报错,故将其修改为09 00
,压缩包可以正常解密。
同时发现注释中有一段base64
,解密之后可以得到如下hint:
提示我们密码是6位数字,直接用ARCHPR
爆破可以得到密码,从而获取flag。
0x05 空白格
打开之后发现一个全是空白字符的文件,怀疑是空白字符加密。
通过高强度网上冲浪和魔法可以找到类似题型,指向一个解密网站,将内容复制进去进行解密,得到flag。
0x06 隐秘的眼睛
观察图片发现背景中貌似有不规则的类似水印的东西,同时结合题目想到一个图片/音频加密容器silenteye
,通过默认格式进行解密可以得到flag。
Web
0x01 泄露的秘密
使用dirsearch
扫描靶机文档可以发现www.zip
可以访问,进行下载。
其实通过提示可以直接想到这个文件,但是因为
作者是铸币所以没有想到。
然后在两个文档中分别获得前后两半flag。
0x02 Begin of Upload
上传题,构造一句话木马<?php @eval($_POST['a']); ?>
,将文件后缀改为.jpg
绕过前端检测,然后通过burpsuite
抓包更改后缀为.php
,上传成功。
通过蚁剑进行连接,在根目录中获取到flag。
0x03 Begin of Http
step1 根据页面提示,构造payload/?ctf=1
。
step2 需要通过hackbar
传入secret
的值,在源码中可以找到一串base64
,解密得到值为n3wst4rCTF2023g00000d
。
step3 找到cookie
中有参量power=hacker
,将其修改为power=ctfer
。
step4 提示要使用特定浏览器,将User-Agent
修改为NewStarCTF2023
即可。
step5 要从特定网页访问,修改Refer
参数为newstarctf.com
。
step6 需要本地用户进行访问,首先实验常见的X-Forwarded-For
以及client-ip
均不可行,换成X-Real-IP: 127.0.0.1
即能通过本地检测,拿到flag。
后几步通过burp解决,使用hackbar也可以完成。
0x04 ErrorFlask
根据题目需要通过报错界面获得flag。
当传入的number1
或者number2
不符合要求时即可跳转到报错页面,可以看到报错信息中包含flag。
0x05 Begin of PHP
step1 传入数值不等但是MD5
相等的两个字符串s155964671a
和s878926199a
。
step2 md5
函数和sha1
函数在传入类型为数组的时候会返回false
,故构造key3[]=1
。
step3 表面上是要将key4
的值设置为和/flag
中相等,但是传入其他类型的数据,也会返回0
,故构造key4[]=1
数组可以绕过。
step4 要求key5
不是数字并且key5
需要大于2023,则可以构造key5=2024%00
通过url
的空白字符绕过。
step5 发现extract
函数,同时preg_match
不识别数组,也看到下面进入if
的条件是$flag5
,因此需要构造flag5[]=1
即可绕过,得到flag。
最终hackbar
视角如下:
0x06 R!C!E!
远程控制题,根据题干知道需要传入password
和e_v.a.l
两个参数。但是在php中,如果下划线_
后有.
那么_
会被修改为[
。因此我们需要传入的参数是password
和e[v.a.l
。
通过爆破脚本随便输出一个前6位是c4d038
的字符串作为密码,在e[v.a.l
中使用
1 |
|
用\
绕过对ls
的检测同时查看根目录,发现flag
文件。使用
1 |
|
绕过cat
和flag
的检测,获得flag。
0x07 EasyLogin
通过burpsuite
抓包修改注册时发包中的md5
值可以得到一些类似的hint:
证明admin
的密码是弱密码,通过试出密码为000000
。
然后登录进去是一个前端渲染的命令行界面。
通过抓包可以看到发送了一个含有passport
的包,在history
里查看其历史可以找到注释掉的flag。