1、hacker

image-20240805194102802

image-20240805194130577

2、sophia

image-20240805194325754

image-20240805194438792

image-20240805194736583

3、angela

image-20240805194943008

image-20240805195009560

4、emma

image-20240805195230272

当使用 cat - 时,通常是用来从标准输入读取内容并将其输出到标准输出

在脚本中,可以使用 cat - 处理来自标准输入的内容,如:

1
2
3
4
5
#!/bin/bash
echo "Please enter your name:"
read name
echo "Hello, $name!"
cat -

这个脚本会先要求用户输入名字,然后通过 cat - 等待用户进一步输入,并将其内容直接输出。

所以这里直接使用

1
cat ./-

image-20240805201203676

5、mia

image-20240805201436436

这里使用

1
find / -name hereiam -type d 2>/dev/null

-type d: 限制搜索结果只包括文件夹。-type f为限制搜索结果只包括文件

2>/dev/null: 将标准错误(stderr)重定向到 /dev/null,这样可以隐藏搜索过程中可能出现的错误信息。这可以防止由于权限不足或其他原因导致的错误消息在终端上显示出来。

image-20240805201735977

image-20240805202307585

6、camila

image-20240805202517636

这个muack文件夹里面有好多子目录,其中一个文件里面有密码。

1
find muack/ -type f -exec cat {} \;
  1. find muack/: 在 muack/ 目录下进行查找操作。muack/ 是指定的起始目录。
  2. -type f: 限制查找结果为普通文件(不包括目录或其他类型的文件)。
  3. -exec cat {} \;: 对于每一个找到的文件,执行 cat {} 命令。{} 表示 find 命令找到的文件路径,\; 表示 -exec 参数的结束。

综合起来,这条命令的具体步骤是:

  • muack/ 目录下递归地查找所有普通文件。
  • 对于每一个找到的文件,使用 cat 命令显示其内容。

7、luna

image-20240805203550214

1
find / -size 6969c -type f 2>/dev/null

查找6969字节大小的文件(c:字节,w:双字,k:KB,M:MB,G:GB)

image-20240805204102821

8、eleanor

image-20240805204453813

查找属于用户violin的文件

1
find / -user violin -type f 2>/dev/null

9、victoria

image-20240805205134045

这里因为权限问题不能解压到本文件夹中,可以解压到/tmp文件夹中

1
unzip passw0rd.zip -d /tmp #-d为指定绝对路径

10、isla

image-20240805213753619

1
2
3
4
5
cat passy |grep 'a9HFX'

grep 'a9HFX' passy

grep '^a9HFX' passy #^ 表示行的开头

11、violet

image-20240805215508982

1
grep '0JuAZ$' passy #$ 表示行的结尾

12、lucy

image-20240805215746203

上面两个合在一起

1
grep '^fu.*ck$' file.yo

13、elena

image-20240805220526122

查看环境变量

1
2
3
4
5
6
7
printenv

env

printenv | grep -i pass

#环境变量中有彩蛋flag

14、alice

image-20240806121922542

找到passwd文件,在/etc/passwd中,打开文件找到alice行的注释即可

或者

1
cat /etc/passwd | grep 'alice'

15、anna

image-20240806122419505

列出目前的sudo权限

1
sudo -l

我们看到它直接给了我们用户 natalia 的用户 shell。

1
sudo -u natalia bash #此处为获取natalia的权限,sudo -u指定用户执行命令,例sudo -u user ls -a

16、natalia

image-20240806123751769

base64解密

1
base64 -d 'base64.txt' 

17、eva

image-20240806124415670

对于此任务,我使用了find命令。在 find 命令中,有一个选项mtime,允许我们根据修改的时间(默认为天数)扫描文件。因此,如果 n 是天数,我们可以找到在 n 天之前、n 天之后或 n 天前修改的文件。例如,2024 年和 1970 年的天数之差为(2024-1970)*365= 19710 天。因此,通过使用-mtime -19710,我可以列出比 1970 更新的文件。但是,-mtime +19710将给出 1970 年之前的修改的结果。

1
find / -type f -mtime +19710 2>/dev/null

18 、clara

image-20240806125500671

这里的rockyou.txt为密码爆破字典,可以在github上下载

需要我们爆破压缩包密码,先将文件拉到本地计算机

1
2
3
4
5
6
7
scp -P 5000 clara@venus.../images.eu:~/protected.zip .  
#注意后面的'.'的意思是下载到当前文件夹中
windos中可以用ARCHPR或者Ziperello
linux中可以用john the ripper

zip2john protected.zip > fridahash
john fridahash --wordlist=/home/kali/rockyou.txt

19、frida

image-20240808182946762

文件中有重复行即为密码,但是注意未排序,所以先对文件中字符串排序sort再去进行查重 uniq

注意uniq只会对相邻行重复进行查重

1
sort  repeated.txt | uniq -d repeated.txt

20、eliza

image-20240808184010066

目录中有一个隐藏文件,是iris的ssh私钥

1
ssh iris@localhost -i .iris_key

21、iris

image-20240808184543316

查看eloise文件,发现是图片的base64格式,复制下来直接用在线base64转图片即可

22、eloise

image-20240808185706062

打开hi文件会发现是十六进制格式,转换ascii码即可

或者用

1
xxd -r hi

23、lucia

image-20240808190253149

字典文件中有彩蛋flag 0xC

暴力破解/etc/xdg中的文件名

1
2
while IFS= read -r line; do readlink -e /etc/xdg/$line ; done < dict.txt
while IFS= read -r line; do cat /etc/xdg/$line; done < dict.txt 2>/dev/null
  1. while IFS= read -r line; do ... ; done < dict.txt:
    • while ...; do ... ; done: 这是一个 Bash 的循环结构,while 后面的条件会一直循环执行,直到条件不满足为止。
    • IFS= read -r line: IFS= 确保 Bash 不会从输入中去除空格和制表符,read -r line 用于读取 dict.txt 文件的每一行,并将其赋值给变量 line
    • < dict.txt: 将 dict.txt 文件作为输入流传递给循环。
  2. readlink -e /etc/xdg/$line:
    • readlink -e: 这个命令会打印符号链接的绝对路径。如果 /etc/xdg/$line 是一个符号链接,则会打印出其解析后的绝对路径。
    • /etc/xdg/$line: 这是一个路径,其中 $line 是从 dict.txt 中读取的每一行的值。这个路径假设了 /etc/xdg/ 目录下有以 dict.txt 中每行内容命名的文件或目录。

24、isabel

image-20240808191241266

找无重复行,还是先排序

1
sort different.txt |uniq -u

25、freya

image-20240808191558370

写一个bash脚本循环读取/free文件夹下生成的文件

1
false; while [ $? -ne 0 ]; do cat /free/* ; done 2>/dev/null
  • **false;**:
    • false 是一个命令,它总是返回非零的退出状态(即返回 1),表示命令执行失败。这里使用 false; 是为了始终进入循环的第一次迭代。
  • **while [ $? -ne 0 ]; do ... ; done**:
    • while [ $? -ne 0 ]; do ... ; done 是一个 while 循环,其条件是命令的退出状态不等于零时执行。$? 是上一个命令的退出状态。

26、alexa

image-20240808192657539

在本地发一个http请求

1
curl http://localhost

27、ariel

image-20240808193118328

有一个临时文件,可以用vim -r去回复

1
vim -r .goas.swp

可以写个脚本去爆破密码

–>VVjqJGRrnfKmcgD–>bnQgcXYamhSDSff–>QsymOOVbzSaKmRm–>cbjYGSvqAsqIvdg–>LkWReDaaLCMDlLf–>DabEJLmAbOQxEnD–>mYhQVLDKdJrsIwG–>d3LieOzRGX5wud6–>EKvJoTBYlwtwFmv–>PEOppdOkSqJZweH–>rSkPlPhymYcerMJ–>GBUguuSpXVjpxLc–>NdnszvjulNellbK–>IaOpTdAuhSjGZnu–>RGBEMbZHZRgXZnu–rxhKeFKveeKqpwp–>cOXlRYXtJWnVQEG–>ppkJjqYvSCIyAhKThats