首页 > 其他分享 >NSSCTF—Crypyo "第一页" ԅ(≖‿≖ԅ) (待续……)

NSSCTF—Crypyo "第一页" ԅ(≖‿≖ԅ) (待续……)

时间:2024-03-21 19:34:24浏览次数:23  
标签:待续 Crypyo 平等 诚信 flag str print 敬业 NSSCTF

[鹤城杯 2021]easy_crypto

题目:

公正公正公正诚信文明公正民主公正法治法治诚信民主自由敬业公正友善公正平等平等法治民主平等平等和谐敬业自由诚信平等和谐平等公正法治法治平等平等爱国和谐公正平等敬业公正敬业自由敬业平等自由法治和谐平等文明自由诚信自由平等富强公正敬业平等民主公正诚信和谐公正文明公正爱国自由诚信自由平等文明公正诚信富强自由法治法治平等平等自由平等富强法治诚信和谐

解题:

社会主义价值观解码,+.+

flag{IlUqU9O5guX6YiITsRNPiQmbhNRjGuTP}

 

 

[强网拟态 2021]拟态签到题

题目:

ZmxhZ3tHYXFZN0t0RXRyVklYMVE1b1A1aUVCUkNZWEVBeThyVH0=

题解:

后面有等号,大概率base加密,按照密文的组成数字和字母范围大概是base64

大概啊都是大概,我基础不太行,(#^.^#)

flag{GaqY7KtEtrVIX1Q5oP5iEBRCYXEAy8rT}

 

 

[SWPUCTF 2021 新生赛]crypto8

题目:

73E-30U1&>V-H965S95]I<U]P;W=E<GT`

题解:

有< > = 等符号和数字还有字母组成,是Uuncode编码,嘎嘎嘎,还好我先去看了遍编码 *^-^*

 

NSSCTF{cheese_is_power}

 

 

[SWPUCTF 2021 新生赛]crypto7

题目:

69f7906323b4f7d1e4e972acf4abfbfc,得到的结果用NSSCTF{}包裹。

题解:

MD5加密,别问理由,不知道嘞!这不是有标签提示么。

NSSCTF{md5yyds}

 

 

[SWPUCTF 2021 新生赛]crypto6

题目:

var="************************************"
flag='NSSCTF{' + base64.b16encode(base64.b32encode(base64.b64encode(var.encode()))) + '}'
print(flag)

小明不小心泄露了源码,输出结果为:4A5A4C564B36434E4B5241544B5432454E4E32465552324E47424758534D44594C4657564336534D4B5241584F574C4B4B463245365643424F35485649534C584A5A56454B4D4B5049354E47593D3D3D,你能还原出var的正确结果吗?

题目:

审计代码,需要进行base64,base32,base16解密

需要解密的密文是:4A5A4C564B36434E4B5241544B5432454E4E32465552324E47424758534D44594C4657564336534D4B5241584F574C4B4B463245365643424F35485649534C584A5A56454B4D4B5049354E47593D3D3D

采用魔法棒一把梭,哎嘿

NSSCTF{5e110989-dc43-1bd3-00b4-9009206158fe}

 

 

[SWPUCTF 2021 新生赛]ez_caesar

题目:

import base64
def caesar(plaintext):
    str_list = list(plaintext)
    i = 0
    while i < len(plaintext):
        if not str_list[i].isalpha():
            str_list[i] = str_list[i]
        else:
            a = "A" if str_list[i].isupper() else "a"
            str_list[i] = chr((ord(str_list[i]) - ord(a) + 5) % 26 + ord(a) or 5)
        i = i + 1

    return ''.join(str_list)

flag = "*************************"
str = caesar(flag)
print(str)

#str="U1hYSFlLe2R0em1mYWpwc3RiaGZqeGZ3fQ=="

题解:

开头引用base64的库,密文两个等号

试试魔法棒

SXXHYK{dtzmfajpstbhfjxfw}

 

 

[SWPUCTF 2021 新生赛]pigpig

题目:

题解:

可爱的猪猪,下面的一看就是猪圈密码

照着表对,最近才开始用工具来着,以前都习惯去对表格(挠头.jpg)

NSSCTF{whenthepigwanttoeat}

 

 

[鹤城杯 2021]A_CRYPTO

题目:

4O595954494Q32515046324757595N534R52415653334357474R4N575955544R4O5N4Q46434S4O59474253464Q5N444R4Q51334557524O5N4S424944473542554O595N44534O324R49565746515532464O49345649564O464R4R494543504N35

题解:

rot13,base16,base32,base64,base85

到这边一切顺利,但是在Base85出现了问题

是的,它Base85不行了,然后我跑去找我师傅了,我师傅剥个瓜子(边啃边剥.jpg)

在师傅指导下,我解出来了。◍˃ᵕ˂◍

flag{W0w_y0u_c4n_rea11y_enc0d1ng!}

 

 

[SWPUCTF 2021 新生赛]ez_rsa

题目:

p = 1325465431
q = 152317153
e = 65537
计算出d,将d用MD5加密后包裹NSSCTF{}提交

解题:

啊哈哈哈哈,我爱直白的题目。˙Ⱉ˙ฅ

import gmpy2
import hashlib
p = 1325465431
q = 152317153
e = 65537
phi = (p-1) * (q-1)
d = gmpy2.invert(e, phi)
print(d)
#43476042047970113

k = hex(d).encode('utf-8')
print(k)
#b'0x9a753ada825b41'

flag = "flag{" + hashlib.md5(k).hexdigest() + "}"
print(flag)
#flag{3a249418d1fa200066dbebedf8b164d9}

 

 

[BJDCTF 2020]base??

题目:

dict:{0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7', 20: '8', 21: '9', 22: 'P', 23: 'Q', 24: 'I', 25: 'a', 26: 'b', 27: 'c', 28: 'd', 29: 'e', 30: 'f', 31: 'g', 32: 'h', 33: 'i', 34: 'j', 35: 'k', 36: 'l', 37: 'm', 38: 'W', 39: 'X', 40: 'Y', 41: 'Z', 42: '0', 43: '1', 44: '2', 45: '3', 46: '4', 47: '5', 48: '6', 49: 'R', 50: 'S', 51: 'T', 52: 'n', 53: 'o', 54: 'p', 55: 'q', 56: 'r', 57: 's', 58: 't', 59: 'u', 60: 'v', 61: 'w', 62: '+', 63: '/', 64: '='}

chipertext:
FlZNfnF6Qol6e9w17WwQQoGYBQCgIkGTa9w3IQKw

题解:

算是base吧。反正肯定不是我想的那个。给了dict,应该是把base的表换了,直接找代码么。

import base64
a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='

dict={0: 'J', 1: 'K', 2: 'L', 3: 'M', 4: 'N', 5: 'O', 6: 'x', 7: 'y', 8: 'U', 9: 'V', 10: 'z', 11: 'A', 12: 'B', 13: 'C', 14: 'D', 15: 'E', 16: 'F', 17: 'G', 18: 'H', 19: '7', 20: '8', 21: '9', 22: 'P', 23: 'Q', 24: 'I', 25: 'a', 26: 'b', 27: 'c', 28: 'd', 29: 'e', 30: 'f', 31: 'g', 32: 'h', 33: 'i', 34: 'j', 35: 'k', 36: 'l', 37: 'm', 38: 'W', 39: 'X', 40: 'Y', 41: 'Z', 42: '0', 43: '1', 44: '2', 45: '3', 46: '4', 47: '5', 48: '6', 49: 'R', 50: 'S', 51: 'T', 52: 'n', 53: 'o', 54: 'p', 55: 'q', 56: 'r', 57: 's', 58: 't', 59: 'u', 60: 'v', 61: 'w', 62: '+', 63: '/', 64: '='}
d=''
for i in range(65):
    d+=dict[i]

b = 'FlZNfnF6Qol6e9w17WwQQoGYBQCgIkGTa9w3IQKw'
l=[]
for i in range(len(b)):
    l.append(d.index(b[i])) 
    
m=''
for ll in l:
    m+=a[ll]

f=base64.b64decode(m)
print(f)
#b'BJD{D0_Y0u_kNoW_Th1s_b4se_map}'

 

 

[LitCTF 2023]梦想是红色的 (初级)

题目:

自由友善公正公正敬业法治自由自由和谐平等自由自由公正法治诚信民主诚信自由自由诚信民主爱国友善平等诚信富强友善爱国自由诚信民主敬业爱国诚信民主友善爱国平等爱国爱国敬业敬业友善爱国公正敬业爱国敬业和谐文明诚信文明友善爱国自由诚信民主爱国爱国诚信和谐友善爱国自由友善平等爱国友善平等友善自由诚信自由平等爱国爱国敬业敬业友善爱国敬业敬业友善自由友善平等诚信自由法治诚信和谐

题解:

嗯,标准的社会主义核心价值观

LitCTF{为之则易,不为则难}

 

 

[SWPUCTF 2021 新生赛]traditional

题目:

西方的二进制数学的发明者莱布尼茨,从中国的八卦图当中受到启发,演绎并推论出了数学矩阵,
最后创造的二进制数学。二进制数学的诞生为计算机的发明奠定了理论基础。而计算机现在改变
了我们整个世界,改变了我们生活,而他的源头却是来自于八卦图。现在,给你一组由八卦图方位
组成的密文,你能破解出其中的含义吗?
震坤艮 震艮震 坤巽坤 坤巽震 震巽兑 震艮震 震离艮 震离艮
格式:NSSCTF{}

解题:

不是我说,这个八卦阵有毒,它要倒着看。我是一个个对出来的,呜呜呜。(其实,有代码来着)

整为1半为0得出
001000100 001100001 000110000 000110001 001110011 001100001 001101100 001101100

9位二进制是不能转变的,你会发现每组的第一位是0,可以去掉,变成了8位二进制,进行ACSII码转换(二进制转十六进制)。

NSSCTF{Da01sall}

 

 

[LitCTF 2023]Hex?Hex!(初级)

题目:

4c69744354467b746169313131636f6f6c6c616161217d

题解:

题目提示很明显咧!੯‧̀͡u\

HEX!十六进制解码!(这我不用出解题过程吧੧ᐛ੭,我不会告诉你是我懒得截图的!)

LitCTF{tai111coollaaa!}

 

 

[SWPUCTF 2021 新生赛]crypto2

题目:

from gmpy2 import *
from Crypto.Util.number import *



flag  = '***************'

p = getPrime(512)
q = getPrime(512)
m1 = bytes_to_long(bytes(flag.encode()))


n = p*q
e1 = getPrime(32)
e2 = getPrime(32)
print()

flag1 = pow(m1,e1,n)
flag2 = pow(m1,e2,n)
print('flag1= '+str(flag1))
print('flag2= '+str(flag2))
print('e1= ' +str(e1))
print('e2= '+str(e2))
print('n= '+str(n))


#flag1= 100156221476910922393504870369139942732039899485715044553913743347065883159136513788649486841774544271396690778274591792200052614669235485675534653358596366535073802301361391007325520975043321423979924560272762579823233787671688669418622502663507796640233829689484044539829008058686075845762979657345727814280
#flag2= 86203582128388484129915298832227259690596162850520078142152482846864345432564143608324463705492416009896246993950991615005717737886323630334871790740288140033046061512799892371429864110237909925611745163785768204802056985016447086450491884472899152778839120484475953828199840871689380584162839244393022471075
#e1= 3247473589
#e2= 3698409173
#n= 103606706829811720151309965777670519601112877713318435398103278099344725459597221064867089950867125892545997503531556048610968847926307322033117328614701432100084574953706259773711412853364463950703468142791390129671097834871371125741564434710151190962389213898270025272913761067078391308880995594218009110313

题解:

两个flag,两个e,一个n

共模攻击喽?

from Crypto.Util.number import *
from gmpy2 import gmpy2

flag1= 100156221476910922393504870369139942732039899485715044553913743347065883159136513788649486841774544271396690778274591792200052614669235485675534653358596366535073802301361391007325520975043321423979924560272762579823233787671688669418622502663507796640233829689484044539829008058686075845762979657345727814280
flag2= 86203582128388484129915298832227259690596162850520078142152482846864345432564143608324463705492416009896246993950991615005717737886323630334871790740288140033046061512799892371429864110237909925611745163785768204802056985016447086450491884472899152778839120484475953828199840871689380584162839244393022471075
e1= 3247473589
e2= 3698409173
n= 103606706829811720151309965777670519601112877713318435398103278099344725459597221064867089950867125892545997503531556048610968847926307322033117328614701432100084574953706259773711412853364463950703468142791390129671097834871371125741564434710151190962389213898270025272913761067078391308880995594218009110313

r,x,y = gmpy2.gcdext(e1, e2) 

m = pow(flag1,x,n) * pow(flag2,y,n) % n  

if gmpy2.gcd(e1,e2) ==1:
        print(long_to_bytes(m))
else :
    m = gmpy2.iroot(m,r)[0] 
    print(long_to_bytes(m))
#b'NSSCTF{xxxxx******xxxxx}'

你没看错,那个像是报错的flag真的是flag

 

未完成的约定

标签:待续,Crypyo,平等,诚信,flag,str,print,敬业,NSSCTF
From: https://www.cnblogs.com/Ninedayneverlostroad/p/18088104

相关文章

  • NSSCTF_pwn_notepage(1)
    NSSCTF_pwn_刷题笔记page(1)[SWPUCTF2021新生赛]gift_pwnfrompwnimport*io=remote('node4.anna.nssctf.cn',28991)padding=16+8shell=0x4005B6payload=b'A'*padding+p64(shell)io.sendline(payload)io.interactive()[SWPUCTF2021新生赛]......
  • NSSCTF Round#17 Basic CRYPTO
    Level_1题目Level_1.py(我把参数整理了一下,看着舒服)#真签到题fromCrypto.Util.numberimportbytes_to_long,getPrimefromsecretimportgetflagp=getPrime(1024)q=getPrime(1024)n=p*qm=bytes_to_long(getflag().encode())c1=pow(m,p,n)c2=pow(m,......
  • NSSCTF Round#16 Basic crypto misc-wp
    CRYPTOpr题目CRTfromCrypto.Util.numberimport*importrandomflag=plaintext='NSSCTF{****************}'charset='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'padding_length=100-len(plaintext)for_inr......
  • NSSCTF Round#16 Basic -Web wp
    RCE但是没有完全RCE<?phperror_reporting(0);highlight_file(__file__);include('level2.php');if(isset($_GET['md5_1'])&&isset($_GET['md5_2'])){if((string)$_GET['md5_1']!==(string)$_GET['md5_2�......
  • NSSCTF Round#16 Basic WriteUp
    NSSCTFRound#16Basicwp目录NSSCTFRound#16Basicwp一.pwn1.nc_pwnre2.ret_text一.pwn1.nc_pwnrenc连接得到题目,给了一段汇编代码以及40个十六进制数字分析代码可知,将一个字符串与10h即16进行异或运算,二次异或运算得到字符串TlNTQ1RGe1dFTGMwTV9UMF9wV25fdzByMWQhfQ......
  • three.js3D地图省市下钻加上钻踩坑记录(未完待续)
     1,three安装失败首先脚手架种安装three,我不知道是网络问题还是什么,three我总是安装不上,于是我就下载了网上别的博主得成品代码,把里面de包拿出来放在我自己项目中安装包链接在此,如有需要自取,https://files.cnblogs.com/files/jickma/three.rar?t=1702967875&download=true......
  • 第10次-创建一个在线网站(未完待续版)
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13118这个作业的目标第10次-创建一个在线网站......
  • CentOS7下的绑核操作记录(未完待续)
    一、具体操作查看物理CPU个数cat/proc/cpuinfo|grep"physicalid"|sort|uniq|wc-l查看每个物理CPU中core的个数(即核数)cat/proc/cpuinfo|grep"cpucores"|uniq查看逻辑CPU的个数cat/proc/cpuinfo|grep"processor"|wc-l查看cpucores数量:grep"......
  • 使用Cmake创建一个head only的库(未完待续)
    IntheCMakescriptyouprovided,thesecondparameteroftheadd_library()functionisanemptystring"".ThisisacommonpatternusedinCMaketocreatean"interface-only"libraryoraheader-onlylibrary.以下是示例add_library(conve......
  • WonderTrader 源码解析与改造-通用的dll加载器(未完待续)
    背景笔者学习WonderTrader的源码的一些心得体会,本文基于WonderTrader0.9.8,讲解其中的DLLHelper类先看它的应用1.wondertrader\src\TestTrader\main.cpp2.wondertrader\src\Includes\ITraderApi.h3.wondertrader\src\TraderCTP\TraderCTP.cpp......