BUUCTF-MISC(1)

stegsolve打开发现在LSBRGB这是个zip文件,Save Bin保存为flag.zip ,是一个elf文件,放进kali直接运行

hctf{dd0gf4c3tok3yb0ard4g41n~~~}

假如给我三天光明

附件pic.jpg文件中发现最下面的一排盲文

找盲文对照表,解密锝:kmdonowg

密码打开压缩包发现music.wav,Audacity打开,通过观察波形与声音应该是摩斯电码:-.-. - …-. .-- .–. . … ----- —… --… …-- …— …–… …— …-- -… --…

解码得:CTFWPEI08732?23D
小写即为flag

flag{wpei08732?23dz}

神秘龙卷风

神秘龙卷风转转转,科学家用四位数字为它命名,但是发现解密后居然是一串外星人代码!!好可怕! 注意:得到的 flag 请包上 flag{} 提交
打开是一个加密的rar文件,显然是4位数字加密。爆破一下得到密码:5463

用到brainfuck解密

flag{e4bbef8bdf9743f8bf5b727a9f6332a8}

后门查杀

小白的网站被小黑攻击了,并且上传了Webshell,你能帮小白找到这个后门么?(Webshell中的密码(md5)即为答案)。 注意:得到的 flag 请包上 flag{} 提交
把文件放进D盾中进行检查,发现include.php有问题,进入该文件打开文件发现密码就在其中,pass:6ac45fb83b3b c355c024f5034b947dd3

荷兰宽带数据泄露

RouterPassView,大多数现代路由器允许您备份到一个文件路由器的配置,然后从文件中恢复配置时的需要。路由器的备份文件通常包含了像您的ISP的用户名重要数据/密码,路由器的登录密码,无线网络的关键。如果你失去了这些密码1 /钥匙,但你仍然有你的路由器配置的备份文件,RouterPassView可以帮助你从你的路由器恢复您丢失密码的文件。

flag{053700357621}

来首歌吧

使用audacity打开题目附件stego100.wav

莫斯解码

… -… -.-. ----. …— … -… …- ----. -.-. -… ----- .---- —… —… …-. … …— . -… .---- --… -… --… ----- ----. …— ----. .---- ----. .---- -.-.

flag{5BC925649CB0188F52E617D70929191C}

webshell后门

朋友的网站被黑客上传了webshell后门,他把网站打包备份了,你能帮忙找到黑客的webshell在哪吗?(Webshell中的密码(md5)即为答案)。 注意:得到的 flag 请包上 flag{} 提交
结合题意,该题需要我们找到该文件的webshell文件,且flag值为md5值

直接使用D盾扫描该网页源码发现有多功能大马,和一个已知后门,打开文件所在位置

发现一段md5的值,判断该值为该题的flag值

flag{ba8e6c6f35a53933b871480bb9a9545c}

九连环

binwalk 分离一下

分离出来一个图片和压缩包

图片需要密码,压缩包里有flag也需要密码

在压缩源文件数据区明确

asd文件夹下的qwe.zip和good-已合并.jpg是没有加密的

qwe.zip里的flag.txt是加密的

但是到了压缩源文件目录区

good-已合并.jpg段本该是0008可是变为0108

这就说明good-已合并.jpg是伪加密

所以只要将其改为0008即可

搜索504b0102找到这个地方,原本显示01改为00因为这个位置偶数不加密,奇数加密。同样可以解压。

steghide一把梭这个图片

看到这个图片就是压缩包的密码:

bV1g6t5wZDJif^J7

flag{1RTo8w@&4nK@z*XL}

被劫持的神秘礼物

某天小明收到了一件很特别的礼物,有奇怪的后缀,奇怪的名字和格式。小明找到了知心姐姐度娘,度娘好像知道这是啥,但是度娘也不知道里面是啥。。。你帮帮小明?找到帐号密码,串在一起,用32位小写MD5哈希一下得到的就是答案。
流量包,追踪TCP流

POST /index.php?r=member/index/login HTTP/1.1 (application/x-www-form-urlencoded)中追踪HTTP流发现name=admina&word=adminb

根据提示拼接帐号密码为:adminaadminb,MD5加密为:1d240aafe21a86afc11f38a45b541a49

flag{1d240aafe21a86afc11f38a45b541a49}

刷新过的图片

F5隐写

使用工具提取出来,发现生成的是Pk开头的,应该是zip格式,使用16进制确认了是ZIP,将生成的output.txt改为output.zip发现有密码。

16进制查看了下,是伪加密,将这里修改为00即可。或者用工具也应该可以修复

flag{96efd0a2037d06f34199e921079778ee}

F5隐写工具可以在win下用,也可以在Linux里用

git clone https://github.com/matthewgao/F5-steganography

以后想要解密的时候输入:

java Extract /图片的绝对路径 [-p 密码] [-e 输出文件]

[BJDCTF2020]认真你就输

EXCEL表格,binwalk发现存在东西,分离一下可以在文件里找到flag

flag{M9eVfi2Pcs#}

snake

binwalk分析发现图片中隐写了压缩包,进行分离得到一个压缩包,内容如下

base64_decode('V2hhdCBpcyBOaWNraSBNaW5haidzIGZhdm9yaXRlIHNvbmcgdGhhdCByZWZlcnMgdG8gc25ha2VzPwo=');"
What is Nicki Minaj's favorite song that refers to snakes?

serpent加密,key(小写):anaconda
贴一个解密网站:serpent在线解密:http://serpent.online-domain-tools.com/

flag{who_knew_serpent_cipher_existed}

[BJDCTF2020]藏藏藏

010查看可能存在压缩包,binwalk分离一下,得到压缩包,直接可以解压。扫二维码

flag{you are the best!}

被偷走的文件

一黑客入侵了某公司盗取了重要的机密文件,还好管理员记录了文件被盗走时的流量,请分析该流量,分析出该黑客盗走了什么文件。 注意:得到的 flag 请包上 flag{} 提交
一眼流量分析,在该数据包中看到有ftp传输,过滤ftp数据包,ftp传输有个flag.rar文件

binwalk -e 该文件名称

压缩包文件需要密码
爆破最终得到该压缩包密码为:5790

flag{6fe99a5d03fb01f833ec3caa80358fa3}

[GXYCTF2019]佛系青年

zip伪加密,可以自己改,也可以用工具修

txt里是与佛论禅加密

佛曰:遮等諳勝能礙皤藐哆娑梵迦侄羅哆迦梵者梵楞蘇涅侄室實真缽朋能。奢怛俱道怯都諳怖梵尼怯一罰心缽謹缽薩苦奢夢怯帝梵遠朋陀諳陀穆諳所呐知涅侄以薩怯想夷奢醯數羅怯諸
找个网站解码就行

flag{w0_fo_ci_Be1}

[BJDCTF2020]你猜我是个啥

解压附件attachment.zip时提示该文件为非压缩文件,联想题目,应该不是压缩包,010打开,开头发现PNG,但不用这么麻烦,flag就在最下面

flag{i_am_fl@g}

菜刀666

菜刀都是 POST 所以直接搜 POST逐流追踪

追踪流7 看到一串很长的内容 看到传了两个参数,z1参数跑出来是一个照片的地址,查看后应该是一个压缩密码,我们找压缩包

追踪流9可以看到传了一个 hello.zip

binwalk 可以把压缩包给分离出来

flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}

秘密文件

深夜里,Hack偷偷的潜入了某公司的内网,趁着深夜偷走了公司的秘密文件,公司的网络管理员通过通过监控工具成功的截取Hack入侵时数据流量,但是却无法分析出Hack到底偷走了什么机密文件,你能帮帮管理员分析出Hack到底偷走了什么机密文件吗? 注意:得到的 flag 请包上 flag{} 提交
流量包直接过滤ftp包,这里看到有个RAR包存在,应该是隐写了,binwalk分离一下,爆破密码:1903

flag{d72e5a671aa50fa5f400e5d10eedeaa5}

[BJDCTF2020]just_a_rar

解压题目得到4位数.rar ,使用ARCHPR设置四位数掩码爆破即可 ,得到口令2016,解压得到图片,flag在图片exif

flag{Wadf_123}

[BJDCTF2020]鸡你太美

两张gif图片,发现有一张打不开,丢到 010 Editor

发现没有gif 文件头,插入字节,保存打开拿到flag

flag{zhi_yin_you_are_beautiful}

梅花香之苦寒来

使用010 editor打开 ,在图片结尾FF D9后存在一大串十六进制,把这些字符复制出来,将十六进制转为字符 ,类似坐标,可以利用gnuplot绘图工具绘制出图片

扫二维码

flag{40fc0a979f759c8892f4dc045e28b820}

[BJDCTF2020]一叶障目

使用010 Editor打开出现CRC不匹配报错 ,修改了宽高

贴一个CRC检验脚本

#coding=utf-8
import zlib
import struct
#读文件
file = '1.png'  #注意,1.png图片要和脚本在同一个文件夹下哦~
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
crc32key = eval(str(fr[29:33]).replace('\\x','').replace("b'",'0x').replace("'",''))
#crc32key = 0xCBD6DF8A #补上0x,copy hex value
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x01\xF4\x00\x00\x01\xF1\x08\x06\x00\x00\x00')  #hex下copy grep hex
n = 4095 #理论上0xffffffff,但考虑到屏幕实际,0x0fff就差不多了
for w in range(n):#高和宽一起爆破
    width = bytearray(struct.pack('>i', w))#q为8字节,i为4字节,h为2字节
    for h in range(n):
        height = bytearray(struct.pack('>i', h))
        for x in range(4):
            data[x+4] = width[x]
            data[x+8] = height[x]
            #print(data)
        crc32result = zlib.crc32(data)
        if crc32result == crc32key:
            print(width,height)
            #写文件
            newpic = bytearray(fr)
            for x in range(4):
                newpic[x+16] = width[x]
                newpic[x+20] = height[x]
            fw = open(file+'.png','wb')#保存副本
            fw.write(newpic)
            fw.close

flag{66666}

[SWPU2019]神奇的二维码

将文件放入kali进行binwalk,分离出了多个rar ,先查看txt文档中的内容YXNkZmdoamtsMTIzNDU2Nzg5MA==

进行base64解密:asdfghjkl1234567890

再看doc文档,是一大串的base64

解码后为:comEON_YOuAreSOSoS0great

经过尝试comEON_YOuAreSOSoS0great是音频那个压缩包的密码,而asdfghjkl1234567890是图片的压缩包的密码。

音频是摩斯密码,M O R S E I S V E R Y V E R Y E A S Y

flag{morseisveryveryeasy}

[BJDCTF2020]纳尼

gif并不能正常打开,发现缺少十六进制文件头,将GIF的十六进制文件头(47 49 46 38)输入,保存后打开图片,base64,提取后是Q1RGe3dhbmdfYmFvX3FpYW5nX2lzX3NhZH0=

flag{wang_bao_qiang_is_sad} 

穿越时空的思念

嫦娥当年奔月后,非常后悔,因为月宫太冷清,她想:早知道让后羿自己上来了,带了只兔子真是不理智。于是她就写了一首曲子,诉说的是怀念后羿在的日子。无数年后,小明听到了这首曲子,毅然决定冒充后羿。然而小明从曲子中听不出啥来,咋办。。(该题目为小写的32位字符,提交即可) 注意:得到的 flag 请包上 flag{} 提交
Audacity打开

…-. ----- …— ----. -… -… -… …-. … … .---- .---- …-- ----. . . -… . -… —… . …- … .- .---- --… … -… ----- --… —… -…

F029BD6F551139EEDEB8E45A175B0786

flag{f029bd6f551139eedeb8e45a175b0786}

[ACTF新生赛2020]outguess

outguess隐写,图片属性发现了一串社会主义核心价值观,就知道了是社会主义核心价值观解密:abc,是outguess解密的密码尝试着解密

apt-get install outguess 
outguess -k 'abc' -r mmm.jpg -t 1.txt 
flag{gue33_Gu3Ss!2020}

谁赢了比赛?

小光非常喜欢下围棋。一天,他找到了一张棋谱,但是看不出到底是谁赢了。你能帮他看看到底是谁赢了么? 注意:得到的 flag 请包上 flag{} 提交
kali中进行binwalk得到一个rar压缩包,flag.txt中只有一句话where do you think the flag is?

再看上面的文件,发现需要密码,ARCHPR爆破出密码,放入stegsolve里面进行查看,得到二维码,扫出flag

flag{shanxiajingwu_won_the_game} 

[SWPU2019]我有一只马里奥

题目下载下来是一个exe ,运行会有个1.txt ,NTFS流隐藏文件,使用工具NtfsStreamsEditor

导出文件flag.txt

flag{ddg_is_cute}

[GXYCTF2019]gakki

binwalk分析,发现RAR ,分离一下

ARCHPR 四位数字爆破

得到密码8864,解压打开flag.txt,内容杂乱,考虑是字频统计,可以找个网站,也可以用脚本

# -*- coding:utf-8 -*-
#Author: mochu7
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]"
strings = open('./flag.txt').read()

result = {}
for i in alphabet:
	counts = strings.count(i)
	i = '{0}'.format(i)
	result[i] = counts

res = sorted(result.items(),key=lambda item:item[1],reverse=True)
for data in res:
	print(data)

for i in res:
	flag = str(i[0])
	print(flag[0],end="")

flag{gaki_IsMyw1fe}

[ACTF新生赛2020]base64隐写

BASE64隐写

import base64
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('./base64.txt', 'rb') as f:
    flag = ''
    bin_str = ''
    for line in f.readlines():
        stegb64 = str(line, "utf-8").strip("\n")
        rowb64 = str(base64.b64encode(base64.b64decode(stegb64)), "utf-8").strip("\n")
        offset = abs(b64chars.index(stegb64.replace('=', '')[-1]) - b64chars.index(rowb64.replace('=', '')[-1]))
        equalnum = stegb64.count('=')  # no equalnum no offset
        if equalnum:
            bin_str += bin(offset)[2:].zfill(equalnum * 2)
            # flag += chr(int(bin(offset)[2:].zfill(equalnum * 2), 2))
            # print(flag) 这样写得不出正确结果
        print([chr(int(bin_str[i:i + 8], 2)) for i in range(0, len(bin_str), 8)])



# ['A', 'C', 'T', 'F', '{', '6', 'a', 's', 'e', 'b', '4', '_', 'f', '3', '3', '!', '}'
flag{6aseb4_f33!}

[SWPU2019]伟大的侦探

密码.txt可解压,misc文件夹需要解压密码,将密码.txt使用010 Editor打开,使用EBCDIC编码即可发现密码明文,解压缩后发现18张图片,应该是某种编码

福尔摩斯小人密码

对照得到:iloveholmesandwllm

flag{iloveholmesandwllm}

黑客帝国

Jack很喜欢看黑客帝国电影,一天他正在上网时突然发现屏幕不受控制,出现了很多数据再滚屏,结束后留下了一份神秘的数据文件,难道这是另一个世界给Jack留下的信息?聪明的你能帮Jack破解这份数据的意义吗? 注意:得到的 flag 请包上 flag{} 提交
脚本将16进制转为二进制流转存为flag.rar

import binascii

hex_data='txt文件中16进制数据'
out=open('flag.rar','wb')
out.write(binascii.unhexlify(hex_data))
out.close()

运行脚本得到flag.rar压缩包,ARCHPR爆破压缩包密码为:3690
根据以上信息可知这是一张jpg的图片被加了PNG的头,修改成JPG的头:FF D8

flag{57cd4cfd4e07505b98048ca106132125}

[MRCTF2020]ezmisc

下载附件之后是一张图片,然后丢尽Winhex里看看

crc校验脚本

import struct
import binascii
import os
 
m = open("flag.png", "rb").read()
k = 0
for i in range(5000):
    if k == 1:
        break
    for j in range(5000):
        c = m[12:16] + struct.pack('>i', i) + struct.pack('>i', j) + m[24:29]
        crc = binascii.crc32(c) & 0xffffffff
        if crc == 0x370c8f0b:
            k = 1
            print(hex(i), hex(j))
            break

flag{1ts_vEryyyyyy_ez!}

[HBNIS2018]caesar

疑似凯撒密码,用脚本跑一下

def change(c,i):
    num=ord(c)
    if(num>=33 and num<=126):
        num=33+(num+i-33)%(94)#126-33=93
    return chr(num)
 
  
def kaisa_jiAmi(string,i):
    string_new=''
    for s in string:
        string_new+=change(s,i)
    print(string_new)
    return string_new
 
#本题有种暴力解密感觉
def kaisa_jiEmi(string):
    for i in range(0,94):
        print('第'+str(i+1)+'种可能:',end='  ')
        #区别在于 string 是该对象原本就是字符串类型, 而 str()则是将该对象转换成字符串类型。
        kaisa_jiAmi(string,i)
    
#你要知道input输入的数据类型都是string  
def main():
    print('请输入操作,注意不是平常26种:')
    choice=input('1:恺撒加密,2:凯撒穷举解密.请输入1或2:')
    if choice=='1':
        string=input('请输入需要加密字符串: ')
        num=int(input('请输入需要加密的KEY: '))
        kaisa_jiAmi(string,num)
    elif choice=='2':
        string=input('请输入需要解密字符串: ')
        kaisa_jiEmi(string)
    else:
        print('输入错误,请重试')
        main()
    
if __name__=='__main__':
    main()
flag{flagiscaesar}

[HBNIS2018]低个头

EWAZX RTY TGB IJN IO KL 请**该密文,应该是键盘密码,解密后是CTF

sqltest

网站遭受到攻击了,还好我们获取到了全部网络流量。

流量包,sql盲注的流量,根据流量可以写出flag

102
108
97
103
123
52
55
101
100

脚本

f=open('test.txt','r').readlines()
for i in f:
	print(chr(int(i)),end="")

[SUCTF2018]single dog

010发现有东西,直接binwalk 分离一下

txt里是一些颜文字

aaencode解密

flag{happy double eleven}

我吃三明治

binwalk发现是两张图片组成的一张图片,猜测中间存在东西,发现是一串base编码

flag{6f1797d4080b29b64da5897780463e30}

[安洵杯 2019]吹着贝斯扫二维码

有很多文件和一个压缩包,jpg格式的文件,全部解压下来,发现通过010查看末尾有数字,也就是拼接二维码的顺序

flag{Qr_Is_MeAn1nGfuL} 

[WUSTCTF2020]爬

PDF文件,修改后缀为PDF,打开 ,发现图片下面还有图片,里面有加密字符串

77637466323032307b746831735f31735f405f7064665f616e645f7930755f63616e5f7573655f70686f7430736830707d

用工具一把梭就行

flag{th1s_1s_@_pdf_and_y0u_can_use_phot0sh0p}

百里挑一

图片流量,可以全部提出来

文件–>导出对象–>HTTP–>保存到一个文件夹

之后可以使用kali下的exiftool找到了一半flag

然后在tcp114追踪流当中找到另一半flag

但我看还有更简单的方法

大致确定flag在exif中时,可以在wireshark的filter中输入:tcp contains 45:78:69:66(exif的十六进制),找到带flag的两个数据包

flag{ae58d0408e26e8f26a3c0589d23edeec} 

[MRCTF2020]CyberPunk

下载附件,发现是个exe文件,运行它,修改时间就行,发现运行出来的是当前电脑的系统时间,根据上面提示知道只有在时间是2020.9.17的时候才能运行出flag,那就试着修改电脑系统时间运行就行

flag{We1cOm3_70_cyber_security} 

[安洵杯 2019]Attack

Attack.pcap

binwalk分离

压缩包但是需要密码,wireshark导出HTTP ,发现lsass.dmp文件,使用mimikatz读取其内容 ,得到了Administrator用户的密码:W3lc0meToD0g3,作为解压密码,解压压缩包得到flag

//提升权限
privilege::debug
//载入dmp文件
sekurlsa::minidump lsass.dmp
//读取登陆密码
sekurlsa::logonpasswords full
flag{3466b11de8894198af3636c5bd1efce2}

[UTCTF2020]docx

attachment.docx,内容没有东西,修改后缀为.rarmedia文件夹下找到 flag

flag{unz1p_3v3ryth1ng}

[RoarCTF2019]黄金6年

把mp4拉入winhex中,发现base编码

明显看到解码之后是rar的文件头,并且里面有个flag.txt离拿到flag应该很近了,右下角另存为rar文件,打开,发现需要密码。应该就是前面的iwantplayctf 了

前面的密码是从扫描视频的二维码中得到

flag{CTF-from-RuMen-to-RuYuan}

弱口令

压缩包有加密,在压缩包的注释中发现了一些信息,复制发现是一串

… . .-… .-… ----- …-. — .-. …- –

空格替换为.Tab替换为-

HELL0FORUM

解压是个png,尝试lsb隐写解密,密码为123456

flag{jsy09-wytg5-wius8}

[WUSTCTF2020]alison_likes_jojo

解压压缩包后得到两张图片和一个文本,文本基本没有什么线索

使用010模板打开boki.jpg,发现末尾隐藏个压缩包文件

暴力破解888866

base64解密

outguess -k "killerqueen" -r jljy.jpg hidden.txt

flag{pretty_girl_alison_likes_jojo}

[GXYCTF2019]SXMgdGhpcyBiYXNlPw==

下载完附件发现文本里如下字符串

Q2V0dGUgbnVpdCwK
SW50ZW5hYmxlIGluc29tbmllLAp=
TGEgZm9saWUgbWUgZ3VldHRlLAo=
SmUgc3VpcyBjZSBxdWUgamUgZnVpcwp=
SmUgc3ViaXMsCt==
Q2V0dGUgY2Fjb3Bob25pZSwK
UXVpIG1lIHNjaWUgbGEgdOmUmnRlLAp=
QXNzb21tYW50ZSBoYXJtb25pZSwK
RWxsZSBtZSBkaXQsCo==

在做CTF题目时遇到这种大量Base64编码的文本时,考虑Base64隐写。所以我们找一个脚本。

#解码base64隐写编码
#python版本 3.9

import base64

def int2Bin(digit):
	return bin(digit)[2:]	#将索引转成二进制,去掉'0b';



def binAsc(string):		#二进制转成ASCII码
	temp = ''
	for i in range(int(len(string) / 8)):
		temp += chr(int(string[i * 8 : i* 8 + 8] , 2))
	return temp

def readBase64FromFile(filename):
	Base64Char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"     #Base64字符集 已按照规范排列
	result = ''
	with open(filename ,'r') as f:
		for data in f.readlines():
			if data.find('==') > 0:
				result += int2Bin(Base64Char.index(data[-4]))[-4:]		#根据隐写原理,‘==’情况取等号前最后一个字符转换后取后4位
			elif data.find('=') > 0:
				result += int2Bin(Base64Char.index(data[-3]))[-2:]		#根据隐写原理,‘=’情况取等号前最后一个字符转换后取后2位
	print(binAsc(result))

readBase64FromFile('flag.txt')

flag{fazhazhenhaoting}

[ACTF新生赛2020]swp

解压后发现附件是一个流量包,用wireshark分析一下,

追踪TCP流发现流太多了,简单看了一下也没有发现重要数据。这里的话个人学到了两种方法来分析。

1.使用binwalk分析,发现里面藏有压缩包,接着进行分离即可得到。

2.导出http数据,file->export objects->http,在导出的文件里可以发现压缩包。

接着我们看一下压缩包,需要密码,先尝试下是否是伪加密。用WINRAR修复一下发现可以打开。

flag{c5558bcf-26da-4f8b-b181-b61f3850b9e5} 

[SWPU2019]你有没有好好看网课?

解压后发现flag2和flag3的压缩包。同时都需要压缩密码。先看flag2,没有发现什么。再看flag3,提示密码是6位数字,那么我们就用ar爆破一下。

得到flag3.zip密码为:183792

之后会得到一个docx和mp4文件。

文档里提示数字520与711,怀疑是mp4里的5:20,与7:11

查看后发现敲击码

..... ../... ./... ./... ../

与base编码

dXBfdXBfdXA=

合起来就是flag2的压缩密码

wllmup_up_up

之后将文件放进010直接就能看到flag

flag{A2e_Y0u_Ok?}

tips:这里逐秒查看的软件可以用:Kinovea /pr

[DDCTF2018](╯°□°)╯︵ ┻━┻

题目给了一串编码

d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd

没有解开,怀疑有什么规律。尝试对每两个字符转出来的 10进制 进行减 128 ,每个值得范围就能落在 ASCII 码表。
我们从网上找一个脚本。

# -*- coding:utf-8 -*-
import re
import urllib
 
list1=[]
list2=[]
 
 
s = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd"
 
print len(s)
result=re.sub(r"(?<=\w)(?=(?:\w\w)+$)"," ", s)
print result
urlencode_s="%"+result.replace(" ","%")
print urlencode_s
hex_s = "0x"+result.replace(" ","0x")
print hex_s
print hex_s[-4:8]
list_hex = []
 
for i in range(len(hex_s)):
	if((i+1)%4==0):
		print hex_s[(i-3):(i+1)]
		list1.append(hex_s[(i-3):(i+1)])
		print i
	else:
		print i
		continue
print list1
 
for i in list1:
	list2.append(int(i,16))
 
print list2
 
print 253-125
list3=[]
print len(list2)
for i in range(67):
	list3.append(chr(int(list2[i])-128))
s = "".join(list3)
print s
 DDCTF{922ab9974a47cd322cf43b50610faea5}

[GUET-CTF2019]zips

下载附件,是一个需要密码的压缩包。010看了下并没有伪加密什么的,怀疑需要爆破。最后我们六位数字爆破出了密码。

723456

得到一个.sh文件和一个压缩包文件。
发现setup.sh是个伪加密,根据之前文章讲的进入010editor将9改为0,或者直接用WINRAR修复一下。

发现sh里面的代码是

#!/bin/bash
#
zip -e --password=`python -c "print(__import__('time').time())"` flag.zip flag

简单来说就是输出时间戳,怀疑时间戳就是另一个压缩包的解压密码。
我们将系统时间改为压缩包的创建时间。

得到前端部分一样的数字:15580

我们保存小数点后两位进行掩码爆破。

设置掩码15???.??

爆破出密码解压得到flag{fkjabPqnLawhvuikfhgzyffj}

从娃娃抓起

题目描述:伟人的一句话,标志着一个时代的开始。那句熟悉的话,改变了许多人的一生,为中国三十年来计算机产业发展铺垫了道路。两种不同的汉字编码分别代表了汉字信息化道路上的两座伟大里程碑。请将你得到的话转为md5提交,md5统一为32位小写。
题目

0086 1562 2535 5174
bnhn s wwy vffg vffg rrhy fhnv
请将你得到的这句话转为md5提交,md5统一为32位小写。
提交格式:flag{md5}
0086 1562 2535 5174应该是中文编码,了解后发现是中文电码。剩下的是五笔编码。

合起来就是:人工智能也要从娃娃抓起

md5编码后就是flag

flag{3b4b5dccd2c008fe7e2664bd1bc19292}

USB

010 Editor打开key.ftm,其中发现zip数据

我们使用binwalk分离一下,发现流量包,根据题目,判断为USB流量

直接使用工具一把梭

python2 /home/kali/桌面/UsbKeyboardDataHacker-master/UsbKeyboardDataHacker.py /home/kali/桌面/_key.ftm.extracted/key.pcap

得到密钥{xinan}
接下来看压缩包的另一个文件233.rar,我们用010查看发现CRC错报,而且可以看到是有些数据没有显示出来的,用WINRAR修复也修复不了。

分析RAR文件结构,发现文件块的位置应该是74并不是7A,修改为74后保存 。

得到PNG图片。StegsloveBlue 0通道发现二维码。

 ci{v3erf_0tygidv2_fc0}

怀疑是维吉尼亚密码密钥位xinan

fa{i3eei_0llgvgn2_sc0}

又像个栅栏密码,直接ciphey一把梭

flag{vig3ne2e_is_c00l}

[WUSTCTF2020]girlfriend

下载后是一个音频,我们尝试用Audacity打开这段音频 。分析分析频谱。

听完后感觉想拨号的声音,这里我们可以猜测DTMF拨号音识别,我们可以使用工具dtmf2num.exe

https://sourceforge.net/directory/os:windows/

999*666*88*2*777*33*6*999*4*4444*777*555*333*777*444*33*66*3*7777

识别完后发现密文。感觉像手机九键的操作。我们就可以根据手机九键的操作来得到flag

flag{youaremygirlfriends} 

TIPS:想要了解更多手机键盘密码的朋友可以看这篇https://www.33iq.com/group/topic/34507/

[MRCTF2020]千层套路

打开是一个压缩包,我们用010打开发现里面藏有别的压缩包的数据。使用命令分离不了。于是我们尝试用ar爆破,最后通过四位数成功爆破出来了。

0537

但打开后还是压缩包,不知道解压了多少次还是压缩包。根据以往的经验,我们找了脚本来解压。

import zipfile
import os
path=r"C:\xxxx\attachment (4)\0573\0114\0653\0234\0976\0669\0540\0248\0275\0149\0028\0099\0894\0991\0414\0296\0241\0914" #这个自己把控想在哪里开始使用脚本
file="0140.zip"
def un_zip(Path,File_name): #传入一个路径和当前路径的压缩包名字,返回解压缩后的文件名字
        current_file=Path+os.sep+File_name #路径+'/'+文件名
        #new_path=''
        os.chdir(Path) #改变当前工作路径,方便添加文件夹
        
        zip_file=zipfile.ZipFile(current_file)
        #print(zip_file.namelist()[0])
        new_file=zip_file.namelist()[0] #新解压的压缩文件为新的路径名字
        
        #new_path=current_path + os.sep + new_file
        #os.mkdir(new_path) #新建一个以解压出来的压缩包为名字的文件夹
 
        #os.chdir(new_path)
        zip_file.extractall( path=Path, members=zip_file.namelist(), pwd=File_name[0:-4].encode() )#因为密码就是文件名
        zip_file.close()
        
        return new_file
 
new=file
new1=''
while (1):
        #new1=un_zip(path,new) #第一次解压出来了new1
        if(new ==''):  #判断是否解压完毕,是则直接退出
                print("end:"+new1)
                break
 
        else:   #否则就开始新的解压
                new1=un_zip(path,new)
                print("continue:"+new1)
                new=new1

最后跑出来一群坐标,典中典之二维码,还是用脚本去拼。

from PIL  import Image
import os
os.chdir(r'C:\xxx\attachment (4)\0573\0114\0653\0234\0976\0669\0540\0248\0275\0149\0028\0099\0894\0991\0414\0296\0241\0914')
string=''
 
file=open('qr.txt')
MAX=200
 
picture=Image.new("RGB",(MAX,MAX))
for y in range(MAX):
    for x in range(MAX):
        string =file.readline()
        picture.putpixel([x,y],eval(string)) #直接使用eval()可以转为元组
picture.show()
flag{ta01uyout1nreet1n0usandtimes} 

[XMAN2018排位赛]通行证

密码套娃先是base64

a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg==

得到

kanbbrgghjl{zb____}vtlaln

最后发现是栅栏密码,Key等于7。

kzna{blnl_abj_lbh_trg_vg}

接着又是凯撒密码

flag{oyay_now_you_get_it}

TIPS:其实可以ciphey一把梭,只是给大家讲一下解码过程。

[SWPU2019]Network

很考验知识面宽度的一个题。我们下载完附件。发现是一个txt,内容类似于

63
255
127
127
63

经过了解得知,这是TTL隐写。

IP报文在路由间穿梭的时候每经过一个路由,TTL就会减1,当TTL为0的时候,该报文就会被丢弃。TTL所占的位数是8位,也就是0-255的范围,但是在大多数情况下通常只需要经过很小的跳数就能完成报文的转发,远远比上限255小得多,所以我们可以用TTL值的前两位来进行传输隐藏数据。
简单来说,我们如何进行解密。就是按规则先转二进制。

00 替换 63
01 替换 127
10 替换 191
11 替换 255

我们找个脚本转换一下

import binascii
f=open("attachment.txt","r")
f2=open("result.txt","wb")
num=''
res=''
for i in f:
    if int(i)==63:
        num+="00"
    if int(i)==127:
        num+="01"
    if int(i)==191:
        num+="10"
    if int(i)==255:
        num+="11"
for j in range(0,len(num),8):
    res += chr(int(num[j:j+8],2))#转换为字符
res = binascii.unhexlify(res)#unhexlify:从十六进制字符串返回二进制数据
f2.write(res)

得到的数据会发现是一个压缩包。我们保存一下打开。发现是很长的base编码。
脚本跑一下

import base64
f=open("flag.txt","r")
a=f.read()
print(f,a)
res=base64.b64decode(a)
while(1):
    res=base64.b64decode(res)
    print(res)

其实我感觉使用ciphey或者其他解码工具也应该可以,可能会比较麻烦吧。解出得到flag

flag{189ff9e5b743ae95f940a6ccc6dbd9ab}

[MRCTF2020]Hello_ misc

先用steg查看一下png图片的通道。

发现red通道处有一个PNG图片,我们将其保存,得知一个密钥。

!@#$%67*()-+

根据图片提示我们要分离文件。于是我们用binwalk命令分离出了一个压缩包。
得到一些奇怪的数字。

127,255,63,191,127,191

二进制格式只有八位二进制的前两位不同
用脚本将前两位提出来并且先转十进制,再转成字符串。

with open('out.txt') as a_file:
    content = [x.strip() for x in a_file.readlines()]
bins = []
for i in content:
    bins.append(bin(int(i))[2:].zfill(8)[:2])
stringBins = ''.join(bins)
num = 0
flag = ''
for i in range(int(len(stringBins)/8)):
    flag+=chr(int(stringBins[num:num+8],2))
    num+=8
 
print(flag)

我们得到解压密码

rar-passwd:0ac1fe6b77be5dbe

解压后发现是一个DOC文档,里面并没有什么重要信息,怀疑信息被隐藏了。
改字体颜色就可以发现隐藏的BASE编码。

这里用到了base64逐行解密来拼成flag(脑洞真大),直接找个脚本或自己手动都可以。

flag{He1Lo_mi5c~}

你可能感兴趣的:(笔记,网络,linux,网络安全,python)