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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【BJDCTF 2nd—MISC/Crypto】做题+复现记录

發布時間:2024/9/30 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【BJDCTF 2nd—MISC/Crypto】做题+复现记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Crypto

老文盲了


在線漢字轉拼音

bì jí dì dà kuò hào zhè jiù shì fǔ lài gē zhí jiē jiāo lè bā dà kuò hào 大 括 號

好好讀一下

BJD{這就是flag直接提交吧} 但這是不對,群里又放提示是漢字,所以應該就是對照漢字 BJD{淛匶襫黼瀬鎶軄鶛驕鰳哵}

cat_flag

一張動態圖,沒有隱藏什么東西,那就從圖片入手,發現只有兩種模式,猜測是二進制(0/1)

雞腿比較像1就定義為1

靈能精通


豬圈密碼的一種變種,圣堂武士密碼

對應即可得出flag

燕言燕語


base16解出

中間有一個空格,所以大概率不是凱撒、柵欄解密,題目和描述反復強調燕子,更類似一種密鑰,而古典密碼中能用到密鑰的就是維吉尼亞密碼了

出題師傅比較暴躁,web中也有ㄟ( ▔, ▔ )ㄏ

Y1nglish


這么長還這么亂,一看就是替換密碼,直接扔在線網站

得出

BJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4cy}

你以為這就結束了,這答案是個錯的,還得看上面的話(我沒看出來)

BJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4ck}

看了WP可是因為 worying at a bany,應該是 working at a bank,還有 networy,應該是 network,y 要改成 k;而且應該和暴力破解是同類型的詞,所以改成 Cr4ck

rsa0


nc 連接一下

最基礎的RSA,直接上腳本:

十六進制轉字符串即可
這里需要注意用//,用/一直沒做出來

rsa1


這道題每次請求,發現只有e和c發現變化了,而其他兩個都沒變化,符號共模攻擊,直接寫腳本

#1 # e=10700399 w=137133932958603728728725046196542358351080718720950350277731136301898598905576262779114997353930285515311235031852033461363934174706999854663030546861803323925014069053926660622367340752314741449235645602975093995253028757636666273136355212610283249478658435857552575383020339034146095349657442500268855265082 s=-546313749843970898211165949484055741175962166901821704849049416429468381082331944581431325393436422009230224451257415555459795196211509396710107942898892 # c=9005844280611611003939802049248579911507353214742656527224477530776080556258918168836196959807051586462156082361542268721765780606661970644646222551194594883523502619075930398858949901579742615209365440393663420462609712141011529660399891410426998226993650570530288042522812316244333700422572340250942094026 # #2 # e=14686843 # p^2+q^2=137133932958603728728725046196542358351080718720950350277731136301898598905576262779114997353930285515311235031852033461363934174706999854663030546861803323925014069053926660622367340752314741449235645602975093995253028757636666273136355212610283249478658435857552575383020339034146095349657442500268855265082 # p-q=-546313749843970898211165949484055741175962166901821704849049416429468381082331944581431325393436422009230224451257415555459795196211509396710107942898892 # c=54841467486794676047290947419206161259893783413570632404084809670615498519182251175653291935638965800885812317147878618012877072340498084810459076090702932658910870170684683938928493809866855131146783605433117458932155689052988950652067081715233961084868966794147539218384384956973160961955638703704302088519# a^2+b^2 =(a-b)^2 +2ab # p^2+q^2 =(p-q)^2+2pq #w = p^2+q^2 #s = p-q n = (w-pow(s,2))//2from libnum import n2s,s2n from gmpy2 import invert from Crypto.Util import number def egcd(a, b):if a == 0:return (b, 0, 1)else:g, y, x = egcd(b % a, a)return (g, x - (b // a) * y, y)def main():w=137133932958603728728725046196542358351080718720950350277731136301898598905576262779114997353930285515311235031852033461363934174706999854663030546861803323925014069053926660622367340752314741449235645602975093995253028757636666273136355212610283249478658435857552575383020339034146095349657442500268855265082s=-546313749843970898211165949484055741175962166901821704849049416429468381082331944581431325393436422009230224451257415555459795196211509396710107942898892n = (w-pow(s,2))//2c1 = 9005844280611611003939802049248579911507353214742656527224477530776080556258918168836196959807051586462156082361542268721765780606661970644646222551194594883523502619075930398858949901579742615209365440393663420462609712141011529660399891410426998226993650570530288042522812316244333700422572340250942094026c2 = 54841467486794676047290947419206161259893783413570632404084809670615498519182251175653291935638965800885812317147878618012877072340498084810459076090702932658910870170684683938928493809866855131146783605433117458932155689052988950652067081715233961084868966794147539218384384956973160961955638703704302088519e1 = 10700399e2 = 14686843s = egcd(e1, e2)s1 = s[1]s2 = s[2]if s1<0:s1 = - s1c1 = invert(c1, n)elif s2<0:s2 = - s2c2 = invert(c2, n)m = pow(c1,s1,n)*pow(c2,s2,n) % nprint (hex(m))print(number.long_to_bytes(m))if __name__ == '__main__':main()

注意使用除號使用//,否則會報錯

MISC

Real_EasyBaBa

得出一個圖片,無法binwalk直接拖出來東西,就手動去改下
之前是FF FF,改成zip的開頭 50 4B 03 04

然后將這一段保存成zip文件
得一個二維碼,支付寶掃一下發現:

od -vtx1 ./draw.png | head -56 | tail -28

沒有其他圖片了,就還拿這張圖片命名為draw.png,試試這段命令

這里一度不知道思路了,完全不知道該怎么弄了,看了WP才知道這里把00替換成兩個空格就行了

EasyBaBa


一個圖片這么大,里面肯定有東西

binwalk無法提取,用另一個工具foremost或者直接將圖片后綴改成zip都可以

得到一張圖片

發現是AVI格式,更改后綴名

釘釘。。。

視頻會彈出一些圖片,直接Pr查看,將四張圖片截取出來,用工具掃一下即可

1 agin_l 2 ove_Y 3 BJD{im 4 1ng}

組合一下就可以了

圣火昭昭

查看圖片屬性發現

在線解新佛曰

使用key的隱寫,有F5、steghide、outguess等

這里題目提示了開局一張圖,flag全靠猜,猜測可能是outguess隱寫

outguess -k "gemlove" -r 1.jpg hidden.txt


得到隱藏信息,打開即可獲得flag

TARGZ


各種查看,到最后試了一下壓縮包的名字即是密碼,一層層解得累死,直接寫腳本即可

在linux下允許后,直接運行

rm *.tar.gz

刪除多余文件,得到flag

看了官方的WP,可以借鑒下師傅的師傅

#www.gem-love.com #decompress.py import os import filetype import timewhile 1:aa = os.popen('ls')filename = aa.read().replace('decompress.py','').replace('\n', '')a = filename.replace('.tar.gz', '')kind = filetype.guess(filename)if kind.extension is 'zip':os.system("mv {} {}.zip|unzip -P {} {}.zip".format(filename, a, a, a))os.system("rm *.zip")time.sleep(0.1)else:print('解壓完成')break

如果又哪些地方不明白的,百度一下就可以了,這里不做過多解釋了
Python中的zipfile模塊使用詳解

小姐姐

這個題一開始沒發現什么線索,后來才發現flag就隱藏在16進制當中,直接010 editor打開查詢

BJD

即可得出flag

最簡單的misc

一開始是偽加密,直接7Z打開就行

差PNG頭,補上

89 50 4E 47 0D 0A 1A 0A 是PNG頭部署名域,表示這是一個PNG圖片


修改好之后即可

A_Beautiful_Picture

010 editor打開改寬高即可

Imagin - 開場曲


這么多提示,師傅真好

這到題做的最開心,百度查到直接玩了20分鐘,真的好玩,哈哈哈哈,不過真的是我腦洞太小了,一開始以為是視頻隱寫之類的,網上找各種工具,看了WP才知道是對應的鍵位即可。。。。

根據鍵位-音節對應關系解出答案

BJD{MIKUTAP3313313}

學到了

完結撒花!!!

總結

以上是生活随笔為你收集整理的【BJDCTF 2nd—MISC/Crypto】做题+复现记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。