首页 > 其他分享 >day4

day4

时间:2023-07-13 22:33:29浏览次数:20  
标签:tmp zip fzip day4 flag txt open

一、[HDCTF 2023]ExtremeMisc

1.png文件末尾有zip,手撕,打开后得到一个加密的zip,爆破得到密码haida

image

2.根据文件后缀是zip的倒叙以及010查看,需要将字节逆序,用脚本跑一下

点击查看代码
f = open("./Reverse.piz", "rb")
data = f.read()
fzip = open("./fzip.zip", "wb")
s = b""

for i in data:
    tmp = int(("%02x" % i)[::-1], 16)

    s += bytes([tmp])
fzip.write(s)
f.close()
fzip.close()

3.得到zip,打开显示加密,爆破,9724,打开两个zip,发现secrect.txt的CRC32相同,猜测是使用明文爆破

image

4.打开flag.txt得到flag

image

二、[鹏城杯 2022]简单取证

1.volatility一把梭,查看镜像版本,使用filescan找文件,过滤jpg关键词的时候找到一个secret.jpg

image

2.使用dumpfiles将文件下载下来

python2 vol.py -f '/home/cpyq/Desktop/file.raw' --profile=WinXPSP3x86 dumpfiles -Q 0x0000000002325028 --dump-dir=./

3.010打开发现是base64形式,在线解码,得到源码,发现是zip文件的逆序源码,保存下来脚本逆序一下

点击查看代码
with open("./1111.zip","rb") as f:
    tmp = f.read()
with open("./222.zip","wb") as f:
    f.write(tmp[::-1])

4.打开发现flag.txt是加密的,要找密码,盲猜回到内存镜像中找cmd或者剪切板,在cmd.exe中找到密码

image

5.打开txt,得到flag内容,0~349两位对应,猜测是定位点

image

6.写个脚本绘制图片,对应坐标点设为黑色,得到一张二维码

点击查看代码
from PIL import Image

im = Image.new("RGB", (350, 350), (0, 0, 0))

with open("flag.txt", "r") as f:
    r = f.read()

lst = r.split("\n")
for i in lst:
    x = int(i.split(" ")[0])
    y = int(i.split(" ")[1])
    im.putpixel((x, y), (255, 255, 255))

im.save("1.png")


7.扫码得到flag

flag{a6b93e36-f097-11ec-a9b2-5254002d2b31}

标签:tmp,zip,fzip,day4,flag,txt,open
From: https://www.cnblogs.com/120211P/p/17551164.html

相关文章

  • 2022 省队二轮集训培训日记-Day4
    模拟赛T1首先是曼哈顿距离到切比雪夫距离的转化,到原点曼哈顿距离为定值$a$的点组成的图形为一个斜正方形,且原点到顶点的距离为$a$,正方形边长为$\sqrt{2}a$,而到原点切比雪夫距离为$a$的点组成的图形为正正方形,且边长为$2a$,那么我们可以通过把平面坐标系旋转$45$度,并把......
  • python基础day44
    表关系(外键)建立一张表:emp1.表不清晰,现在到底是员工不还是部门表2.字段需要重复地写,浪费资源3.兼容性很差,牵一发而动全身如何解决以上问题?我们的思路是把一张表拆分成两张表:emp和depart部门表拆分之后最大问题就是两张表没有了任何的关系外键:其实就是通过字段可以查......
  • python基础day43
    约束条件约束条件:在数据类型的基础上再添加限制条件1.unsigned去除符号createtablet1(idintunsigined);2.zerofill用0填充createtablet2(idintzerofill);3.notnull非空createtablet3(idint,namevarchar(16));createtabl......
  • python基础day42
    针对表的SQL语句有表的前提是先有库什么是表?表相当于是文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段。ps:先有库selectdatabase() 查看当前所在的库usedb1;          选择库1.查看表showtables;sho......
  • python基础day40
    GIL全局解释器锁python在设计之初就考虑到在主循环中,同时只有一个线程在执行。虽然Python解释器中可以“运行”多个线程,但在任意时刻只有一个线程在解释器中运行。对Python虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。1.python代码......
  • 「JOISC 2023 Day4」 Security Guard
    subtask1因为\(1\les_i\le2\),所以每艘船上都至少有一个保安。令\(cnt_i\)表示第\(i\)艘船上的保安数,可以先将所有\(cnt_i+=1\),所有\(s_i-=1\)。经过这一次操作后,如果两艘船之间的小岛的\(s_i\)全为\(0\),表示这两艘船可以相互到达,即可将这两艘船合并成一艘,然后再做一......
  • 算法学习day44动态规划part06-518、377
    packageLeetCode.DPpart06;/***518.零钱兑换II*给你一个整数数组coins表示不同面额的硬币,另给一个整数amount表示总金额。*请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回0。*假设每一种面额的硬币有无限个。*题目数......
  • 算法学习day45动态规划part07-322、279
    packageLeetCode.DPpart07;/***322.零钱兑换*给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表示总金额。*计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。*你可以认为每种硬币的数量是无限的......
  • 算法学习day46动态规划part08-139
    packageLeetCode.DPpart08;importjava.util.HashSet;importjava.util.List;/***139.单词拆分*给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。*注意:不要求字典中出现的单词全部都使用,并且字典中的单词......
  • 算法学习day48动态规划part09-377、213、198
    packageLeetCode.DPpart09;/***377.组合总和Ⅳ*给你一个由不同整数组成的数组nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。*题目数据保证答案符合32位整数范围。*示例:*输入:nums=[1,2,3],target=4*输......