首页 > 其他分享 >2023红明谷杯WriteUp

2023红明谷杯WriteUp

时间:2023-06-22 20:00:30浏览次数:35  
标签:Matrix 谷杯 WriteUp 红明 h1 bound h2 ZZ res

2023红明谷WriteUp

It Takes Two!(赛后)

比赛的时候脑瘫矩阵除的方向整错了,卡半天没出...最后没时间了

#task
from sage.all import *
from Crypto.Util.number import *
from os import urandom
from secret import flag

n = 16
bound = 2^15

A = [ZZ.random_element(-bound, bound) for _ in range(n*n)]
A = Matrix(ZZ, n, n, A)
        
B = [ZZ.random_element(-bound, bound) for _ in range(n*n)]
B = Matrix(ZZ, n, n, B)

res = []
for i in range(5):
    bound = 2^15
    S = [ZZ.random_element(-bound, bound) for _ in range(n*n)]
    S = Matrix(ZZ, n, n, S)
    
    tmp = []
    for i in range(0, 60):
        S = S* A + B
        bound = 2^(int(S[0, 0]).bit_length())
        if i % 3 == 2:
            tmp.append(Matrix(ZZ,n,n,[ZZ.random_element(-bound, bound) for _ in range(n*n)]))
            continue
        tmp.append(S)
    res.append(tmp)
    
e = A.LLL().determinant()

p = getPrime(512)
q = getPrime(512)
n = p * q
m = bytes_to_long(urandom(int(n).bit_length() // 8 - len(flag) - 1) + flag)
c = pow(m, e, n)
h1 = pow(p+q, e, n)
h2 = pow(p-q, e, n)

f = open('双人成行.txt', 'w')
f.writelines(str(res)+'\n')
f.writelines(str(n)+'\n')
f.writelines(str(c)+'\n')
f.writelines(str(h1)+'\n')
f.writelines(str(h2)+'\n')
f.close()

读取数据:

替换了一下'双人成行.txt'里的逗号,换成\n,然后:

f = open('双人成行.txt', 'r')
res = []
for a in range(300):
    tmp = []
    for aa in range(16):
        line = f.readline().replace('[', '').replace(']', '')
        line = [int(i) for i in line.split()]
        tmp.append(line)
    res.append(tmp)
f.close()

读代码发现第三组矩阵被替换成了随机值,所以选取第1,2,4,5组矩阵,运算得到A。

\(S_2=S_1*A+B\)

\(S_5=S_4*A+B\)

\(A = (S_4-S_1)^{-1}*(S_5-S_2)\)

s1 = Matrix(ZZ,res[0])
s2 = Matrix(ZZ,res[1])
s4 = Matrix(ZZ,res[3])
s5 = Matrix(ZZ,res[4])
a = ((s4-s1)^(-1))*(s5-s2)
e = a.LLL().determinant()

再求\(p,q\),对\(h1,h2\)稍作转化得到

\(h1 \equiv p^e \pmod{q}\)

\(h2\equiv p^e\pmod{q}\)

两式相减得到\(h1-h2\equiv 0 \pmod{q}\)

故对\(n\)和\((h1-h2)\)取最大公约数即可得到\(q\)

随后发现\(gcd(e,\phi)=21\),有限域开根求一下,再CRT组合就好。

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

n = 126930298936285661712486297662920895162569606037310367763354747221281175771655642407136326621695910623038808779778530112406355314071209370688157872928010633181351390724545013677593062556323119308457918805555312069055604237211117650220178416298165021603211366843640334616217695418858036626587483782452105122653
c = 113627841667808982839757084973426219545127121566516056267404541633803040730885409234473068650543791446730694746311695177758797711077000091232969424826171863685060090359260225102836081852105845748467870581394884564134418376982186965340367386781824886506478939204791426457255483148486730526127180397268053506840
h1 = 87021607670080656750728189202811647321664825322085967432146885995538140004901574830625347954724344331514731852873721100175299656618161173874818773415684739773055620673258848991693719847569489515642296650035465632567910004553054397894647697286044465567405142149926303968235362573821060105908856127568162452912
h2 = 70528801000055618659638315463133504198238507722722570127215098017082205934290867816695737682738831717228470799826957490782948760796844881508632060312080331264474968266753069687287034453036854258618280625776346633340081217397502423530180647548747144401922660710323623212890923488339464759360304751017490144695
p = gcd(h1+h2, n)
q = n//p
phi = (p-1)*(q-1)
d = inverse(e//21, phi)
c_ = pow(c, d, n)

PR.<x> = PolynomialRing(Zmod(p))
f = x^21-c_
f = f.monic()
root_p = f.roots()
PR.<x> = PolynomialRing(Zmod(q))
f = x^21-c_
f = f.monic()
root_q = f.roots()

for i in root_p:
    for j in root_q:
        m = CRT([int(i[0]), int(j[0])], [p, q])
        flag = long_to_bytes(m)
        #print(flag)
        if b'flag' in flag:
            print(flag)

标签:Matrix,谷杯,WriteUp,红明,h1,bound,h2,ZZ,res
From: https://www.cnblogs.com/sCh3n/p/17498232.html

相关文章

  • 第五届“强网杯”全国网络安全挑战赛-线上赛Writeup
    文章目录WEB[强网先锋]赌徒[强网先锋]寻宝MISC签到BlueTeamingISO1995CipherManEzTime问卷题WEB[强网先锋]赌徒目录扫描发现www.zip下载得到源码index.php<metacharset="utf-8"><?php//hintisinhint.phperror_reporting(1);classStart{public$name='guest';......
  • 2021数字中国创新大赛虎符网络安全赛-Writeup
    文章目录Web签到“慢慢做”管理系统Misc你会日志分析吗Web签到http://cn-sec.com/archives/313267.htmlUser-Agentt:zerodiumsystem("cat/flag");“慢慢做”管理系统根据题目提示,这里第一步登录应该利用一些字符串被md5($string,true)之后会形成如下,从而造成注入PSC:\Users\A......
  • 第十四届全国大学生信息安全竞赛-线上赛Writeup
    文章目录场景实操开场卷WEBeasy_sqleasy_sourceMISCtinytrafficrunning_pixel场景实操二阶卷WEBmiddle_sourceMISC隔空传话场景实操冲刺卷MISCrobot场景实操开场卷WEBeasy_sql有sql报错简单fuzz了一下发现过滤了union、information、column、inno等关键字。无表名,无列名注入......
  • 2021-DASCTF-三月赛-Writeup
    文章目录WEBBestDBez_serializebaby_flaskez_loginMISC签到简单的png隐写雾都孤儿小田的秘密Ascii_art问卷调查和团队的师傅们组队拿了个第十,师傅们带飞,我就是团队的MVP(MostVegetablePeople)WEBBestDB简单的SQL注入/?query=mochu"or/**/1=1%23/?query=mochu"order/**/by/**/......
  • 2020 纵横杯 线上赛 MISC部分Writeup
    文章目录签到马赛克My_Secret问卷调查签到oct_str='[0146,0154,0141,0147,0173,0167,063,0154,0143,0157,0155,0145,0137,0164,0157,0137,062,0157,0156,0147,0137,0150,063,0156,0147,0137,0142,0145,061,0175]'oct_list=oct_str.replace(&q......
  • 白帽子社区端午节活动-白帽寻宝记-纪念屈原Writeup
    搜索引擎找一下即可得知:姓:芈氏:屈名:平字:原md5(芈屈平原,32)=16ccb09f96f27af192f541992560d695解压后先查看文件先来看看这个吧在两张图片的的中间存在一串base64解码得到WingDing编码◻︎♋︎⬧︎⬧︎⬥︎□︎❒︎♎︎♓︎⬧︎♋︎♌︎❍︎◻︎♐︎♓︎●︎♏︎⬥︎♓︎⧫︎♒︎♋︎♌︎♓︎⧫︎♎︎♏︎◻︎⧫︎♒︎□︎♐︎......
  • 第四届BJDCTF 4th-部分Writeup
    文章目录Webeasy_phpMisc马老师的秘籍FakePicCryptoasaReverseEasyVHWebeasy_php经过简单代码审计,发现可以通过变量覆盖来读取文件?var[template][tp1]=/etc/passwd&tp=tp1之后使用php://filter伪协议读取template.php的源码?var[template][tp1]=php://filter/read=convert.base......
  • 2022 RealWorld CTF体验赛Writeup
    文章目录DigitalSouvenirlog4flagBe-a-Database-HackertheSecretsofMemorybabyflaglabFlagConsoleBe-a-Database-Hacker2JavaRemoteDebuggerDigitalSouvenirrwctf{RealWorldIsAwesome}log4flag有一些正则过滤网上bypass方法很多,随便找一个就行${${::-j}ndi:${lower:r......
  • “东华杯”2021年大学生网络安全邀请赛 暨第七届上海市大学生网络安全大赛线上赛MISC-
    文章目录checkinprojectJumpJumpTigerwhere_can_find_code题目附件请自取:链接:https://pan.baidu.com/s/1T9nG-CDg_D8QYQZapuxucg提取码:2wubcheckin+AGYAbABhAGcAewBkAGgAYgBfADcAdABoAH0-UTF-7编码UTF-7在线解码站:http://toolswebtop.com/text/process/decode/utf-7flag{dhb_......
  • 第十六届全国大学生信息安全竞赛创新实践能力赛 初赛 Writeup By AheadSec
    文章目录WebunzipdumpitBackendServicePwn烧烤摊儿funcanaryshellwebgoReverseezbytebabyreCrypto基于国密SM2算法的密钥密文分发可信度量Sign_in_passwdMisc签到卡被生产加密的流量国粹pyshellWebunzipln-s/var/www/html/webshellzip-rywebshell.zipwebshellcurlurl/......