[安洵杯 2019]easy misc 1
拿到一个压缩包
里面有一个加密的压缩包
这个压缩包里面有一个神秘的 代码,先把数值计算出来吧。反正misc的题目总是这个样子,也不是第一天知道了。
那么就先计算一个这个数值吧,
import math
x=2524921
y=(math.pow(x,0.5)*85/5+2)/15-1794
print(y)
算出来是7呀
FLAG IN ((√2524921X85÷5+2)÷15-1794)+NNULLULL,
这个东西理解起来铁定是有二义性的呀。
7+NNULLULL,
7NNULLULL,
都不对
发现这个原来是掩膜爆破
a = dIW
b = sSD
c = adE
d = jVf
e = QW8
f = SA=
g = jBt
h = 5RE
i = tRQ
j = SPA
k = 8DS
l = XiE
m = S8S
n = MkF
o = T9p
p = PS5
q = E/S
r = -sd
s = SQW
t = obW
u = /WS
v = SD9
w = cw=
x = ASD
y = FTa
z = AE7
这个格式有点熟悉,显示替换密码的形式
但是现在就是知道这些 也没有用,因为这也不可能把这个一篇哈利波特全部給替换掉的吧。
知道替换密码的形式,也知道了密文是哈利波特与魔法石??。
那么这张图片可能有别的 用处了。
图片png 分析,什么pngcheck,stegsolve的来一波。
没什么用
用binwalk 测试
没有分离出来有用 的信息
有一件事情想不通,就是在winhex中搜索IDATx,x后面并没有789C.
这个应该是ZLIB的标识才是。
那么岂不是有问题。
使用foremost命令分离,发现输出了两张图片。
亦或?还是直接stegsolve?
盲水印
不是很懂这个东西
所以说图像这个二维的信息还是很复杂的。
虽然是知道它隐写的行为,但是分不清隐写的类型。
而且一般情况下,在互联网环境下,藏在一系列的图像中,我们甚至是不知道隐写的行为。
from blind_watermark import WaterMark'''
# 加水印
bwm1 = WaterMark(password_wm=1, password_img=1)
# 读取原图
bwm1.read_img('C:/Users/brighten/Desktop/output/png/00000000.png')
# 读取水印
bwm1.read_wm('C:/Users/brighten/Desktop/output/png/00000232.png')
# 打上盲水印
bwm1.embed('output/打上水印的图.png')'''bwm1 = WaterMark(password_wm=1, password_img=1)
# 注意需要设定水印的长宽wm_shape
bwm1.extract(filename='C:/Users/brighten/Desktop/output/png/00000000.png', wm_shape=(626, 626), out_wm_name='C:/Users/brighten/Desktop/output/png/00000232.png', )
出事了,解不出来。
在艰难的斗争之后,我发现了盲点。
命令如下
python bwmforpy3.py decode 00000000.png 00000232.png 1.png --oldseed
这个作者就是神
python 3.6 盲水印脚本安装说明
https://blog.csdn.net/qq_50898079/article/details/112060543
依稀可以看出来这个是
in 11.txt
这个哈利波特文章还挺长的。
明显就是字频分析,可能还得先做一个替换在来字频分析。
a = dIW
b = sSD
c = adE
d = jVf
e = QW8
f = SA=
g = jBt
h = 5RE
i = tRQ
j = SPA
k = 8DS
l = XiE
m = S8S
n = MkF
o = T9p
p = PS5
q = E/S
r = -sd
s = SQW
t = obW
u = /WS
v = SD9
w = cw=
x = ASD
y = FTa
z = AE7
大概有40万个字,要是先替换再字频分析,替换完成之后大概翻3倍。 这个字频分析的脚本无论是抄还是写都不是很难的事情。
记得以前抄过一个代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- ={}[]"
f = open("C://Users//brighten//Desktop//flag.doc", "r")
data = f.read() # 读文件
result = {d: 0 for d in alphabet} # alphabet:0 的字典# print("result:"+str(result))def sort_by_value(d): # 排序函数items = d.items()backitems = [[v[1], v[0]] for v in items]backitems.sort(reverse=True)return [backitems[i][1] for i in range(0, len(backitems))]for d in data:for alpha in alphabet:if d == alpha:result[alpha] = result[alpha] + 1 # 循环,历遍所有字符,计算count放到result中print("items:")
print(result.items()) # 所有字符的出现次数
print(sort_by_value(result))b = sort_by_value(result)b = [str(i) for i in b]
str2 = ''.join(b)
print(str2)
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)]
Type ‘copyright’, ‘credits’ or ‘license’ for more information
IPython 6.5.0 – An enhanced Interactive Python. Type ‘?’ for help.
PyDev console: using IPython 6.5.0
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] on win32
In[2]: runfile(‘C:/Users/brighten/Desktop/信息安全工具快捷/misc/字频分析.py’, wdir=‘C:/Users/brighten/Desktop/信息安全工具快捷/misc’)
items:
dict_items([(‘a’, 25887), (‘b’, 4980), (‘c’, 6403), (‘d’, 15932), (‘e’, 39628), (‘f’, 6431), (‘g’, 8127), (‘h’, 19535), (‘i’, 19422), (‘j’, 319), (‘k’, 3930), (‘l’, 14385), (‘m’, 6729), (‘n’, 21337), (‘o’, 25809), (‘p’, 4909), (‘q’, 217), (‘r’, 20990), (‘s’, 18870), (‘t’, 27993), (‘u’, 9562), (‘v’, 2716), (‘w’, 7744), (‘x’, 381), (‘y’, 8293), (‘z’, 259), (‘A’, 703), (‘B’, 348), (‘C’, 293), (‘D’, 685), (‘E’, 287), (‘F’, 426), (‘G’, 492), (‘H’, 2996), (‘I’, 1393), (‘J’, 51), (‘K’, 79), (‘L’, 209), (‘M’, 665), (‘N’, 488), (‘O’, 332), (‘P’, 639), (‘Q’, 203), (‘R’, 660), (‘S’, 844), (‘T’, 1055), (‘U’, 193), (‘V’, 192), (‘W’, 653), (‘X’, 2), (‘Y’, 326), (‘Z’, 5), (‘1’, 11), (‘2’, 3), (‘3’, 8), (‘4’, 6), (‘5’, 2), (‘6’, 1), (‘7’, 4), (‘8’, 1), (‘9’, 4), (‘0’, 5), (’!’, 474), (’@’, 0), (’#’, 0), (’KaTeX parse error: Double superscript at position 171: … (']', 0)]) [' '̲, 'e', 't', 'a'…’, ‘#’]
etaonrhisdluygwmfcbpkHv-ITSADMRWPGN!FxBOYjCEzqLQUVKJ)(134Z0972X5*86}{_^][@=+&%$#
[’ ', ‘e’, ‘t’, ‘a’, ‘o’, ‘n’, ‘r’, ‘h’, ‘i’, ‘s’, ‘d’, ‘l’, ‘u’, ‘y’, ‘g’, ‘w’, ‘m’, ‘f’, ‘c’, ‘b’, ‘p’, ‘k’, ‘H’, ‘v’, ‘-’, ‘I’, ‘T’, ‘S’, ‘A’, ‘D’, ‘M’, ‘R’, ‘W’, ‘P’, ‘G’, ‘N’, ‘!’, ‘F’, ‘x’, ‘B’, ‘O’, ‘Y’, ‘j’, ‘C’, ‘E’, ‘z’, ‘q’, ‘L’, ‘Q’, ‘U’, ‘V’, ‘K’, ‘J’, ‘)’, ‘(’, ‘1’, ‘3’, ‘4’, ‘Z’, ‘0’, ‘9’, ‘7’, ‘2’, ‘X’, ‘5’, ‘*’, ‘8’, ‘6’, ‘}’, ‘{’, ‘_’, ‘^’, ‘]’, ‘[’, ‘@’, ‘=’, ‘+’, ‘&’, ‘%’, ‘$’, ‘#’]
排序为
etaonrhisdluygwmfcbpkHv-ITSADMRWPGN!FxBOYjCEzqLQUVKJ)(134Z0972X5*86}{_^][@=+&%$#
a = dIW
b = sSD
c = adE
d = jVf
e = QW8
f = SA=
g = jBt
h = 5RE
i = tRQ
j = SPA
k = 8DS
l = XiE
m = S8S
n = MkF
o = T9p
p = PS5
q = E/S
r = -sd
s = SQW
t = obW
u = /WS
v = SD9
w = cw=
x = ASD
y = FTa
z = AE7
etaonrhisdluygwmf
#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''
将下面的这些放入txt文件points.txt
a = dIW
b = sSD
c = adE
d = jVf
e = QW8
f = SA=
g = jBt
h = 5RE
i = tRQ
j = SPA
k = 8DS
l = XiE
m = S8S
n = MkF
o = T9p
p = PS5
q = E/S
r = -sd
s = SQW
t = obW
u = /WS
v = SD9
w = cw=
x = ASD
y = FTa
z = AE7
'''
z = {}
with open("./points.txt") as f:for i in f:# print(i)test = i[0]dd = i[4:7]'''print(test)print(dd)'''z[test] = dd
'''
ff = {'a': 'dIW', 'b': 'sSD', 'c': 'adE', 'd': 'jVf', 'e': 'QW8', 'f': 'SA=', 'g': 'jBt', 'h': '5RE', 'i': 'tRQ','j': 'SPA', 'k': '8DS', 'l': 'XiE', 'm': 'S8S', 'n': 'MkF', 'o': 'T9p', 'p': 'PS5', 'q': 'E/S', 'r': '-sd','s': 'SQW', 't': 'obW', 'u': '/WS', 'v': 'SD9', 'w': 'cw=', 'x': 'ASD', 'y': 'FTa', 'z': "AE7"}'''
ss = "etaonrhisdluygw"print(z)
x = []def tihau(s):x.append(z[s])for i in ss:tihau(i)
print(''.join(x))
In[2]: runfile(‘C:/Users/brighten/Desktop/信息安全工具快捷/misc/字符替换脚本.py’,
wdir=‘C:/Users/brighten/Desktop/信息安全工具快捷/misc’) {‘a’: ‘dIW’, ‘b’:
‘sSD’, ‘c’: ‘adE’, ‘d’: ‘jVf’, ‘e’: ‘QW8’, ‘f’: ‘SA=’, ‘g’: ‘jBt’,
‘h’: ‘5RE’, ‘i’: ‘tRQ’, ‘j’: ‘SPA’, ‘k’: ‘8DS’, ‘l’: ‘XiE’, ‘m’:
‘S8S’, ‘n’: ‘MkF’, ‘o’: ‘T9p’, ‘p’: ‘PS5’, ‘q’: ‘E/S’, ‘r’: ‘-sd’,
‘s’: ‘SQW’, ‘t’: ‘obW’, ‘u’: ‘/WS’, ‘v’: ‘SD9’, ‘w’: ‘cw=’, ‘x’:
‘ASD’, ‘y’: ‘FTa’, ‘z’: ‘AE7’}
QW8obWdIWT9pMkF-sd5REtRQSQWjVfXiE/WSFTajBtcw=
QW8obWdIWT9pMkF-sd5REtRQSQWjVfXiE/WSFTajBtcw=
这个明显就是base系列的,看别人的题解,说是这个编码有问题。
再做下去没有意义了。本题就到这里结束。
[安洵杯 2019]easy misc 1相关推荐
- BUUCTF msic 专题(115)[安洵杯 2019]easy misc
下载附件,有三个文件,依次查看 图片中发现了两个IEND证明应该有两张图片拼成了这一张,进行foremost 发现有两张一样的图片,stegsolve查看分离出的图片 很明显的盲水印,用blindwa ...
- BUUCTF [安洵杯 2019]easy_serialize_php
考点: 变量覆盖.反序列化中的对象逃逸 题目地址:BUUCTF在线评测 源码如下: <?php$function = @$_GET['f'];function filter($img){$fil ...
- 【BUUCTF】[安洵杯 2019]吹着贝斯扫二维码
题目链接:[安洵杯 2019]吹着贝斯扫二维码. 下载压缩包解压得到这么一些文件,可以看到一堆未知类型文件和一个flag.zip 老规矩,把这些没有拓展名的文件用010Editor打开,发现都是jpg ...
- [安洵杯 2019]吹着贝斯扫二维码
[安洵杯 2019]吹着贝斯扫二维码 压缩包解压后得到一些无后缀文件,和一个flag.zip 查看flag.zip内容发现尾部有类似base32的数据,先不管去看那些文件(这题其实可以用不到其他文件) ...
- BUUCTF:[安洵杯 2019]不是文件上传
这题和攻防世界XCTF:upload有点像,看似上传却都不是上传是上传图片的文件名注入 参考:安洵杯2019 官方Writeup 获取源码 在网站首页存在一些信息 在gihtub找得到源码 BUU也给 ...
- [安洵杯 2019]iamthinking
/www.zip下载源码审计 通过README可以看到是ThinkPHP6.0. 当前只能访问到/public/index.php, 关于这个框架的index.php [thinkphp6源码分析一 ...
- 第二届安洵杯2019部分writeup
Web easy_web 参数可疑:?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd= TXpVek5UTTFNbVUzTURabE5qYz0进行两次base64解密, ...
- 【安洵杯 2019】easy-web
涉及内容:base64解码.代码审计.MD5强类型注入.命令注入绕过 打开控制器,查看源代码,可以看到md5 is funny,可知这题应该会出现MD5 其余信息一无所获后,看到网站: 看到img=T ...
- [安洵杯 2019]Attack (详细解析)
(*本文使用工具,均为windows系统,这些工具kali系统自带,有的人不喜欢用kali系统,主页有windows下载资源) 题目链接: https://buuoj.cn/challenges#[% ...
- BUUCTF:[安洵杯 2019]吹着贝斯扫二维码
题目地址:https://buuoj.cn/challenges#[%E5%AE%89%E6%B4%B5%E6%9D%AF%202019]%E5%90%B9%E7%9D%80%E8%B4%9D%E6% ...
最新文章
- 小程序点击图片自动播放视频,停止上一个视频播放
- Python如何实现24个微信大群万人同步转发直播?
- EmbeddedWebBrowser(EmbeddedWB)不显示图片
- 【vue插件篇】vue-form-check 表单验证
- 姚班学霸蝉联第一,清华再霸榜,湘潭大学表现亮眼,第四届 CCF CCSP落下帷幕...
- 第一章 介绍-机器学习老师板书-斯坦福吴恩达教授
- 简易ASP文件缓存技术
- [转]Vim常用命令速查
- postman接口测试和压力测试
- mvn项目Quartz简单上手
- 利用Math.random做背景图像随机切换【前端开发技能必备系列】
- HDOJ 2642 HDU 2642 Stars ACM 2642 IN HDU
- 【五级流水线CPU】—— 3. 逻辑、移位与空指令 + 数据冒险RAM解决
- JS对象 - Array属性方法汇总
- 华工计算机工图答案,华南理工 网络画法几何及工程制图-课程习题集答案
- Atlassian与DevOps 系列产品选择方案介绍
- 18c新特性——PDB snapshot Carousel 快照轮转
- WPF 使用Image控件显示图片
- Pandas缺失值inf与nan处理实践
- uni-app初学步骤教程:
热门文章
- Prometheus Operator 安装
- 第九届JAVA大学C组 那天返回省赛 第一题
- 红帽linux员工数,红帽企业 Linux Atomic Host 管理
- oracle 创建新的表空间,oracle创建表空间新建新用户并受权
- SaltStack源码分析之Redis Returner
- ZUI框架加上Flex布局构建登录后的主页
- kgb压缩_KGB Archiver可能是可用的最佳压缩工具吗? 还是最慢?
- 当下的力量实践手册读书笔记(1.28)
- 使用libjpeg-turboYUV转JPG
- pyautogui在网页内写入excel文件内容