当前位置: 首页 > article >正文

24年蓝桥杯及攻防世界赛题-MISC-1

2 What-is-this

在这里插入图片描述

AZADI TOWER

3 Avatar

题目

一个恐怖份子上传了这张照片到社交网络。里面藏了什么信息?隐藏内容即flag

解题

┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc/outguess]
└─$ outguess -r 035bfaa85410429495786d8ea6ecd296.jpg  flag1.txt
Reading 035bfaa85410429495786d8ea6ecd296.jpg....
Extracting usable bits:   28734 bits
Steg retrieve: seed: 94, len: 41
                                                                             
┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc/outguess]
└─$ cat flag1.txt
We should blow up the bridge at midnight
                                                                             
┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc/outguess]
└─$ 

flag

We should blow up the bridge at midnight

4 base64stego

压缩包是否为伪加密的判断

1、无加密:
(1)压缩源文件数据区的全局加密标志应当为00 00
(2)且压缩源文件目录区的全局方式位标记应当为00 00

2、伪加密:
(1)压缩源文件数据区的全局加密标志应当为00 00
(2)且压缩源文件目录区的全局方式位标记应当为09 00

3、真加密
(1)压缩源文件数据区的全局加密标志应当为09 00
(2)且压缩源文件目录区的全局方式位标记应当为09 00

在这里插入图片描述

50 4B 03 04:文件头标记(0x04034B50)
14 03:解压文件所需 pkware 版本
00 00:全局方式位标记(判断真伪加密的重要标志)
08 00:压缩方式
68 BF:最后修改文件时间
9B 48:最后修改文件日期
FE 32 7D 4B:CRC-32校验
E9 0D 00 00:压缩后尺寸
B5 1B 00 00:未压缩尺寸
09 00:文件名长度
00 00:扩展记录长度

在这里插入图片描述

50 4B 01 02:目录中文件文件头标记(0x02014B50)
3F 03:压缩使用的 pkware 版本
14 03:解压文件所需 pkware 版本
09 00:全局方式位标记(数据区的加密标志为00 00,所以判断这是伪加密,将09 00 改为00 00即可)
08 00:压缩方式
68 BF:最后修改文件时间
9B 48:最后修改文件日期
FE 32 7D 4B:CRC-32校验(1480B516)
E9 0D 00 00:压缩后尺寸(25)
B5 1B 00 00:未压缩尺寸(23)
09 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 80 ED 81:外部文件属性
00 00 00 00:局部头部偏移量

在这里插入图片描述

将该压缩包的压缩源文件的全局方式位标记由09 00 改为00 00即可解压该文件,
通过解压文件我们可以得到一个文本文档。打开后可以看到是一些base64字符,我们写个脚本跑一下

import base64
bin_str=''
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('stego.txt','r') as f:  # 这里要改成你的文件路径
 for line in f.readlines():
  s64="".join(line.split())
  r64="".join(str(base64.b64encode(base64.b64decode(s64)),'utf-8').split())
  offset=abs(b64chars.index(s64.replace('=','')[-1])-b64chars.index(r64.replace('=', '')[-1]))
  equal=line.count('=')
  if equal:
   bin_str += bin(offset)[2:].zfill(equal * 2)
 print(''.join([chr(int(bin_str[i:i + 8], 2)) for i in range(0,len(bin_str),8)]))

Base_sixty_four_point_five

5 Guess-the-Number

下载附件后是一个jar文件,解压一下得到一个class文件,用 jd-gui反汇编得到guess.class文件源码。
在这里插入图片描述

import java.math.BigInteger;


public class guess
{
   
  static String XOR(String _str_on

http://www.kler.cn/news/313797.html

相关文章:

  • 力扣最热一百题——除自身以外数组的乘积
  • 【学术会议:中国厦门,为全球的计算机科学与管理科技研究者提供一个国际交流平台】第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)
  • win10下使用docker、k8s部署java应用
  • Flask 第六课 -- 路由
  • 如何在Linux下升级R版本和RStudio
  • 2024华为杯研赛E题保姆级教程思路分析
  • Linux进阶命令-rsync
  • B-树底层原理
  • 英语六级-学习
  • uv-ui组件的使用——自定义输入框的样式
  • 【2020工业图像异常检测文献】SPADE
  • 数据中台系统产品原型RP原型Axure高保真交互原型 源文件分享
  • 08_React redux
  • AI大模型之旅--milvus向量库安装
  • 软件设计师——操作系统
  • API安全推荐厂商瑞数信息入选IDC《中国数据安全技术发展路线图》
  • 【C#】内存的使用和释放
  • SpringBoot 处理 @KafkaListener 消息
  • 专访阿里云:AI 时代服务器操作系统洗牌在即,生态合作重构未来
  • Java面试——集合篇
  • Canopen-pn有线通信标准在汽车制造中至关重要
  • MATLAB中的无线通信系统设计有哪些最佳实践
  • OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3566移植案例(下)
  • C++11标准模板(STL)- 常用数学函数 - 计算e的给定幂 (ex)(std::exp, std::expf, std::expl)
  • C语言程序设计(进阶)
  • 渗透测试入门学习——php表单form与POST、GET请求练习
  • 3、等保1.0 与 2.0 的区别
  • 大健康裂变分销小程序开发
  • MATLAB系列05:自定义函数
  • Java 线程之间如何通信?