[Misc&Crypto]鹤壁杯部分wp

哔哔两句:鹤壁杯打的好不好,一定程度上取决于你的搜索引擎用的好不好。

                  经典re选手解密码和杂项,感觉密码会rsa就掌握半壁江山了。

Misc

1.pdf

这个题直接wbstego4(该软件可以吧文件隐藏到BMP、TXT、HTM、PDF中)一把梭

2. check.png

lsb隐写,没啥可说的,直接提取出对应的html编码,红帽子解码就行

3. 看似图片实则流量

Ziperello爆破,直接出密码。查看图片,显示图片出错了,猜测改了图片,010打开。

 我高看他了,这个照片的内容就跟流氓一样。(我还搜了一下flag)

这里要提一嘴,winhex跟010editor打开的结果不同,winhex正常,010editor抽风

winhex正常打开,看看是不是改高了,tweakpng,发现crc有问题,可以确定是改了图片。

脚本一把梭,直接出修复好的

#coding=utf-8
import zlib
import struct
#读文件
file = 'H:/1.png'  #注意,1.png图片要和脚本在同一个文件夹下哦~
fr = open(file,'rb').read()
data = bytearray(fr[12:29])
crc32key = 0xC61C9FAA
#crc32key = 错误的crc即可#补上0x,copy hex value
#data = bytearray(b'\x49\x48\x44\x52\x00\x00\x02\xA7\x00\x00\x01\x00\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,给的百度网盘,继续看。

 下载,流量包。这才是真正要做的。。。。

出了流量包就跟我没关系了,丢给队内的web师傅,师傅给ak了。

等学会了流量分析,专门出一个文章。

Crypto

1. easy_crypto

经典富强民主文明和谐,直接网站(CTF在线工具-CTF工具|CTF编码|CTF密码学|CTF加解密|程序员工具|在线编解码)一把梭

2. 混合加密

这个题挺变态的,但是这个是原题。

首先打开是下面这些:

4O595954494Q32515046324757595N534R52415653334357474R4N575955544R4O5N4Q46434S4O59474253464Q5N444R4Q51334557524O5N4S424944473542554O595N44534O324R49565746515532464O49345649564O464R4R494543504N35

大佬提供技巧:看到字母部分是n到r,找编码让它对应到a到f就可以(也就是rot13)

4B595954494D32515046324757595A534E52415653334357474E4A575955544E4B5A4D46434F4B59474253464D5A444E4D51334557524B5A4F424944473542554B595A44534B324E49565746515532464B49345649564B464E4E494543504A35

16转文本(这里其实也就是BASE16)

脚本如下:

h = "4B595954494D32515046324757595A534E52415653334357474E4A575955544E4B5A4D46434F4B59474253464D5A444E4D51334557524B5A4F424944473542554B595A44534B324E49565746515532464B49345649564B464E4E494543504A35"
for i in range(0,len(h),2):
    tem='0x'+h[i]+h[i+1]
    tem=int(tem,base=16)
    print(chr(tem),end='')

KYYTIM2QPF2GWYZSNRAVS3CWGNJWYUTNKZMFCOKYGBSFMZDNMQ3EWRKZOBIDG5BUKYZDSK2NIVWFQU2FKI4VIVKFNNIECPJ5

base32

V143Pytkc2lAYlV3SlRmVXQ9X0dVdmd6KEYpP3t4V29+MElXSER9TUEkPA==

base64

W^7?+dsi@bUwJTfUt=_GUvgz(F)?{xWo~0IWHD}MA$<

base85(全是base家族,这不得看看是不是base85)

这里真的是get到一个新软件CyberChef_v9.32.3

点击就送(因为加了混淆了,要改一改字母表)

这里说一下CyberChef这个软件,在recipe中,下面的会以上面的输出作为输入进行编码。To是编码、From是解码。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值