2024 闽盾杯-黑盾赛道WP

news2024/12/23 9:47:40

CRYPTO

签到题-学会SM

https://www.json.cn/encrypt/sm3
在这里插入图片描述
题目要求小写所以需要转换一下
在这里插入图片描述
或者脚本:
import hashlib
message = "heidun2024"
hash_object = hashlib.new('sm3')
hash_object.update(message.encode('utf-8'))
hash_value = hash_object.hexdigest()
print(hash_value)

源码和数据都要保护

利用php在线解密工具解密php

得到php源代码

<?php
 function my_encode($str,$key) {
  $re='';
  $len=strlen($str);
  for ($i=0;$i<$len;$i++) {
    $c=substr($str,$i,1);
    $k=substr($key,($i%strlen($key)),1);
    $num=ord($c)+ord($k);
    if($num>255) $num-=256;
    $re.=chr($num);
  }
  return $re;
}
function my_decode($str,$key) {
  return 'Something missed.';
}
$data=@$_GET['data'];
$key=@$_GET['key'];
if($key=='') $key='hdhd4321';
if($data!='') {
  $mi=my_encode($data,$key);
  file_put_contents('data_encoded.txt',$mi);
  echo 'Saved to data_encoded.txt';
}
?>

编写脚本后得到flag

<?php
 function my_encode($str,$key) {
  $re='';
  $len=strlen($str);
  for ($i=0;$i<$len;$i++) {
    $c=substr($str,$i,1);
    $k=substr($key,($i%strlen($key)),1);
    $num=ord($c)+ord($k);
    if($num>255) $num-=256;
    $re.=chr($num);
  }
  return $re;
}
function my_decode($str,$key) {
  return 'Something missed.';
}
$data=@$_GET['data'];
$key=@$_GET['key'];
if($key=='') $key='hdhd4321';
if($data!='') {
  $mi=my_encode($data,$key);
  file_put_contents('data_encoded.txt',$mi);
  echo 'Saved to data_encoded.txt';
}
?><?php
 function my_encode($str,$key) {
  $re='';
  $len=strlen($str);
  for ($i=0;$i<$len;$i++) {
    $c=substr($str,$i,1);
    $k=substr($key,($i%strlen($key)),1);
    $num=ord($c)+ord($k);
    if($num>255) $num-=256;
    $re.=chr($num);
  }
  return $re;
}
function my_decode($str,$key) {
  return 'Something missed.';
}
$data=@$_GET['data'];
$key=@$_GET['key'];
if($key=='') $key='hdhd4321';
if($data!='') {
  $mi=my_encode($data,$key);
  file_put_contents('data_encoded.txt',$mi);
  echo 'Saved to data_encoded.txt';
}
?>

我的进制我做主

题目给了数据

ergdgjboglfpgcbpbofmgafhfngpfoflfpfkgjgccndcfqfpgcgofofpdadadagr

题目提示是自定义进制,因此首先先查看字符串用到的符号,有如下17个符号。

大致为a到r的字母顺序,少了一个i。因此推测实际为18进制,a到r对应0-9\a-h,其中i未使用到。

最后经测试,为每个字母单独编码一个2位18进制,解得flag。

from Crypto.Util.number import *
with open("我的进制我做主.txt") as file:
    dat = file.readline()
print(dat.encode().hex())
print(dat)
print(len(dat))

co = 0
for i in [chr(i) for i in range(ord('a'), ord('z')+1)]:
    if i in dat:
        print(i, end='')
        co+=1
print()
print(co)

chls = 'abcdefghijklmnopqr'
myO  = '0123456789abcdefgh'
ct = dict(zip(chls,myO))
print(ct)
decDat = ''.join([str(ct[i]) for i in dat])

flag = ''
jinzhi = 18
for i in range(0, len(decDat),2):
    tmp = decDat[i: i+2]
    res = int(tmp, jinzhi)
    
    flag += chr(res)
    print(f'{tmp}, {res}, {chr(res)}')

print(decDat)
print(flag)


flag2 = int(decDat, jinzhi)
print(flag2)
print(long_to_bytes(flag2)) s

flag{heidun18jinzhi666}

源码和数据都要保护

题目描述:难懂的PHP,难懂的flag。

附件中的 PHP文件经过加密,需要破解。可以用一些在线破解平台,如: http://www.zhaoyuanma.com/zym.html ,也可以自己搭建 PHP环境,安装 php-beast扩展模块,以 debug模式把 PHP源码还原出来。(模块用默认密钥即可)
源代码写了加密函数,没写解密函数:
要自己写出解密函数来对 txt文件解密才能得到明文 flag,参考解密代码:

MISC

一个Logo

考察的lsb隐写,直接zsteg梭哈了
在这里插入图片描述
用Stegsolve一样可以,b0通道
在这里插入图片描述
我变个样就不认识我
题目是变样,我猜测还是lsb,用zsteg跑
在这里插入图片描述
发现是存在冗余数据
看着这个直接能想到base64换表
在这里插入图片描述
发现编码表不正确,可能是表不全的原因, 因为是xyz开头,所以补充上abcdefghijklmnopqrstuvw
在这里插入图片描述

学会Office

看到是xls就知道是excel表格
用wps打开看看,发现可以取消隐藏
在这里插入图片描述
看到了flag列,提示了宏加密,因为我的wps不能够进行宏操作,我就换了windows的office
在视图中可以找到宏
在这里插入图片描述
但是看上去flag的字符顺序并不对
利用筛选功能进行排序,筛选计算机成绩降序
在这里插入图片描述
提取flag字符
image-20240622123941465

我不是二维码

在这里插入图片描述
看着像二维码,然后还是0000000111111这种类型的,直接上Byxs20 b神的工具puzzlesolver,想购买工具的可以联系 企鹅97766819
在这里插入图片描述
在这里插入图片描述
得到二维码
在这里插入图片描述
识别后得到密码,做了很久,猜测是aes解密
文件名为密钥和偏移量,文件名做密钥也是老套路了
在这里插入图片描述

我变个样就不认识我了

img
查看图片尾部发现字符串
xyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/
W9i4WoeEJAy7Un/hV8u/WT870Tq2J6xjKEl=
拼接成完整base64表解码得到flag
xyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/abcdefghijklmnopqrstuvw

出题人的上网流量

开始得到pcap文件,在中间段发现了SMTP协议,推测有内容,进行filter操作。

追踪SMTP

对邮件正文进行base64解码,得到正文信息,厨子保存成html输出。

下载附件,发现为加密的docx文档,密码为出题人QQ号。

通过页面提示吴某某比对,发现为交流群主,QQ号为217778

解密得到最终结果。

flag{baodaheidunchutiren}

gogogo

该题用go的github.com/tjfoc/gmsm/x509库加密flag并输出,公钥私钥均在源码中。

因此直接使用库中的解密函数进行解密。其中,ReadPrivateKeyFromPem函数需传入第二个参数pwd作为私钥密码,因为源码中给的私钥无加密,因此传入nil即可。


package main

import (
    "crypto/rand"
    _ "embed"

    "github.com/tjfoc/gmsm/x509"
)

type EncryptController struct {
}

func Encrypt(plainText []byte) []byte {

    publicKeyFromPem, err := x509.ReadPublicKeyFromPem(pub)
    if err != nil {
        panic(err)
    }
    cipherText, err := publicKeyFromPem.EncryptAsn1(plainText, rand.Reader)
    if err != nil {
        panic(err)
    }
    return cipherText
}

func Decrypt(plainText []byte) []byte {

    privateKeyFromPem, err := x509.ReadPrivateKeyFromPem(pri, nil)
    if err != nil {
        panic(err)
    }
    cipherText, err := privateKeyFromPem.DecryptAsn1(plainText)
    if err != nil {
        panic(err)
    }
    return cipherText
}

var pub = []byte(`
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE3xqu+AwSgmeQnsVflwUSDnjxPkjC
SiD+xllUCJ3UkfGmLII/LZ2FS3gJe4o6PGXZEWiIZz4eb4brd1xlXkrleQ==
-----END PUBLIC KEY-----
`)
var pri = []byte(`
-----BEGIN PRIVATE KEY-----
MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQglNntSZVhLqSWzuKw
Z2CwSfSCNI8lQm0sS0Kvh8dOxG+gCgYIKoEcz1UBgi2hRANCAATfGq74DBKCZ5Ce
xV+XBRIOePE+SMJKIP7GWVQIndSR8aYsgj8tnYVLeAl7ijo8ZdkRaIhnPh5vhut3
XGVeSuV5
-----END PRIVATE KEY-----
`)

func main() {
    cs := []byte{48, 125, 2, 33, 0, 238, 212, 154, 134, 255, 91, 109, 210, 231, 242, 184, 9, 103, 26, 30, 241, 93, 242, 68, 119, 148, 9, 21, 5, 241, 175, 203, 3, 152, 63, 85, 82, 2, 32, 2, 156, 154, 131, 146, 194, 242, 200, 19, 109, 209, 151, 90, 252, 165, 49, 247, 141, 208, 219, 117, 226, 91, 113, 225, 0, 33, 162, 19, 87, 49, 68, 4, 32, 213, 16, 18, 177, 119, 110, 74, 6, 147, 235, 85, 0, 61, 4, 1, 43, 107, 207, 249, 37, 195, 141, 141, 23, 244, 159, 235, 159, 169, 243, 160, 37, 4, 20, 179, 67, 236, 205, 121, 146, 216, 75, 168, 197, 214, 34, 63, 138, 237, 247, 166, 117, 246, 210}
    flag := Decrypt(cs)
    res := string(flag)
    println(res)
}

加上flag头,即可得到真实flag。

flag{this_is_a_plain_flag}

空白

题目描述:眼前一片白茫茫,脑袋也一片空白。

空白 .jpg文件末尾有附加数据,是个 rar压缩文件。可以用 binwalk自动提取或用  winhex手动复制成新文件。
rar文件解压得到两个 txt文件,一个只有空白字符,另一个有特殊字符:
看着有全角和半角符号,猜测为半角全角字符隐写,通过 https://holloway.nz/steg/ 尝试解密,获得密码提示6hlowsn2a2nha,如图:
另一个空白字符文件,利用SNOW隐写工具(下载链接https://darkside.com.au/snow/),执行命令如下:
SNOW .EXE -C -p 6 hlowsn2a2nha 看不见不一定没有 .txt

得到flag:

WEB

你懂Fu22吗?

题目说懂Fu22吗,其实就是fuzz
在这里插入图片描述
根据提示可以发现是需要换请求方法
改为post后
在这里插入图片描述
提示需要参数和值
这里就直接使用arjun来爆破参数
在这里插入图片描述
能够发现参数为word,然后在bp中用字典爆破value
在这里插入图片描述
这里用的是arjun自带的一个large字典
在这里插入图片描述
爆破出value值为exec,得到新的线索
在这里插入图片描述
访问后发现是套娃,还是爆破,不过这次是get型的
还是需要参数利用arjun再爆破一次
在这里插入图片描述
爆破出来key的值为key,本来还想爆破value的,试了一下ls发现成功执行了
在这里插入图片描述
看了是直接rce了,这里过滤了空格$IFS绕过一下就好了
在这里插入图片描述
这里在上层有一个假的flag,而上上层的flag.txt才是真的flag
在这里插入图片描述

No characters

题目提示了是windows,所以肯定考察的是关于文件上传的windows特性
在这里插入图片描述
上传后缀处能够利用::$DATA来绕过检测
除了校验后缀,内容中的数字与字母一样会被拦截,所以这里利用的无字母数字webshell
在这里插入图片描述
成功上传,执行一个phpinfo()看看
在这里插入图片描述
上去找了半天没找到flag,用findstr来匹配一下
在这里插入图片描述
发现flag在windows目录下,用type命令来读取
在这里插入图片描述

PDF export

输入内容,导出PDF。
测试发现,过滤了 file://协议,同时一些 HTML标签也被拦截了。但可以用 <svg和 <script标签,还有 <meta标签。所以,可以用 js脚本读 flag文件,使它输出到 PDF文件中。
思路一:
提交 <meta http-equiv="refresh" content="0;url=javascript:document.write(xxx)" />实现执行脚本或跳转 URL。
思路二:
插入 <script代码段读取 flag.txt(也有人用脚本跳转 flag.txt即可)

参考payload 1:

参考payload 2:

<meta http-equiv="refresh" content="0;url=javascript:eval(atob('dmFyIGh0dHA9bmV3IFhNTEh0dHBSZXF1ZXN0KCk7aHR0cC5vcGVuKCJHRVQiLCJmaWxlOi8vLy9yb290Ly5iYXNoX2hpc3RvcnkiKTtodHRwLm9ubG9hZD1mdW5jdGlvbihlKXt2YXIgY29kZT10aGlzLnJlc3BvbnNlVGV4dDtkb2N1bWVudC53cml0ZShjb2RlKX07aHR0cC5zZW5kKCk7 '))" />

(这个其实是用XMLHttpRequest()读取file:root/.bash_history文件,非预期解法)

参考payload 3:

<script>document.location="flag.txt"</script>

RE

你破解or我破解

img

40281D下断点nop跳转

img

确定之后会显示猜解flag

img

img

img

img

找到文本赋值地址0x402ACC下断点修改eax为999999

img

img

爆破得到520530

flag{heidun_crk_520530}

pwn

licensePWN

img

img

发现sub_4012F0存在溢出点

img

查看堆栈写入0x18+4字节可以修改ret

img

发现读取flag.txt函数

修改ret为0x401340得到flag

img

题目附件下载地址:
链接:
https://pan.baidu.com/s/1bV-nYcL_ICohin0SXTFnSQ 提取码: 6u75 
转载原文参考链接地址:
https://blog.csdn.net/xaxt123/article/details/139899667
https://blog.csdn.net/swordcloud_xm/article/details/140616151
https://blog.csdn.net/CLAY0011/article/details/140557348
  https://mp.weixin.qq.com/s/CB62vYgf8rKbvcCCLiKjLA
https://mp.weixin.qq.com/s/CB62vYgf8rKbvcCCLiKjLA
  https://mp.weixin.qq.com/s/Pnr585YrQqnhhhiiCJHttA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2203019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【STM32单片机_(HAL库)】4-5-3【定时器TIM】【感应开关盖垃圾桶项目】项目实现

1.项目需求 以下几个事件触发时&#xff0c;垃圾桶自动开盖&#xff0c;并伴随蜂鸣器短响一声&#xff0c;同时 LED 灯闪烁一下&#xff0c;2秒后自动关盖&#xff1a; 检测到有人靠近检测到有震动按下按键 KEY1 2.硬件 STM32单片机最小系统震动传感器模块蜂鸣器模块&#…

对象比较工具类:实现对业务的修改记录保存(对象字段差异对比)

测试 1&#xff1a;User类 Data NoArgsConstructor AllArgsConstructor public class User {FieldLabel("姓名")private String name;FieldLabel("年龄")private Integer age;FieldLabel("手机")private String phone;FieldLabel("手机号…

宠物空气净化器哪个牌子吸毛好?希喂、IAM、352真实测评

前段时间忙活了个大工程——热门宠物空气净化器大横评&#xff0c;通过多方位的测试&#xff0c;帮助不少朋友解决了宠物空气净化器的选购难题。 但我们还不局限于此&#xff0c;在从事家电行业这些年间&#xff0c;我们还花费大价钱购置一堆产品实测体验过各类大小家电产品&a…

Spring Boot教学资源库:从入门到精通

1绪 论 1.1研究背景 目前&#xff0c;在网络大环境下&#xff0c;越来越多高校开始实行网络教学&#xff0c;利用网络教学方式有利于学生更好的学习。 网络教学是指以计算机及网络为基础&#xff0c;来实现教学资源的上传、存储、传播和共享的教学手段。它是一种教学活动&#…

PyQt5 基于paho-mqtt库 实现MQTT通信

PyQt5 基于paho-mqtt库 实现MQTT通信 paho-mqtt安装paho-mqtt库综合示例错误处理 paho-mqtt paho-mqtt官网文档 安装paho-mqtt库 pip install paho-mqtt 综合示例 封装MQTT类订阅消息发布消息信号方式接收处理MQTT消息 import paho.mqtt.client as mqtt import sys import …

在线绘图工具drawio,visio的平替

Draw.io&#xff1a;灵活高效的在线绘图工具推荐 在工作和项目管理中&#xff0c;流程图、架构图和思维导图等可视化图表是非常重要的沟通工具。Draw.io&#xff08;现更名为diagrams.net&#xff09;是一个强大且免费的在线绘图工具&#xff0c;适用于创建各种类型的图表。它功…

YOLOv11训练自己的数据集,YOLOv11网络解析

1 训练自己的数据集 在github搜索ultralytics并下载。 GitHub - ultralytics/ultralytics: Ultralytics YOLO11 &#x1f680; 环境配置不再赘述&#xff0c;本地配置自行搜索教程&#xff0c;若使用云服务器配置更为简单。 数据标注 pip install labelimg启动标注工具 la…

【PGCCC】在 Postgres 上构建图像搜索引擎

我最近看到的最有趣的电子商务功能之一是能够搜索与我手机上的图片相似的产品。例如&#xff0c;我可以拍一双鞋或其他产品的照片&#xff0c;然后搜索产品目录以查找类似商品。使用这样的功能可以是一个相当简单的项目&#xff0c;只要有合适的工具。如果我们可以将问题定义为…

Pycharm设置相同变量的背景颜色

在 PyCharm 中设置鼠标点击某个变量时&#xff0c;代码其他地方相同变量的背景颜色&#xff0c;可以通过调整颜色方案中的相关设置来实现。以下是详细步骤&#xff1a; 打开 PyCharm&#xff0c;选择 File -> Settings&#xff08;在 Windows/Linux 上&#xff09;或 PyChar…

基于 CSS Grid 的简易拖拉拽 Vue3 组件,从代码到NPM发布(1)- 拖拉拽交互

基于特定的应用场景&#xff0c;需要在页面中以网格的方式&#xff0c;实现目标组件在网格中可以进行拖拉拽、修改大小等交互。本章开始分享如何一步步从代码设计&#xff0c;最后到如何在 NPM 上发布。 请大家动动小手&#xff0c;给我一个免费的 Star 吧~ 大家如果发现了 Bug…

全网最详细k8s搭建部署

目录 Kubernetes的功能&#xff1a; Kubernetes的特点&#xff1a; 1. 安装要求 2. 部署内容 1、系统环境准备 2、所有禁用swap和本地解析 3、仓库配置&#xff0c;所有安装docker 4、所有节点设定docker的资源管理模式为systemd 5、所有阶段复制harbor仓库中的证书并…

一款电子产品图册转换器

​随着科技的不断发展&#xff0c;电子产品已经成为我们生活中不可或缺的一部分。无论是手机、平板电脑还是智能家居&#xff0c;它们都离不开电子图册的支撑。一款优秀的电子产品图册转换器&#xff0c;可以帮助我们轻松实现电子图册的转换&#xff0c;为我们的生活和工作带来…

AlphaFold加冕诺奖,DeepMind CEO获奖感言:最优秀的科学家与AI配合,将完成令人难以置信的工作

继「AI 教父」摘冠 2024 年诺贝尔物理学奖后&#xff0c;AI 再下一城&#xff0c;获得了今年的诺贝尔化学奖。 北京时间 10 月 9 日&#xff0c;瑞典皇家科学院宣布了 2024 年诺贝尔化学奖的归属&#xff0c;一半授予 David Baker&#xff0c; 以表彰其在计算蛋白设计方面的贡…

python实现音频文件mp3/m4a转.wav + windows安装ffmpeg

近期在尝试使用大模型进行音频降噪、人声分离。抱脸上的模型几乎统一输入需求都是.wav&#xff0c;直接贴代码吧 ps:使用这段代码需要提前安装好ffmpeg(安装教程请往下拉) from pydub import AudioSegment# 加载.m4a文件 audio AudioSegment.from_file(r"你文件的路径&…

Pycharm使用CV2

1、windows下已经安装好python3以及opencv2 2、安装并打开pycharm 环境中装好的包就能显示出来了&#xff0c;就可以去调用cv2的接口了

TCP/IP相关

1、关于三次握手、四次挥手和TCP的11种状态&#xff1a; 记住这张图就行了&#xff1a; 2、关于慢启动、拥塞避免、超时重传、快速重传、快速恢复 记住这张图就行了&#xff1a; 一些名词解释&#xff1a; MSS&#xff1a;Maximum Segment Size&#xff0c;最大报文长度 RT…

力扣 1206. 设计跳表

Problem: 1206. 设计跳表 &#x1f469;‍&#x1f3eb; 参考题解 class Skiplist {// 定义跳表的最大层数int level 10;// 定义跳表节点类class Node {int val; // 节点值Node[] ne new Node[level]; // 节点的下一跳节点数组&#xff0c;支持多级索引// 构造函数&#xf…

深度学习之卷积CONV2D

文章目录 1.学习目的2.填充与步幅2.1填充2.2 步幅 3.总结 1.学习目的 卷积听起来简单&#xff0c;事实上不简单&#xff0c;需要多加练习 2.填充与步幅 在前面的例子 图6.2.1中&#xff0c;输入的高度和宽度都为3&#xff0c;卷积核的高度和宽度都为2&#xff0c;生成的输出…

用Python将HTML转换为Excel文件

在数据处理和分析的过程中&#xff0c;经常需要从网页上抓取信息&#xff0c;并将其转换为更易于操作的格式。HTML表格作为一种常见的数据展示方式&#xff0c;在线报告、统计资料等场景中广泛存在&#xff0c;但其结构化程度较低&#xff0c;不利于进一步的数据清洗和分析。将…

微信小程序-APP-软件开发

微信小程序开发&#xff0c;作为当下移动互联网领域的一股强劲势力&#xff0c;正以其便捷性、轻量化及高用户粘性的特点&#xff0c;深刻改变着我们的生活与工作方式。它不仅为企业和个人开发者提供了一个全新的服务入口&#xff0c;更极大地拓宽了商业应用的边界。 在微信小…