2024 闽盾杯-黑盾赛道WP

news/2024/12/23 2:00:46/文章来源:https://www.cnblogs.com/backlion/p/18450997

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 6hlowsn2a2nha 看不见不一定没有.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.hqwc.cn/news/809805.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024 第七届“巅峰极客”网络安全技能挑战赛初赛 wp

WEBEncirclingGame题目描述:A simple game, enjoy it and get the flag when you complete it.开题,前端小游戏,红点出不去就行直接玩通关了看看如何不玩也能拿到flag,flag存储在后端php文件内,前端找不到。看一下游戏的请求包,里面记录了红点的最后位置和防火墙(黑点)…

SpringBoot.3中的aot.factories到底有什么用?和以前的spring.factories一样吗?

首先,我们来澄清一下 aot.factories 和 spring.factories 之间的区别。这两个文件不仅名称不同,而且在功能上也存在显著差异。接下来,我们将深入探讨这两个文件的具体作用以及它们各自的应用场景。让我们一起来揭开它们的神秘面纱吧! 在我们上一次讨论 Spring Boot 3 版本时…

GitHub上 Star 数量最多的 Airtable 开源替代者

发现 GitHub 上最受欢迎的 Airtable 开源替代项目。相信你一定对 Airtable 不陌生。 Airtable 于 2012 年由创立,真正开始走红大概是在 2018 年左右,那个时候它的用户数量和市场份额突然大幅增加。这归功于它直观的界面和易用性——相比起传统的数据库系统,用户不需要任何编…

【Unity】绘制表格:排行榜

在Unity中绘制表格,表格内容为分数排行榜绘制一款表格,表格特征为头行颜色不同、间隔行不同背景色、滚动视图;表格内容是分数排行榜,前三名有奖牌图标前缀。 成果展示Scene部分 标题和背景 滚动视图:表头、表格行模板效果图脚本部分 脚本绑定在滚动组件的Viewport物体上。…

A股、港股大涨,看多中国的顶级金融机构为何都选择极狐GitLab?

疯狂上涨的 A股、港股 节前一周,上证指数累计上涨超 12%,创下2008年11月以来最大单周涨幅;深证成指累计上涨超17%,创下1996年4月最大单周涨幅;创业板指上涨超22%,创下史上最大单周涨幅。 过去两周,富时A50指数上涨25.5%、金龙指数上涨38.7%、iShare MSCI China ETF 上涨…

thinkphp 设置运行目录为/public后 404错误

当你在 ThinkPHP 中设置了运行目录为 /public 后,可能会遇到 404 错误。这通常是因为 Web 服务器的配置问题导致的。以下是解决这个问题的几个步骤: 1. 修改 .htaccess 文件 如果你使用的是 Apache 服务器,需要确保 .htaccess 文件正确配置。在项目根目录下创建或修改 .htac…

网站证书错误打不开网页怎么办

遇到网站证书错误导致网页无法打开的情况,可以尝试以下几个步骤来解决:清除浏览器缓存和Cookies清除浏览器中的缓存数据和Cookies可能会帮助解决问题。更换浏览器尝试使用不同的浏览器访问该网站,有时候问题可能是浏览器特定的。检查日期和时间设置确保您的设备日期和时间设…

网站怎么修改里面资料

修改网站内部资料的具体步骤取决于您的网站类型和技术栈。以下是针对不同类型的网站的详细步骤: 1. 使用CMS系统(如WordPress、Drupal等) 修改文字登录后台:登录到CMS后台管理系统(例如WordPress的/wp-admin)。编辑页面或文章:导航到“页面”或“文章”部分,找到需要修…

开源的键鼠共享工具「GitHub 热点速览」

十一长假回来,我的手放在落灰的键盘上都有些陌生了,红轴竟敲出了青轴般的响声,仿佛在诉说对假期结束的不甘。 假期回归的首更,让我们看看又有什么好玩的开源项目冲上了开源热榜。一套键盘和鼠标控制多台电脑的工具 deskflow,现在已全面开源、支持多平台,对于开发者更加友…

雅礼国庆集训 day1 T3 画作

题面 题目下载 算法 猜测最优解是 每一次染色都是之前染色的子集且颜色相反(证明不会) 所以可以逆向思维(注意直接逆向不成立) 最后一次染色一定在一个四连通块中, 之前的染色一定是后一次染色的超集 把每个颜色的连通块缩点, 例如每次将一个点(即原图中的连通块)染色成反色, 相…

Windows Server 2025 RTM 中文版、英文版下载 (released Sep 2024)

Windows Server 2025 RTM 中文版、英文版下载 (released Sep 2024)Windows Server 2025 RTM 中文版、英文版下载 (released Sep 2024) Windows Server 2025 LTSC RTM 已发布 请访问原文链接:https://sysin.org/blog/windows-server-2025/ 查看最新版。原创作品,转载请保留出处…

VMware ESXi 8.0U3 集成 AQC 网卡定制版更新 OEM BIOS 2.7 支持 Windows Server 2025

VMware ESXi 8.0U3 集成 AQC 网卡定制版更新 OEM BIOS 2.7 支持 Windows Server 2025VMware ESXi 8.0U3 集成 AQC 网卡定制版更新 OEM BIOS 2.7 支持 Windows Server 2025 VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8…