日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[安洵杯 2019]easy misc 1

發(fā)布時(shí)間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [安洵杯 2019]easy misc 1 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


拿到一個(gè)壓縮包

里面有一個(gè)加密的壓縮包

這個(gè)壓縮包里面有一個(gè)神秘的 代碼,先把數(shù)值計(jì)算出來(lái)吧。反正misc的題目總是這個(gè)樣子,也不是第一天知道了。

那么就先計(jì)算一個(gè)這個(gè)數(shù)值吧,

import math x=2524921 y=(math.pow(x,0.5)*85/5+2)/15-1794 print(y)


算出來(lái)是7呀

FLAG IN ((√2524921X85÷5+2)÷15-1794)+NNULLULL,

這個(gè)東西理解起來(lái)鐵定是有二義性的呀。

7+NNULLULL,
7NNULLULL,
都不對(duì)

發(fā)現(xiàn)這個(gè)原來(lái)是掩膜爆破

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

這個(gè)格式有點(diǎn)熟悉,顯示替換密碼的形式

但是現(xiàn)在就是知道這些 也沒(méi)有用,因?yàn)檫@也不可能把這個(gè)一篇哈利波特全部給替換掉的吧。
知道替換密碼的形式,也知道了密文是哈利波特與魔法石??。

那么這張圖片可能有別的 用處了。

圖片png 分析,什么pngcheck,stegsolve的來(lái)一波。

沒(méi)什么用

用binwalk 測(cè)試

沒(méi)有分離出來(lái)有用 的信息

有一件事情想不通,就是在winhex中搜索IDATx,x后面并沒(méi)有789C.

這個(gè)應(yīng)該是ZLIB的標(biāo)識(shí)才是。

那么豈不是有問(wèn)題。


使用foremost命令分離,發(fā)現(xiàn)輸出了兩張圖片。


亦或?還是直接stegsolve?

盲水印

不是很懂這個(gè)東西

所以說(shuō)圖像這個(gè)二維的信息還是很復(fù)雜的。


雖然是知道它隱寫的行為,但是分不清隱寫的類型。
而且一般情況下,在互聯(lián)網(wǎng)環(huán)境下,藏在一系列的圖像中,我們甚至是不知道隱寫的行為。

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) # 注意需要設(shè)定水印的長(zhǎng)寬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', )

出事了,解不出來(lái)。

在艱難的斗爭(zhēng)之后,我發(fā)現(xiàn)了盲點(diǎn)。
命令如下

python bwmforpy3.py decode 00000000.png 00000232.png 1.png --oldseed

這個(gè)作者就是神
python 3.6 盲水印腳本安裝說(shuō)明

https://blog.csdn.net/qq_50898079/article/details/112060543


依稀可以看出來(lái)這個(gè)是

in 11.txt


這個(gè)哈利波特文章還挺長(zhǎng)的。

明顯就是字頻分析,可能還得先做一個(gè)替換在來(lái)字頻分析。

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萬(wàn)個(gè)字,要是先替換再字頻分析,替換完成之后大概翻3倍。 這個(gè)字頻分析的腳本無(wú)論是抄還是寫都不是很難的事情。

記得以前抄過(guò)一個(gè)代碼

#!/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): # 排序函數(shù)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 # 循環(huán),歷遍所有字符,計(jì)算count放到result中print("items:") print(result.items()) # 所有字符的出現(xiàn)次數(shù) 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(chǎn)’, 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(chǎn)’, ‘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’, ‘}’, ‘{’, ‘_’, ‘^’, ‘]’, ‘[’, ‘@’, ‘=’, ‘+’, ‘&’, ‘%’, ‘$’, ‘#’]

排序?yàn)?/p>

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(chǎn)’: ‘dIW’, ‘b’:
‘sSD’, ‘c’: ‘a(chǎn)dE’, ‘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=

這個(gè)明顯就是base系列的,看別人的題解,說(shuō)是這個(gè)編碼有問(wèn)題。

再做下去沒(méi)有意義了。本題就到這里結(jié)束。

總結(jié)

以上是生活随笔為你收集整理的[安洵杯 2019]easy misc 1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。