BugKu-Misc-Photo的自我修养
下载附件

打开002文件夹,发现一张照片

看到PNG右下疑似有半个字符,怀疑PNG宽高被修改
拿到测PNG宽高的脚本
点击查看代码
import binascii
import struct
crcbp = open("002.png", "rb").read() #打开图片
for i in range(2000):
for j in range(2000):
data = crcbp[12:16] + \
struct.pack('>i', i)+struct.pack('>i', j)+crcbp[24:29]
crc32 = binascii.crc32(data) & 0xffffffff
if(crc32 == 0x30d37675): #图片当前CRC
print(i, j)
print('hex:', hex(i), hex(j))
脚本需要PNG的CRC,这时就需要知道PNG的结构了(这里只列出CRC位置,详细请移步PNG结构))


可知图片的正确宽0xb2,高0xb4,把PNG放在winhex修改即可得到完整PNG图片

有一串字符B:One2021@
猜测是zip的密码,但两次测试都是错误的
接下来是一个谜,看别人wp知道,这一部分需要了解zip文件结构,在此前压缩包标志头第5 6位均是00 00,只有最后一个包含文件信息的块,第5 6位是00 14,将其余所有被改为00 00的文件以及文件夹标志头改为00 14,压缩包修复完成。


解压压缩包之后,得到一张PNG图片

看详细信息,有可疑字符串A:Just

把前边的字符串与这个组合起来A:JustB:One2021@
根据文件名KeyAB,知道是把A和B组合起来得到密码:JustOne2021@
再解压keyAB.zip,得到一个没有后缀的Key
使用file、binwalk命令,均没有得出该文件是什么类型的文件
把Key放入Winhex查看16进制,看文件头发现很熟悉,是PNG头被修改了


把文件头修改为PNG的第1 2位改为89 50,得到正确的PNG图片,得到flag

BugKu-Misc-Photo的自我修养的更多相关文章
- 《web全栈工程师的自我修养》读书笔记
有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...
- 程序员的自我修养(2)——计算机网络(转) good
相关文章:程序员的自我修养——操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量 ...
- GIS制图人员的自我修养(2)--制图意识
GIS制图人员的自我修养(2)--制图意识 by 李远祥 上次提及到GIS制图人员的一些制图误区,主要是为GIS制图人员剖析在制图工作中的一些问题.但如何提高制图的自我修养,却是一个非常漫长的过程,这 ...
- GIS制图人员的自我修养(1)--制图误区
GIS制图人员的自我修养 by 李远祥 最近一直坚持写GIS制图的技术专题,并不是为了要介绍有什么好的技术和方法去制图,而是要告诉所有从事这一方向的人员一个铁铮铮的实现--要做好GIS制图,必须加强自 ...
- web性能优化 来自《web全栈工程师的自我修养》
最近在看<web全栈工程师的自我修养>一书,作者是来自腾讯的前端工程师.作者在做招聘前端的时候问应聘者web新能优化有什么了解和经验,应聘者思索后回答“在发布项目之前压缩css和 Java ...
- gcc ld 链接器相关知识,调试指令(程序员的自我修养----链接、装载与库)
最近解决一个动态链接上的问题,因为以前从来没有接触过这方面的知识,所以恶补了一下,首先要了解gcc编译指令(makefile),ld链接器的选项(还有连接脚本section指定内存位置),熟悉查看连接 ...
- Python学习笔记(四十九)爬虫的自我修养(一)
论一只爬虫的自我修养 URL的一般格式(带括号[]的为可选项): protocol://hostname[:port]/path/[;parameters][?query]#fragment URL由 ...
- Hacker的社交礼仪与自我修养【转】
Hacker School是位于纽约的一所特殊的编程“学校”,他们的目标是帮助参与者变成“更好的程序员”,之所以说他们特殊是因为这所“学校”没有老师,没有考试,也不会颁发证书,他们信奉三人行必有我师, ...
- 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?
写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...
- IT技术人员的自我修养
1. 前言 在IT领域摸爬滚打多年,从一个普通程序员到技术主管,到技术经理,再到技术总监,踩过不少坑.加过不少班,也背过不少锅,在提升自身技术能力与管理能力的同时,也一直在思考,作为IT ...
随机推荐
- 05-打包样式资源(编写webpack配置文件)
/** * webpack.config.js webpack的配置文件 * 作用:指示 webpack 干哪些活(当你运行 webpack 指令时,会加载里面的配置) * * 所有构件工具都是基于n ...
- 世界读书日:推荐15本AI从入门到放弃的书
hi,我是熵减,见字如面. 在世界读书日即将到来的前,以及借着ChatGPT的火热,各种AI大模型的创业东风,今天给大家推荐一些AI相关的图书,希望大家能从入门到放弃,找到适合自己的热爱. 本次推荐图 ...
- nginx概要
新机(CentOS7)配置nginx: 一. 更新yum源为阿里云镜像 ping mirrors.aliyun.com mv /etc/yum.repos.d/CentOS-Base.repo /et ...
- Django笔记三十之log日志记录详解
本文首发于公众号:Hunter后端 原文链接:Django笔记三十之log日志的记录详解 这一节介绍在 Django 系统里使用 logging 记录日志 以下是一个简单的 logging 模块示例, ...
- [Pytorch框架] 4.2.1 使用Visdom在 PyTorch 中进行可视化
文章目录 4.2.1 使用Visdom在 PyTorch 中进行可视化 安装 坑 基本概念 Environments Panes VIEW 可视化接口 使用 绘制简单的图形 更新损失函数 import ...
- 云原生时代崛起的编程语言Go常用标准库实战
@ 目录 基础标准库 简述 字符串-string 底层结构 函数 长度 格式化输出 模版-template text/template html/template 正则表达式-regexp 编码-en ...
- Visual Basic 6 API压缩数据
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As ...
- selenium测试用例的编写,隐式等待与显式等待的编写
开头 用配置好的 selenium 进行一个简单的测试用例的编写,可以参考allure的美化这一遍博文 https://www.cnblogs.com/c-keke/p/14837766.html 代 ...
- Linux系统下CUDA和cuDNN环境配置
本人配置环境:linux服务器,ubantu18,显卡驱动11.0,安装CUDA11.0和cuDNN8.2.1. 一.安装CUDA11.0 1.先多找几篇博客,了解大概的流程,避免踩坑. 2.官网下载 ...
- 2022-12-11:行程和用户。以下为输出结果,请问sql语句如何写? +------------+-------------------+ | Day | Cancellation
2022-12-11:行程和用户.以下为输出结果,请问sql语句如何写? ±-----------±------------------+ | Day | Cancellation Rate | ±- ...