[AFCTF2018]花开藏宝地

附件:

前面4个都是加密文件,第5个给了个空文件。

题面.txt

第80804238007977405688648566160504278593148666302626415149704905628622876270862865768337953835725801963142685182510812938072115996355782396318303927020705623120652014080032809421180400984242061592520733710243483947230962631945045134540159517488288781666622635328316972979183761952842010806304748313326215619695085380586052550443025074501971925005072999275628549710915357400946408857号藏宝图我把我的宝藏都藏在了那里!
那个神秘的地方!
于是我把藏宝图分成了5份,交给五位贤者让他们帮我妥善保管,并且只要搜集3份就可以获得宝藏的地址。第一位贤者将藏宝图放进时空门中说道:
“那么口令就是我的生日吧,那可是个好数字呢。”第二位贤者将藏宝图放进宝箱,【小】声念着自己的名字锁上了宝箱。第三位贤者将藏宝图施上咒语丢进大海:“只要【大】声喊出那句咒语就可以把水驱逐!”第四位贤者找了个破锁锁上了宝箱,狡黠地笑着:“谁知道它是坏的呢?”第五位贤者给藏宝图裹上了隐身衣,放入了一个匣子里据说,只有拥有【智慧】与【力量】就可以获得宝藏了呢!~
你是这样的勇者吗?

第一个提示是生日,应当为8位数字密码,直接爆破:

得到密码:

19260817

打开加密文件得到:

x1 = 305345133911395218573790903508296238659147802274031796643017539011648802808763162902335644195648525375518941848430114497150082025133000033835083076541927530829557051524161069423494451667848236452337271862085346869364976989047180532167560796470067549915390773271207901537847213882479997325575278672917648417868759077150999044891099206133296336190476413164240995177077671480352739572539631359
m1 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820813413

第二个提示是小写名字:

得到:

alice

打开加密文件得到:

x2 = 152012681270682340051690627924586232702552460810030322267827401771304907469802591861912921281833890613186317787813611372838066924894691892444503039545946728621696590087591246339208248647926966446848123290344911662916758039134817404720512465817867255277476717353439505243247568126193361558042940352204093381260402400739429050280526212446967632582771424597203000629197487733610187359662268583
m2 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820818553

第三个提示是大写咒语:

得到:

AVADA

打开加密文件得到:

x3 = 40952412095267791829743119118333311932687870987919948671780408726886151430242690997238831410249436653299224291445012397813221016909468630372862610415470277301591535416193017906909638241212666990959976187895288689640250810487806568164431359887246760313154046201720715301307811951233077581047872827004824833876458687145628724339714212107812941785880896399800008924818580623979723496070665230
m3 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820819351

第四个提示伪加密:

改成:

即可打开加密文件得到:

x4 = 100459779913520540098065407420629954816677926423356769524759072632219106155849450125185205557491138357760494272691949199099803239098119602186117878931534968435982565071570831032814288620974807498206233914826253433847572703407678712965098320122549759579566316372220959610814573945698083909575005303253205653244238542300266460559790606278310650849881421791081944960157781855164700773081375247
m4 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820820091

第五个提示ntfs隐写:

使用ntfsstreamseditor或AlternateStreamView进行扫描,起初怎么扫都扫不出流文件,看了大佬的wp发现要用WinRAR解才能扫描出来,试了一下,果不其然。。。。

x5 = 230502064382947282343660159791611936696520807970361139469603458689311286041516767875903549263861950740778705012699983268093626403307298415066249636346303539570207577050391796770068203937723627361951969413683246596072925692670365490970847825269581004483964261491917680759091791653759514213188778401968676433284753781006738293752440186858616315727565803777032119737689210471541053061940547213
m5 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820822249

附上ntfsstreamseditor的下载地址和AlternateStreamView的下载地址以及WinRAR的下载地址

得到的五对(x,m)想到了中国剩余定理,看了大佬的wp之后知道是门限方案。

题目提示“花开(bloom)”暗指Asmuth-Bloom门限方案

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

p即为第几号藏宝图

p = 80804238007977405688648566160504278593148666302626415149704905628622876270862865768337953835725801963142685182510812938072115996355782396318303927020705623120652014080032809421180400984242061592520733710243483947230962631945045134540159517488288781666622635328316972979183761952842010806304748313326215619695085380586052550443025074501971925005072999275628549710915357400946408857

python脚本:

a1 =100459779913520540098065407420629954816677926423356769524759072632219106155849450125185205557491138357760494272691949199099803239098119602186117878931534968435982565071570831032814288620974807498206233914826253433847572703407678712965098320122549759579566316372220959610814573945698083909575005303253205653244238542300266460559790606278310650849881421791081944960157781855164700773081375247
d1 =347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820820091
a2 =305345133911395218573790903508296238659147802274031796643017539011648802808763162902335644195648525375518941848430114497150082025133000033835083076541927530829557051524161069423494451667848236452337271862085346869364976989047180532167560796470067549915390773271207901537847213882479997325575278672917648417868759077150999044891099206133296336190476413164240995177077671480352739572539631359
d2 =347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820813413
a3 = 152012681270682340051690627924586232702552460810030322267827401771304907469802591861912921281833890613186317787813611372838066924894691892444503039545946728621696590087591246339208248647926966446848123290344911662916758039134817404720512465817867255277476717353439505243247568126193361558042940352204093381260402400739429050280526212446967632582771424597203000629197487733610187359662268583
d3 =347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820818553dd = d1*d2*d3
t1 = pow(dd//d1,d1-2,d1)
assert(t1*d2*d3%d1 == 1)
t2 = pow(dd//d2,d2-2,d2)
assert(t2*d1*d3%d2 == 1)
t3 = pow(dd//d3,d3-2,d3)
assert(t3*d2*d1%d3 == 1)
s = a1*t1*d2*d3+a2*t2*d1*d3+a3*t3*d1*d2
p = 80804238007977405688648566160504278593148666302626415149704905628622876270862865768337953835725801963142685182510812938072115996355782396318303927020705623120652014080032809421180400984242061592520733710243483947230962631945045134540159517488288781666622635328316972979183761952842010806304748313326215619695085380586052550443025074501971925005072999275628549710915357400946408857
s %= dd
# print(hex(s))
s %= p
s = hex(s)[2:]
flag = list(bytearray.fromhex(s))
for i in flag:print(chr(i),end="")

运行得到:

A treasure map is a map that marks the location of buried treasure, a lost mine, a valuable secret or a hidden locale. So flag is afctf{1sn't_s0_int3Resting}.

所以flag就是:

afctf{1sn't_s0_int3Resting}

另一个大佬的解密脚本:

from Crypto.Util.number import *x1 = 305345133911395218573790903508296238659147802274031796643017539011648802808763162902335644195648525375518941848430114497150082025133000033835083076541927530829557051524161069423494451667848236452337271862085346869364976989047180532167560796470067549915390773271207901537847213882479997325575278672917648417868759077150999044891099206133296336190476413164240995177077671480352739572539631359
m1 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820813413
x2 = 152012681270682340051690627924586232702552460810030322267827401771304907469802591861912921281833890613186317787813611372838066924894691892444503039545946728621696590087591246339208248647926966446848123290344911662916758039134817404720512465817867255277476717353439505243247568126193361558042940352204093381260402400739429050280526212446967632582771424597203000629197487733610187359662268583
m2 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820818553
x3 = 40952412095267791829743119118333311932687870987919948671780408726886151430242690997238831410249436653299224291445012397813221016909468630372862610415470277301591535416193017906909638241212666990959976187895288689640250810487806568164431359887246760313154046201720715301307811951233077581047872827004824833876458687145628724339714212107812941785880896399800008924818580623979723496070665230
m3 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820819351
x4 = 100459779913520540098065407420629954816677926423356769524759072632219106155849450125185205557491138357760494272691949199099803239098119602186117878931534968435982565071570831032814288620974807498206233914826253433847572703407678712965098320122549759579566316372220959610814573945698083909575005303253205653244238542300266460559790606278310650849881421791081944960157781855164700773081375247
m4 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820820091
x5 = 230502064382947282343660159791611936696520807970361139469603458689311286041516767875903549263861950740778705012699983268093626403307298415066249636346303539570207577050391796770068203937723627361951969413683246596072925692670365490970847825269581004483964261491917680759091791653759514213188778401968676433284753781006738293752440186858616315727565803777032119737689210471541053061940547213
m5 = 347051559622463144539669950096658163425646411435797691973701513725701575100810446175849424000000075855070430240507732735393411493866540572679626172742301366146501862670272443070970511943485865887494229487420503750457974262802053722093905126235340380261828593508455621667309946361705530667957484731929151875527489478449361198648310684702574627199321092927111137398333029697068474762820822249
x = [x1, x2, x3]
m = [m1, m2, m3]p = 80804238007977405688648566160504278593148666302626415149704905628622876270862865768337953835725801963142685182510812938072115996355782396318303927020705623120652014080032809421180400984242061592520733710243483947230962631945045134540159517488288781666622635328316972979183761952842010806304748313326215619695085380586052550443025074501971925005072999275628549710915357400946408857
_m = 30876976368086692285558250036880406604917636310753345643851443311621560437660524037995161241308442036379469552063806443002181224753860983594447977830810170201541624128881271226685934621113368082630765925118134834325144756352463621990490982075331418652446742943160748740071265060573720998451298794523954529649159404329795707381755731242527536198482385928070127829060902084889604193497570570666454987614622192127799628914721314092255874223423836747903381309023217090349405981222877770048197886205341954349001378037043986104483577949386469631664327951317484659223470641035291599627126044129328116138456709005193822302098284284434695284085356908092040649892546733042792734012082009931947240120686605195896740999916349434920823829741045025395035620492258352790658333703219086923204432403214249952956353508095035923172933873864816804322018707765332798796032165097476986184856220405455000518836225976464413270841989241690755609748164301706451818506613253021035612120841991720836023832195539291404838851109196963155279844798918459609655314345181964484399235640350608446994546531900893730936604087604005537829207389277430878456169931854713629162410944416019365035094299249030737
print(long_to_bytes(_m % p))

[AFCTF2018]花开藏宝地相关推荐

  1. 父母已身作则,静待花开

    身教重于言传,父母不看书,凭什么要逼着孩子看书?如果你不能够有耐心去静待花开的时候,你也绝不可以去拔苗助长. 家长其实很多的要求脱离了孩子当前认知的局限,我们永远是错位.让孩子在孩玩的时候去各种书山字 ...

  2. TCL:花开刹那还是浴火重生

    TCL:花开刹那还是浴火重生 [url]http://www.sina.com.cn[/url] 2008年04月07日 15:24  民营经济报 本报记者 叶键 TCL3月份公布了2007年财报,公 ...

  3. 待到凤凰花开季,惟愿前程皆似锦

    为什么一个老板再难,也不会轻言放弃?而一个员工做得不顺就想逃走? 为什么一对夫妻再吵再大矛盾,也不会轻易离婚?而一对情侣常为一些很小的事就分开了? 说到底,你在一件事,一段关系上的投入多少,决定你能承 ...

  4. 心田花开:解锁各类语文阅读理解答题技巧

    在语文考试中,分值最大的除了作文就是阅读,中学生对语文阅读的头疼指数不亚于作文.想提高写作技巧可以通过大量的阅读,收集大量的素材,写作水平就不会太差. 但是阅读不一样,阅读不仅要紧扣题目意思,还要讲究 ...

  5. 【程序员的爱情】彼岸花开谁又种下了执念

    彼岸花开,谁又种下了执念.有一种爱情相爱却不能相守,有些人倔强的等待,只是为了心中的执念--   "圣女"语溪坐在河边的长椅上,消瘦的身躯,乌黑长发,遮不住她内心的忧愁,美丽的大眼 ...

  6. 【重点】心田花开:三年级教材知识点汇总

    临近期末考试,备考对于学生们来说就是重中之重.经常有人开玩笑说:期末考试的成绩决定了过年的生活质量度.确实如此,所以期末复习就必不可少了,想要取得好的语文考试成绩,除了平日里的努力以外,还需要进行汇总 ...

  7. 三年级语文课外阅读赏析——心田花开

    想要读懂一段文字,就必须要品味其意境.张晓风的一篇散文<我喜欢>,每段都以"我喜欢"开头,一气呵成,赋予该篇散文美的意境,全文共有12个自然段,作者每一段起头都是&qu ...

  8. 只要心存美好便是岁月花开时

    白落梅说:在这喧闹的凡尘,我们都需要有适合自己的地方,用来安放灵魂.也许是一座安静宅院,也许是一本无字经书,也许是一条迷津小路.只要是自己心之所往,都是驿站,为了将来起程不再那么迷惘. 越来越喜欢安静 ...

  9. 计算机基础知识赏花主观题,春光无限好,正是花开时 快收好这份赏花指南!...

    出品:科普中国 制作:李慧 赵淼 监制:中国科学院计算机网络信息中心 3月,春暖花开,一切都充满生机!"等闲识得东风面,万紫千红总是春."腊梅.桃花等已傲然盛放.我国地域辽阔,东西 ...

最新文章

  1. python相对路径库_如何最简单、通俗地理解Python的搜索路径、相对路径、绝对路径?...
  2. OpenCASCADE可视化:3D演示之图形基元
  3. 怎么通过media foundation将图像数据写入虚拟摄像头_千倍成本压缩!特斯拉开发虚拟激光雷达,替代最贵自动驾驶传感器...
  4. Kubernetes-PersistentVolume(PV)介绍(八)
  5. centos8 阿里云yum源_CentOS7更换阿里yum源
  6. Mysql中怎样创建和使用存储过程
  7. [Publish AAR To Maven] 使用GPG对文件进行签名加密
  8. 利用FPGA实现出租车计费系统
  9. Log4j2 日志级别
  10. 财富游戏道具:保险篇
  11. 请领导批阅文件怎么说_汇报措辞:你懂得怎样向领导汇报吗(审阅、审批、批阅、批示、查阅)?...
  12. BatchConfigTool批量配置工具
  13. vul/0day/shellcode/payload/poc/exp
  14. 【多模态】《Visual7W: Grounded Question Answering in Images》论文阅读笔记
  15. Docker进阶篇教程 docker swarm弹性、动态扩缩容
  16. Mac 升级 Bash 到最新版本
  17. 摊牌了,做为前端,我经常在用的15个国外网站
  18. mgo.v2无法连接MongoDB 5.0.x
  19. 解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题
  20. 男式西服的三大色系介绍

热门文章

  1. python2.7使用scapy发送syn实例
  2. Python线程池与进程池
  3. 数据库——JDBC基本连接步骤
  4. 用“牛顿迭代法”求根号2的近似值
  5. ubuntu12.04 rythonbox不支持mms电台
  6. 「GoCN酷Go推荐」go语言位操作库 — bitset
  7. Flashnbsp;AS3nbsp;学习9nbsp;-nbsp;时钟的制作
  8. 机器学习评价指标(1)——灵敏度(sensitivity)/查准率/召回率(Recall)/和特异度(Specificity)
  9. 用html实现模糊效果,纯html css实现动态高斯模糊效果(第二弹),实现导航条动态模糊内容...
  10. RK3308设置GPIO的方法