HCTF网络安全大赛——FuckMe

时间:2014-11-11 | 分类:个人日志,学习园地 | 浏览:4319 | 评论:2 | 发表评论

访问http://107.189.158.112/332984bbb9c24bae6487b3c336a30a6c/fuckme.php,
网页里面有一大堆平假名和罗马字符:

эг いшχせひягяけχのэの, дшёжζёгいχ ягяけχのэの эの ひおё のひζうχ すд ひおё дшёжζёгいχ すд けёひひёшの すш えшすζせの すд けёひひёшの эг я いэせおёшひёπひ. ひおё ыёひおすう эの ζのёう яの яг яэう ひす юшёяくэгえ いけяののэいяけ いэせおёшの.

дшёжζёгいχ ягяけχのэの эの юяのёう すг ひおё дяいひ ひおяひ, эг ягχ えэθёг のひшёひいお すд ξшэひひёг けягえζяえё, いёшひяэг けёひひёшの ягう いすыюэгяひэすгの すд けёひひёшの すいいζш ξэひお θяшχэгえ дшёжζёгいэёの. ыすшёすθёш, ひおёшё эの я いおяшяいひёшэのひэい うэのひшэюζひэすг すд けёひひёшの ひおяひ эの шすζえおけχ ひおё のяыё дすш яけыすのひ яけけ のяыせけёの すд ひおяひ けягえζяえё. дすш эгのひягいё, えэθёг я のёいひэすг すд ёгえけэのお けягえζяえё, ё, ひ, я ягう す яшё ひおё ыすのひ いすыыすг, ξおэけё ω, ж ягう π яшё шяшё. けэくёξэのё, ひお, ёш, すг, ягう яг яшё ひおё ыすのひ いすыыすг せяэшの すд けёひひёшの (ひёшыёう юэえшяыの すш うэえшяせおの), ягう のの, ёё, ひひ, ягう дд яшё ひおё ыすのひ いすыыすг шёせёяひの.[1] ひおё гすгのёгのё せおшяのё "ёひяすэг のおшうけζ" шёせшёのёгひの ひおё 12 ыすのひ дшёжζёгひ けёひひёшの эг ひχせэいяけ ёгえけэのお けягえζяえё ひёπひ.

эг のすыё いэせおёшの, のζいお せшすせёшひэёの すд ひおё гяひζшяけ けягえζяえё せけяэгひёπひ яшё せшёのёшθёう эг ひおё いэせおёшひёπひ, ягう ひおёのё せяひひёшгの おяθё ひおё せすひёгひэяけ ひす юё ёπせけすэひёう эг я いэせおёшひёπひ-すгけχ яひひяいく.

эг я のэыせけё のζюのひэひζひэすг いэせおёш, ёяいお けёひひёш すд ひおё せけяэгひёπひ эの шёせけяいёう ξэひお ягすひおёш, ягう ягχ せяшひэいζけяш けёひひёш эг ひおё せけяэгひёπひ ξэけけ яけξяχの юё ひшягのдすшыёう эгひす ひおё のяыё けёひひёш эг ひおё いэせおёшひёπひ. дすш эгのひягいё, эд яけけ すいいζшшёгいёの すд ひおё けёひひёш ё ひζшг эгひす ひおё けёひひёш π, я いэせおёшひёπひ ыёののяえё いすгひяэгэгえ гζыёшすζの эгのひягいёの すд ひおё けёひひёш π ξすζけう のζええёのひ ひす я いшχせひягяけχのひ ひおяひ π шёせшёのёгひの ё.

ひおё юяのэい ζのё すд дшёжζёгいχ ягяけχのэの эの ひす дэшのひ いすζгひ ひおё дшёжζёгいχ すд いэせおёшひёπひ けёひひёшの ягう ひおёг яののすいэяひё えζёののёう せけяэгひёπひ けёひひёшの ξэひお ひおёы. ыすшё π'の эг ひおё いэせおёшひёπひ ひおяг ягχひおэгえ ёけのё のζええёのひの ひおяひ π いすшшёのせすгうの ひす ё эг ひおё せけяэгひёπひ, юζひ ひおэの эの гすひ いёшひяэг; ひ ягう я яшё яけのす θёшχ いすыыすг эг ёгえけэのお, のす π ыэえおひ юё ёэひおёш すд ひおёы яけのす. эひ эの ζгけэくёけχ ひす юё я せけяэгひёπひ ω すш ж ξおэいお яшё けёのの いすыыすг. ひおζの ひおё いшχせひягяけχのひ ыяχ гёёう ひす ひшχ のёθёшяけ いすыюэгяひэすгの すд ыяせせэгえの юёひξёёг いэせおёшひёπひ ягう せけяэгひёπひ けёひひёшの.

ыすшё いすыせけёπ ζのё すд のひяひэのひэいの いяг юё いすгいёэθёう, のζいお яの いすгのэうёшэгえ いすζгひの すд せяэшの すд けёひひёшの (うэえшяыの), ひшэせけёひの (ひшэえшяыの), ягう のす すг. ひおэの эの うすгё ひす せшすθэうё ыすшё эгдすшыяひэすг ひす ひおё いшχせひягяけχのひ, дすш эгのひягいё, ж ягう ζ гёяшけχ яけξяχの すいいζш ひすえёひおёш эг ひおяひ すшうёш эг ёгえけэのお, ёθёг ひおすζえお ж эひのёけд эの шяшё.

ひおё дэшのひ くгすξг шёいすшうёう ёπせけягяひэすг すд дшёжζёгいχ ягяけχのэの (эгうёёう, すд ягχ くэгう すд いшχせひягяけχのэの) ξяの えэθёг эг ひおё 9ひお いёгひζшχ юχ яけ-くэгうэ, яг яшяю せすけχыяひお, эг я ыягζのいшэせひ すг うёいэせおёшэгえ いшχせひすえшяせおэい ыёののяえёの.[3] эひ おяの юёёг のζええёのひёう ひおяひ いけすのё ひёπひζяけ のひζうχ すд ひおё жζш'яг дэшのひ юшすζえおひ ひす けэえおひ ひおяひ яшяюэい おяの я おいひд{ёгфすχχすζшのёけдэгおいひд}.いおяшяいひёшэのひэい けёひひёш дшёжζёгいχ.[4] эひの ζのё のせшёяう, ягう のэыэけяш のχのひёыの ξёшё ξэうёけχ ζのёう эг ёζшすせёяг のひяひёの юχ ひおё ひэыё すд ひおё шёгяэののягいё. юχ 1474, いэいいす のэыすгёひひя おяう ξшэひひёг я ыягζяけ すг うёいэせおёшэгえ ёгいшχせひэすгの すд けяひэг ягう эひяけэяг ひёπひ.[5] яшяюэい けёひひёш дшёжζёгいχ ягう я うёひяэけёう のひζうχ すд けёひひёш ягう ξすшう дшёжζёгいχ ягяけχのэの すд ひおё ёгひэшё юすすく すд жζш'яг яшё せшすθэうёう юχ эгひёけけяшёг яшひэいけёの.

я うэのяうθягひяえё すд яけけ ひおёのё яひひёыせひの ひす うёдёяひ дшёжζёгいχ いすζгひэгえ яひひяいくの эの ひおяひ эひ эгいшёяのёの いすыせけэいяひэすг すд юすひお ёгいэせおёшэгえ ягう うёいэせおёшэгえ, けёяうэгえ ひす ыэのひяくёの. дяыすζのけχ, я юшэひэのお дすшёэえг のёいшёひяшχ эの のяэう ひす おяθё шёфёいひёう ひおё せけяχдяэш いэせおёш юёいяζのё, ёθёг эд のいおすすけ юすχの いすζけう いすせё のζいいёののдζけけχ яの ξおёяひのひすгё ягう せけяχдяэш おяう のおすξг, "すζш яひひяいおéの いすζけう гёθёш けёяшг эひ!".

ひおё шすひすш ыяいおэгёの すд ひおё дэшのひ おяけд すд ひおё 20ひお いёгひζшχ (дすш ёπяыせけё, ひおё ёгэえыя ыяいおэгё) ξёшё ёののёгひэяけけχ эыыζгё ひす のひшяэえおひдすшξяшう дшёжζёгいχ ягяけχのэの. おすξёθёш, すひおёш くэгうの すд ягяけχのэの ("яひひяいくの") のζいいёののдζけけχ うёいすうёう ыёののяえёの дшすы のすыё すд ひおすのё ыяいおэгёの. けёひひёш дшёжζёгいэёの эг のせягэのお.

дшёжζёгいχ ягяけχのэの шёжζэшёの すгけχ я юяのэい ζгうёшのひягうэгえ すд ひおё のひяひэのひэいの すд ひおё せけяэгひёπひ けягえζяえё ягう のすыё せшすюけёы のすけθэгえ のくэけけの, ягう, эд せёшдすшыёう юχ おягう, ひすけёшягいё дすш ёπひёгのэθё けёひひёш юすすくくёёせэгえ. うζшэгえ ξすшけう ξяш ээ (ξξээ), юすひお ひおё юшэひэのお ягう ひおё яыёшэいягの шёいшζэひёう いすうёюшёяくёшの юχ せけяいэгえ いшすののξすшう せζωωけёの эг ыяфすш гёξのせяせёшの ягう шζггэгえ いすгひёのひの дすш ξおす いすζけう のすけθё ひおёы ひおё дяのひёのひ. のёθёшяけ すд ひおё いэせおёшの ζのёう юχ ひおё яπэの せすξёшの ξёшё юшёяくяюけё ζのэгえ дшёжζёгいχ ягяけχのэの, дすш ёπяыせけё, のすыё すд ひおё いすгのζけяш いэせおёшの ζのёう юχ ひおё фяせягёのё. ыёいおягэいяけ ыёひおすうの すд けёひひёш いすζгひэгえ ягう のひяひэのひэいяけ ягяけχのэの (えёгёшяけけχ эюы いяшう ひχせё ыяいおэгёшχ) ξёшё дэшのひ ζのёう эг ξξээ, せすののэюけχ юχ ひおё ζの яшыχ'の のэの. ひすうяχ, ひおё おяшう ξすшく すд けёひひёш いすζгひэгえ ягう ягяけχのэの おяの юёёг шёせけяいёう юχ いすыせζひёш のすдひξяшё, ξおэいお いяг いяшшχ すζひ のζいお ягяけχのэの эг のёいすгうの. ξэひお ыすうёшг いすыせζひэгえ せすξёш, いけяののэいяけ いэせおёшの яшё ζгけэくёけχ ひす せшすθэうё ягχ шёяけ せшすひёいひэすг дすш いすгдэうёгひэяけ うяひя.

搜索"{",发现了一个字符串"おいひд{ёгфすχχすζшのёけдэгおいひд}",格式符合"hctf{...}"。
可以猜测明文用了换字加密的方法替换成了别的字符。

在很久以前,破解换字加密是使用统计词频的方法,推理小说的开山鼻祖埃德加·爱伦·坡就在他的短篇小说《金甲虫》里利用词频和推理的方法破解了一张羊皮上的密码。在英文里最常见的字是e字,按照使用多少的次序排列是:eaoidhnrstuycfglmwbkpqxz。

不过现在破解换字加密比较快速的方法是暴力破解,通过遍历英文单词表,可以快速地得出结果。现在已经有软件实现了这个功能,在使用之前需要要先把这些特殊字符替换成英文字母。

先把上面的密文保存到clipher.txt文件里,编码为utf-8,再执行下面的python代码就可以把密文转成英文字母:

# -*- coding:utf-8 -*-

import string

#读取密文
ciphertext = open("clipher.txt").read().decode("utf-8")
#获取去除ascii字符外的密文字符集
charset = set(ciphertext) - set(string.printable)
#将加密的字符作为key,英文字母作为value拼成字典
dictionary = dict(zip(charset, string.letters))
#将加密的字符替换成英文字母
for key in dictionary:
    ciphertext = ciphertext.replace(key, dictionary[key])
print ciphertext

执行结果如下:

pc amjvzqcqsjypy, dmwbewcaj qcqsjypy py zow yzekj ud zow dmwbewcaj ud swzzwmy um Amuevy ud swzzwmy pc q apvowmzwhz. zow nwzouk py eywk qy qc qpk zu rmwqtpcA asqyypaqs apvowmy.

dmwbewcaj qcqsjypy py rqywk uc zow dqaz zoqz, pc qcj Apfwc yzmwzao ud gmpzzwc sqcAeqAw, awmzqpc swzzwmy qck aunrpcqzpucy ud swzzwmy uaaem gpzo fqmjpcA dmwbewcapwy. numwufwm, zowmw py q aoqmqazwmpyzpa kpyzmprezpuc ud swzzwmy zoqz py mueAosj zow yqnw dum qsnuyz qss yqnvswy ud zoqz sqcAeqAw. dum pcyzqcaw, Apfwc q ywazpuc ud wcAspyo sqcAeqAw, w, z, q qck u qmw zow nuyz aunnuc, gopsw l, b qck h qmw mqmw. sptwgpyw, zo, wm, uc, qck qc qmw zow nuyz aunnuc vqpmy ud swzzwmy (zwmnwk rpAmqny um kpAmqvoy), qck yy, ww, zz, qck dd qmw zow nuyz aunnuc mwvwqzy.[1] zow cucywcyw vomqyw "wzqupc yomkse" mwvmwywczy zow 12 nuyz dmwbewcz swzzwmy pc zjvpaqs wcAspyo sqcAeqAw zwhz.

pc yunw apvowmy, yeao vmuvwmzpwy ud zow cqzemqs sqcAeqAw vsqpczwhz qmw vmwywmfwk pc zow apvowmzwhz, qck zowyw vqzzwmcy oqfw zow vuzwczpqs zu rw whvsupzwk pc q apvowmzwhz-ucsj qzzqat.

pc q ypnvsw yeryzpzezpuc apvowm, wqao swzzwm ud zow vsqpczwhz py mwvsqawk gpzo qcuzowm, qck qcj vqmzpaesqm swzzwm pc zow vsqpczwhz gpss qsgqjy rw zmqcydumnwk pczu zow yqnw swzzwm pc zow apvowmzwhz. dum pcyzqcaw, pd qss uaaemmwcawy ud zow swzzwm w zemc pczu zow swzzwm h, q apvowmzwhz nwyyqAw auczqpcpcA cenwmuey pcyzqcawy ud zow swzzwm h guesk yeAAwyz zu q amjvzqcqsjyz zoqz h mwvmwywczy w.

zow rqypa eyw ud dmwbewcaj qcqsjypy py zu dpmyz auecz zow dmwbewcaj ud apvowmzwhz swzzwmy qck zowc qyyuapqzw Aewyywk vsqpczwhz swzzwmy gpzo zown. numw h'y pc zow apvowmzwhz zoqc qcjzopcA wsyw yeAAwyzy zoqz h aummwyvucky zu w pc zow vsqpczwhz, rez zopy py cuz awmzqpc; z qck q qmw qsyu fwmj aunnuc pc wcAspyo, yu h npAoz rw wpzowm ud zown qsyu. pz py ecsptwsj zu rw q vsqpczwhz l um b gopao qmw swyy aunnuc. zoey zow amjvzqcqsjyz nqj cwwk zu zmj ywfwmqs aunrpcqzpucy ud nqvvpcAy rwzgwwc apvowmzwhz qck vsqpczwhz swzzwmy.

numw aunvswh eyw ud yzqzpyzpay aqc rw aucawpfwk, yeao qy aucypkwmpcA aueczy ud vqpmy ud swzzwmy (kpAmqny), zmpvswzy (zmpAmqny), qck yu uc. zopy py kucw zu vmufpkw numw pcdumnqzpuc zu zow amjvzqcqsjyz, dum pcyzqcaw, b qck e cwqmsj qsgqjy uaaem zuAwzowm pc zoqz umkwm pc wcAspyo, wfwc zoueAo b pzywsd py mqmw.

zow dpmyz tcugc mwaumkwk whvsqcqzpuc ud dmwbewcaj qcqsjypy (pckwwk, ud qcj tpck ud amjvzqcqsjypy) gqy Apfwc pc zow 9zo awczemj rj qs-tpckp, qc qmqr vusjnqzo, pc q nqceyampvz uc kwapvowmpcA amjvzuAmqvopa nwyyqAwy.[3] pz oqy rwwc yeAAwyzwk zoqz asuyw zwhzeqs yzekj ud zow bem'qc dpmyz rmueAoz zu spAoz zoqz qmqrpa oqy q oazd{wciujjuemywsdpcoazd}.aoqmqazwmpyzpa swzzwm dmwbewcaj.[4] pzy eyw yvmwqk, qck ypnpsqm yjyzwny gwmw gpkwsj eywk pc wemuvwqc yzqzwy rj zow zpnw ud zow mwcqpyyqcaw. rj 1474, apaau ypnucwzzq oqk gmpzzwc q nqceqs uc kwapvowmpcA wcamjvzpucy ud sqzpc qck pzqspqc zwhz.[5] qmqrpa swzzwm dmwbewcaj qck q kwzqpswk yzekj ud swzzwm qck gumk dmwbewcaj qcqsjypy ud zow wczpmw ruut ud bem'qc qmw vmufpkwk rj pczwssqmwc qmzpaswy.

q kpyqkfqczqAw ud qss zowyw qzzwnvzy zu kwdwqz dmwbewcaj aueczpcA qzzqaty py zoqz pz pcamwqywy aunvspaqzpuc ud ruzo wcapvowmpcA qck kwapvowmpcA, swqkpcA zu npyzqtwy. dqnueysj, q rmpzpyo dumwpAc ywamwzqmj py yqpk zu oqfw mwiwazwk zow vsqjdqpm apvowm rwaqeyw, wfwc pd yaouus rujy auesk auvw yeaawyydessj qy gowqzyzucw qck vsqjdqpm oqk yougc, "uem qzzqaoxy auesk cwfwm swqmc pz!".

zow muzum nqaopcwy ud zow dpmyz oqsd ud zow 20zo awczemj (dum whqnvsw, zow wcpAnq nqaopcw) gwmw wyywczpqssj pnnecw zu yzmqpAozdumgqmk dmwbewcaj qcqsjypy. ougwfwm, uzowm tpcky ud qcqsjypy ("qzzqaty") yeaawyydessj kwaukwk nwyyqAwy dmun yunw ud zouyw nqaopcwy. swzzwm dmwbewcapwy pc yvqcpyo.

dmwbewcaj qcqsjypy mwbepmwy ucsj q rqypa eckwmyzqckpcA ud zow yzqzpyzpay ud zow vsqpczwhz sqcAeqAw qck yunw vmurswn yusfpcA ytpssy, qck, pd vwmdumnwk rj oqck, zuswmqcaw dum whzwcypfw swzzwm ruuttwwvpcA. kempcA gumsk gqm pp (ggpp), ruzo zow rmpzpyo qck zow qnwmpaqcy mwamepzwk aukwrmwqtwmy rj vsqapcA amuyygumk vellswy pc nqium cwgyvqvwmy qck meccpcA auczwyzy dum gou auesk yusfw zown zow dqyzwyz. ywfwmqs ud zow apvowmy eywk rj zow qhpy vugwmy gwmw rmwqtqrsw eypcA dmwbewcaj qcqsjypy, dum whqnvsw, yunw ud zow aucyesqm apvowmy eywk rj zow iqvqcwyw. nwaoqcpaqs nwzouky ud swzzwm aueczpcA qck yzqzpyzpaqs qcqsjypy (Awcwmqssj prn aqmk zjvw nqaopcwmj) gwmw dpmyz eywk pc ggpp, vuyyprsj rj zow ey qmnj'y ypy. zukqj, zow oqmk gumt ud swzzwm aueczpcA qck qcqsjypy oqy rwwc mwvsqawk rj aunvezwm yudzgqmw, gopao aqc aqmmj uez yeao qcqsjypy pc ywaucky. gpzo nukwmc aunvezpcA vugwm, asqyypaqs apvowmy qmw ecsptwsj zu vmufpkw qcj mwqs vmuzwazpuc dum aucdpkwczpqs kqzq. 

然后下载Decrypto软件,该软件会自动通过英文字典暴力破解密文,下载地址为http://windows.lisisoft.com/apps/594339-decrypto-for-linux.html
解压后cd到该目录,执行java -jar decrypto.jar就可以运行了。

把密文粘贴到Cipher Text文本框里,点击Solve按钮就可以得出结果了:

在明文里可以找到key:hctf{enjoyyourselfinhctf}

标签: , ,
本文链接: HCTF网络安全大赛——FuckMe
版权所有: 破博客, 转载请注明本文出处。

2个评论

  1. 留芳博客
    2014/12/04 21:26:56

    这个主题很不错啊!

  2. QQ好友
    2014/11/19 17:06:22

    :mrgreen: 顶~我最爱的python~ :grin:

发表评论

您的昵称: *

您的邮箱: * (显示gravatar头像)

联系方式: