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))from 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 def
main():w
=137133932958603728728725046196542358351080718720950350277731136301898598905576262779114997353930285515311235031852033461363934174706999854663030546861803323925014069053926660622367340752314741449235645602975093995253028757636666273136355212610283249478658435857552575383020339034146095349657442500268855265082s
=-546313749843970898211165949484055741175962166901821704849049416429468381082331944581431325393436422009230224451257415555459795196211509396710107942898892n
= (w
-pow(s
,2))c1
= 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 time
while 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】做题+复现记录的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。