MISC

来都来了

题目

我的解答:

给了一个加密压缩包,010查看发现是伪加密,修改如下两部分:

头部和尾部的09分别改为00

然后解压得到:

尝试base64解码得到很零散的结果。。大眼一看不知道是什么。

我们把结果复制到文本里观察一下发现它这个结果布局很可疑,之前做过类似的题(也碰巧了)。

本质就是需要对文本进行一个放缩来实现的。

我们把文本内容进行缩小一定比例便可以看到flag(我这里缩小到了40%)

最后flag

flag{cp2ae315-eef4-3fra-a768-cd9xb19cdk4e}

Honor

题目

我的解答:

题目给了一张图片,010分析发现存在第二张图片

卡里分离

经过隐写尝试发现是stegdetect存在隐写

  1. stegdetect.exe -tjopi -s 10.0 00001995.jpg
  2. 00001995.jpg : jphide(**)

然后我们使用stegseek(rockyou字典)进行爆破

  1. stegseek 文件名 rockyou.txt

得到密文

f6l3-a6ag3c}{-bc4c5e28-e4649c76b0-707e6069

随波逐流直接梭(W型栏栅)

flag{424c076e-768c-3636-acb5-4676900b9eec}

本题还有一种做法参考:https://blog.csdn.net/Myon5/article/details/130877318

芙宁娜

题目

我的解答:

看到图片上方print有一串base64

  1. ZmxhZ3tiYzgzOTRhYS03ZTMyLTQ3ZTgtYTlmZC0xYmY2ODNhZg==

提取出来解码得到

  1. flag{bc8394aa-7e32-47e8-a9fd-1bf683af

还差一部分,我们使用exiftool(卡里)查看图片遮挡的hex部分,拼接一下

  1. exiftool misc01.png
  1. 330d0d0a454a4b6554010000a30000000000000000000000000300000040000000734a000000641064016c105e115a010067640064026c026d035a036d045a04017d640064036c056d065a0601006404640584005a0764065a0864075a0965076509650883025a0a650b650a83010100640853002909e900000000a951234e290cda0d43727970746f2e4369706865727203000000da1343727970746f2e5574696c2e50616464696e6772050000007206000000da0d43727970746f2e52616e646f6d7208000000720c000000720f000000da0e656e637279707465645f74657874da0e6465637279707465645f74657874da057072696e747213000000721300000072130000007214000000da083c6d6f64756c653e01000000f30e0000000c0110010c030808040404010a0274da066465636f64652905da0a63697068657274657874da036b6579da026976da06636970686572da09706c61696e74657874a9007213000000fa0a73616e64626f782e7079720c00000006000000f30a00000000010e010e0110011201720c000000f310000000d10db3e1e372e024585b5c1fb1f78a6bf3200000004b3ed23879a9de921d08154aa6b51c3d323087c178ca7152451241ad7f4a

hex解码得到pyc信息

保存为pyc文件,使用stegosaurus隐写得到flag【github上有安装教程】

8e8f}

拼接得到完整flag

flag{bc8394aa-7e32-47e8-a9fd-1bf683af8e8f}

CRYPTO

我看看谁还不会RSA

题目

  1. import gmpy2
  2. import secret
  3. m = secret.flag
  4. p=8666789885346075954502743436174521501697
  5. q=2449101960789395782044494299423558347143
  6. n = p*q
  7. phin = (p-1)*(q-1)
  8. e=37777
  9. d = gmpy2.invert(e,phin)
  10. c = pow(m,d,n)
  11. print(c)
  12. # c = 8232151627233115772131180151146951323147507324390914513031444555762539986162650

我的解答:

签到题直接梭(注意e和d换位置了)

  1. import gmpy2
  2. from Crypto.Util.number import long_to_bytes
  3. p=8666789885346075954502743436174521501697
  4. q=2449101960789395782044494299423558347143
  5. c= 8232151627233115772131180151146951323147507324390914513031444555762539986162650
  6. e = 37777
  7. n = p*q
  8. phi = (p-1) * (q-1)
  9. d = gmpy2.invert(e, phi)
  10. m = pow(c, e, n)
  11. print(long_to_bytes(m))
  12. #flag{r5a_Who_w0nt}

hakiehs

题目

我的解答:

古典签到题,分别是:

分别对应图片直接找即可

最后得到flag:

flag{linkzeldaganon}

Font

题目

我的解答:

给了一张图片,查看属性得到

  1. ◎◐♬¤☾♀☹☽§♪℗♩♪♂¤☒♫〼♪۞◐§◎◐◑☼♭♪√
  2. ◑☼√♬◎〼♂√۞☽♩◑√♩☒♂☹♪

在浏览器上可发现一句英文描述该图片信息

theQuickbrownfoxjumpsoverthelazydog

发现与◎◐♬¤☾♀☹☽§♪℗♩♪♂¤☒♫〼♪۞◐§◎◐◑☼♭♪√一一对应,正好是35个

于是便有表:

√:g;♪:0;  d;  y;♭  z;☼  a;◑  l;◐ e; h;◎  t;§  r;◐  e;۞  v;♪  o;〼  s;♫ p;☒  m;¤  u;♂  j; x;♪ o;  f;♩  n;℗  w;♪ o;§  r;☽  b;☹  k;♀  c;☾  i;¤ u;♬ q;◐  e; h;◎  t

然后再映射◑☼√♬◎〼♂√۞☽♩◑√♩☒♂☹♪得到结果:

flag{qtsyjfgvbndhflhgfnmjfhko}

babyrsa

题目

四部分rsa组成

我的解答:

考点:低加密指数攻击,Hastad 的广播攻击,共因子攻击,共模攻击

脚本如下:

  1. import random
  2. from gmpy2 import *
  3. from Crypto.Util.number import *
  4. def get_pq(n, e, d):
  5. while True:
  6. k = e * d - 1
  7. g = random.randint(3, n-2)
  8. while k % 2 == 0:
  9. k = k // 2
  10. temp = gmpy2.powmod(g, k, n) - 1
  11. if gmpy2.gcd(temp, n) > 1 and temp != 0:
  12. return gmpy2.gcd(temp, n)
  13. n3 = 12051274697693290706124990444806864448117509935274260318752465436559967219137920860124919553314211368508765502664900094082142706661617704447394483260270502959912432422283933156562557829059776645511526175946830797944396210200593641364373812907632258856908808586745953996838876585148477089130920840126604759803726479860720545937822034855566021695483054110183583988907008833874797365887064421431419502425185380984500547228350047311439447317962190370712239063737356496598392557365981551946830095461329125051776103612935060093311720140311238109431293968822563969151282495204180885021489513059495503670571143636655452716469
  14. ed = 69658816925700544629283247962254001698454915826363324167248687841428229657908807412264705772690024925952057696968940793220409087134042992738307862734366593456917584994891634588967704564463461140666162771378448630149297796122822465032888385447250081148319964251299583828999913167876190841429498106534206930794855355577715448350958330453012916812935545376223554657010675616333737562871829058955712614717967062388097830554769074812791090306089948504126897656071909647674533441922466703825370972386827731262770792101862343930584334617555653870995907311492428224015386618103475028606681032449205172767950706359755588301624951536442947704335651172215907781436880482476424688324617047897192103372008662354672541395688790786001
  15. def factorize(n, e_d_1):
  16. g = 2
  17. while True:
  18. k = e_d_1
  19. while not k & 1:
  20. k //= 2
  21. p = int(gcd(pow(g, k, n) - 1, n)) % n
  22. if p > 1:
  23. return p, n // p
  24. g = int(next_prime(g))
  25. e_d_1 = 69658816925700544629283247962254001698454915826363324167248687841428229657908807412264705772690024925952057696968940793220409087134042992738307862734366593456917584994891634588967704564463461140666162771378448630149297796122822465032888385447250081148319964251299583828999913167876190841429498106534206930794855355577715448350958330453012916812935545376223554657010675616333737562871829058955712614717967062388097830554769074812791090306089948504126897656071909647674533441922466703825370972386827731262770792101862343930584334617555653870995907311492428224015386618103475028606681032449205172767950706359755588301624951536442947704335651172215907781436880482476424688324617047897192103372008662354672541395688790786001-1
  26. c = 11863157764887938780824579679371643447225713456937713139455448355138750546048767357754685394264878457427548420317960140760043591368197340631979346116915377490755707128510486267310697447660165717832704288859433884564622568136142152559210196202042032186946621446044322226115326468571388229369925749537907791870951835832402887333436573697535805221699431529443630706171928243718095829047868200440437300914623880058122845868296335686759626119932797809303358591871321868677694716513342508348424566444564091188283096388392533118302463885528323186673006330284158603096338578778923136251906089784179273618683529795470632440395
  27. p = 93354166280947167833539683096118798106084867596287020276555488653205872987859801746684254263516217114159304058632013835768299155560709849272390696591877663191582507890284591155921659833532148373169277734804581509509984633376135064176560954186526127549825077504637255397234250633719215364937275738700717660719
  28. q = 129091985690550359973833790091146198395778087257743694979450863523549458554652043962254166670266232149752471741954493310376155128942738655573094015353022428764487467130494383995010146802193442576035047727380869508672182718103620025385942937912806529910521900966008956204938991394692250823238247503135083004251
  29. e = 0x10001
  30. d = invert(e, (p-1)*(q-1))
  31. n4 = pow(c, d, n3)
  32. n4 = 11724141470213031356579859333168289639615622686202980979147607414099628001927870503704074638296450320671327227133196902015218180118453034164398442054531719756804900252542655705446585040034584849281570288775609323003673814723139607853980514502247385558743748114789081152782266165165126809308084620475099962391124207276377764447000610437375294321346891295581931069104337837729567504989594256840998015013333363391570945176593563683549152526955378806762080716974470953471818980944589068608135288232240285849862793197669031466836209176855431992367895720325301943048882628754497306752780016493475080579333402247446437049047
  33. e = 65537
  34. n = n4
  35. c = 2816736056550831653973157899506262168480964803166756293572880189176577881630790000276999096206812411096080372881789954172637160950190474795330245979531766081159871312457936325666134181134500105905111359723389919329114623407411163535294830491463973203982802730253713465016495675821972476067998011690656116432599713401287450098365165426916405282214433290711569156342791601423305946953973954621413878573603456700590631970960732956331418205770421655635464391354229333745390853601777279128370563052468332181418652663994521837627330594810890259573212379994374279868029267872371446355933222697100056083650060776007666183073
  36. hint = 1206808598909242535223376202389156773475195509201912000607981432006398598528783704808089821819011267947458676834452259929741273957718095195986027224077744723815196776751694084725008944111685380089765819072640641124176452132485301158877006786449055072190022151463977004480696273437839703625450503113220076272034783199115132878674594771158660499906314896727517373004222806580432047871587589294550579633876505236901173980743458637972423194533488244328660796974432193229150042095384808125939545211811637021512657530104465354340731623159501847989090953187756127021193637464098143884758072922518945377684605967349065921691
  37. p = GCD(hint - pow(2019, n, n), n)
  38. q = n // p
  39. d = inverse(e, (p-1)*(q-1))
  40. print(long_to_bytes(pow(c, d, n)))
  41. #flag{y0U_R_th3_ch0sen_on3_1n_the_field_of_Crypt0gr4phy}

2023河南省第五届“金盾信安杯”CRYPTO MISC 复现的更多相关文章

  1. 第一届“信安杯”部分WriteUp

    第一届"信安杯"部分WriteUp------OooooohLeeGay队! 小队成员(按姓氏):郭泽坤.李江川.赵乐祺 以下这部分是做出来的 2019.11.23-24 ++Re ...

  2. 信安实验-RC4加密算法

    RC4加密算法 算法具体就不介绍了,应信安老师要求整理及掌握. #include<bits/stdc++.h> using namespace std; const int N=256; ...

  3. 1284-Primitive Roots,学信安的路过

                                                      Primitive Roots 此题通过率如此之高,料想不会很难,但是再简单小菜还是不会.. 嗯,下 ...

  4. 信安周报-第02周:SQL基础

    信安之路 第02周 Code:https://github.com/lotapp/BaseCode/tree/master/safe 前言 本周需要自行研究学习的任务贴一下: 1.概念(推荐) 数据库 ...

  5. 信安周报-第04周:系统函数与UDF

    信安之路 第04周 前言 这周自主研究的任务如下: 附录解释: SQLi的时候应对各种限制,可以使用数据库自带的系统函数来进行一系列变换绕过验证 eg:字符串转换函数.截取字符串长度函数等 注入的时候 ...

  6. 信安周报-第03周:DB系统表

    信安之路 第03周 前言 这周自主研究的任务如下: 任务附录的解释: 文件读写在通过数据库注入漏洞获取webshell的时候很有用 系统库和表存放了很多关键信息,在利用注入漏洞获取更多信息和权限的过程 ...

  7. (课内)信安数基RSA-level1&&2

    注:(不求甚解的)攻击原理 以及(浅层的)算法解释已在图片中给出:文字部分主要讲一些python语法的东西. 代码需要库 gmpy2和libnum:加密算法还需要Crypto.Util.number ...

  8. [信安Presentation]一种基于GPU并行计算的MD5密码解密方法

    -------------------paper--------------------- 一种基于GPU并行计算的MD5密码解密方法 0.abstract1.md5算法概述2.md5安全性分析3.基 ...

  9. [信安presentation]Fight against GFW

    Section1:加密 加密算法分为:对称加密算法.非对称加密算法.Hash 1.1对称加密算法 加密解密使用相同的密钥 eg:DES,AES,RC4,RC5,Triple DES 缺点:1.因为加密 ...

  10. 河南省第五届ACM程序设计大赛

    D:   遥 控 器 #include<cstdio> #include<cstring> #include<iostream> #include<algor ...

随机推荐

  1. daemonset应用创建了,但是没有pod被调度起来

    环境: k8s版本1.25.2  一个master  两个node节点 集群节点全部允许调度(无污点),且资源充足. 操作系统版本: Ubuntu22.01 排查思路: 查看kubelet 日志,和c ...

  2. gitbook生成静态页面不跳转

    gitbook页面不跳转 现在可以在localhost:4000/查看自己的网页了.而且生成的网页存在_book文件夹中,下次点击 _book文件夹中的index.html就能打开网页,内容无更新,就 ...

  3. SQL函数Intersect,except整理

    1.  集合函数使用的规则 ①   每个集合要求列数量相同,列顺序相同. ②   每个集合显示的列,要求数据类型一致或者可隐式转换成同一数据类型 ③   最终集合列名称与第一个集合的列名称一致  2. ...

  4. MySQL——MySQL面试题

    文章目录 数据库基础知识 为什么要使用数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 MySQL的binlog有有几种录入格式?分别有什么区别? 数 ...

  5. ERROR: <bits/stdc++.h>, 'cstdalign' file not found, running C++17

    Modified 1 year, 1 month ago Viewed 9k times 4 I'm trying to run a piece of code in Visual Studio Co ...

  6. MySQL的sql_mode设置导致报错1292

    在MySQL8.0的一个PXC集群中,默认的sql_mode设置如下: select @@sql_mode; +-------------------------------------------- ...

  7. 高可用mongodb集群(分片+副本):用户权限配置

    目录 ■ 创建副本集认证的key文件 ■ 修改配置文件指定keyfile ■ 重新启动节点 ■ 创建帐号和认证 ■ 用管理员帐号可查看整体的分片情况 ■ 用普通帐号访问数据 ■ 客户端连接多个mong ...

  8. go 流程控制之switch 语句介绍

    go 流程控制之switch 语句介绍 目录 go 流程控制之switch 语句介绍 一.switch语句介绍 1.1 认识 switch 语句 1.2 基本语法 二.Go语言switch语句中cas ...

  9. VSCode使用JavaScript刷LeetCode配置教程(亲试可以!)

    账号秘密都对,但是缺登录不成功的问题 诀窍可能是: 在属性设置中把LeetCode版本改成cn.点击LeetCode配置,修改Endpoint配置项,改成leetcode-cn,再次尝试登陆即可. 大 ...

  10. 如何调用Metabase开放API

    简介: Metabase是什么? 在传统企业的数据可视化业务中,通常需要从需求到审批,再到安排开发人员和排期,还要开发人员撰写代码最后再做导出.流程繁琐,参与的人员也多,往往需要几天甚至几周的时间! ...