BJD 2nd

it2025-04-24  3

BJDCTF 2nd

BeforeCrypto签到燕言燕语老文盲了cat flag灵能精通Y1nglishrsa0rsa1 Other

Before

今年三月份参加的BJD的比赛,然后一直没部署blog 原blog被自己荒废,加上比较难搞,就换个地方写blog,这篇是好早之前比赛后写的,现在把他部署在新的blog。啦啦啦~~~ 身为pwn选手,却一个pwn的题目都没写,我就是个废物本人沉浸在crypto和misc的世界里无法自拔 QAQ 现在来写一下这次比赛的个人wp。 ~~注意:非正经wp! ~~

二次更改wp,更简洁一点~~

Crypto

签到

指路:BJD_签到 解码网站

QkpEe1czbGMwbWVfVDBfQkpEQ1RGfQ==

思路:base64

BJD{W3lc0me_T0_BJDCTF}

燕言燕语

指路:BJD_燕言燕语 解码网站

79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20

思路:base16+变异凯撒

yanzi ZJQ{xilzv_iqssuhoc_suzjg}

BJD{yanzi_jiushige_shabi}

老文盲了

指路:BJD_老文盲了 思路:winhex查头文件,补扩展名+拼音

罼雧締眔擴灝淛匶襫黼瀬鎶軄鶛驕鳓哵眔鞹鰝

BJD{淛匶襫黼瀬鎶軄鶛驕鳓哵}

cat flag

指路:BJD_catflag

思路:二进制 0 1

BJD{M!a0~}

灵能精通

指路:BJD_灵能精通

hint :

星际争霸2、神族

思路:圣武士密码

BJD{IMKNIGHTSTEMPLAR}

Y1nglish

指路:BJD_Y1nglish

hint:g对应p,翻译第四句话,w对应k,flag单词均可读

思路:替换

原比赛时的做法:替换,根据语法强行推理:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z(原文) C L P T U R无 D J V E M B W S H I无 O N F G Y 无无 A(实际)

之后复现时的做法:qiupqiup

BJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4cy}

rsa0

指路:BJD rsa0

思路:nc+rsa+简单数学

e=11992061 p+q=15633077685092424146984669187770885526014547989052478763531014027937583996971308118183123284425286353825608717617489811969772495189421952225071362039420660 p-q=-760235050127916062084412039065577453163914878667834716515076767895065744167537143175711434017293622543360912520078471850470317931846677115000681264848934 c=38622139623547253237602099887925114841456550304805755083462769653018836248418739706826196892870871366285571183956745554134071653502941655063168595800975943009368486255942478391719492556775596880181228665596129668922370400032353470449407163056094813719030600802527811663347439945228059145367662764870110156689 flag=??????

exp:

from gmpy2 import * from Crypto.Util.number import * e=11992061 a=15633077685092424146984669187770885526014547989052478763531014027937583996971308118183123284425286353825608717617489811969772495189421952225071362039420660 b=-760235050127916062084412039065577453163914878667834716515076767895065744167537143175711434017293622543360912520078471850470317931846677115000681264848934 c=38622139623547253237602099887925114841456550304805755083462769653018836248418739706826196892870871366285571183956745554134071653502941655063168595800975943009368486255942478391719492556775596880181228665596129668922370400032353470449407163056094813719030600802527811663347439945228059145367662764870110156689 p=(a+b)//2 q=a-p n=p*q phi=(p-1)*(q-1) d=invert(e,phi) flag=pow(c,d,n) print(long_to_bytes(flag)) print(long_to_bytes(pow(c,d,n)))

rsa1

指路:BJD rsa1

思路:nc+rsa+简单数学

e=12121133 p^2+q^2=162102803936238535477775474227902102166577404804171065917782577689728637447523122598378891604074292669308490870929046948214883688986298744962049973430530594171744292148081954701898567126922522067468031340538718008981011294109745416530442758540918233921668128508726103083163250756828462748350313869167149197970 p-q=-2749997069660799717429572746296144239995610738798968595678728575109781247489039042246867367051243630016101513370389336160261906643701100825679232738947114 c=60854037334618881089772096375422180856746350563743600724598865105192511852992749767279342918467081655522879968956127043086497155113162800183332563774251397403221939887075132407927349674644682524583191740931424340811561261221352020186153930090687938092919506908351599495111370484833573488102169861813567575136 flag=??????

exp:

from gmpy2 import * from Crypto.Util.number import * import cmath e=12121133 a=162102803936238535477775474227902102166577404804171065917782577689728637447523122598378891604074292669308490870929046948214883688986298744962049973430530594171744292148081954701898567126922522067468031340538718008981011294109745416530442758540918233921668128508726103083163250756828462748350313869167149197970 b=-2749997069660799717429572746296144239995610738798968595678728575109781247489039042246867367051243630016101513370389336160261906643701100825679232738947114 c=60854037334618881089772096375422180856746350563743600724598865105192511852992749767279342918467081655522879968956127043086497155113162800183332563774251397403221939887075132407927349674644682524583191740931424340811561261221352020186153930090687938092919506908351599495111370484833573488102169861813567575136 _a=a-b*b print(iroot(a+_a,2)) d=17794468915630330933269729128393578665515266561280982156804617884538212236001706778623030036929700464858274897770559673761855456898006375333677764389459288 p=(b+d)//2 print(p) q=d-p print(q,p-q,p^2+q^2) n=p*q phi=(p-1)*(q-1) d=invert(e,phi) flag=pow(c,d,n) print(long_to_bytes(flag)) print(long_to_bytes(pow(c,d,n)))

Other

当时做的时候疯狂吐槽题目,后来复现完到现在,看的时候觉得自己真真真真真的好废~

最新回复(0)