SHCTF 未出题目复盘

news2025/2/26 14:56:08

crypto

week1 立正

逆序得到
:V Qook at you~ this is flag: EmxhE8tERKAfYAZ6S636dIWuEK46ZK4yRBdNdK4uRKd4 decode it
中间那串像b64
解码解不出什么 猜测还要rotate
Emxh 和 flag编码后的前几位比较接近
考虑大写字母需要继续偏移

对大写字母处理完后得到
:Q Look at you~ this is flag: ZmxhZ8tZMFVfTVU6N636dDRuZF46UF4yMWdIdF4uMFd4 decode it
解码得 flag�Y0U_MU:7��t4nd^:P^21gHt^.0Wx
对比flag{Y0U_base64编码ZmxhZ3tZMFVf和解出的前12位ZmxhZ8tZMFVf
数字也得继续偏移


a = ':V Qook at you~  this is flag: EmxhE8tERKAfYAZ6S636dIWuEK46ZK4yRBdNdK4uRKd4 decode it'
a = list(a)

for i in range(len(a)):
    if a[i].isupper():
        a[i] = chr((ord(a[i]) - 65 - 5) % 26+65)
    if a[i].isdigit():
        a[i] = chr((ord(a[i]) - 48 + 5) % 10+48)

print("".join(a))


解b64得到flag
flag{Y0U_MU57_5t4nd_uP_r1gHt_n0W}

[WEEK1]电信诈骗

真想不到
异或50后rot47
在这里插入图片描述

c = '050f000a7e407151537802540b747176075178027552756d0256726262627c'

print("".join([chr(int(c[i:i+2], 16) ^ 50) for i in range(0, len(c), 2)]))
# 7=28LrCcaJ0f9FCD5cJ0G`G_0d@PPPN

马后炮来说的话 第四行第七列 卷土重来 还是可以联想到rot47的

[WEEK3]ECC

哎 当初导sympy包
里面有个对象叫EllipticCurve
完了老和我说构造函数有问题

from Crypto.Util.number import *
import gmpy2


def crack_unknown_increment(states, modulus, multiplier):
    increment = (states[1] - states[0]*multiplier) % modulus
    return modulus, multiplier, increment


def crack_unknown_multiplier(states, modulus):
    multiplier = (states[2] - states[1]) * \
        inverse(states[1] - states[0], modulus) % modulus
    return crack_unknown_increment(states, modulus, multiplier)



hint = [1570694739893062645954897001702004554030820147773705206144961894236480600502144377530243430,
        1115071559941911318308753566664426840423418447339890011281946738239984044436490114276986358, 1724417937645231946682439402005218433918418922370889412352845326882349141006072218192190414]
N = 1756436166407836493798726314365345209041467063368466691280475314657490639743277323145836159

N, A, B = (crack_unknown_multiplier(hint, N))


rounds = 201
inv_a = gmpy2.invert(A, N)
seed = hint[0]
for i in range(rounds-2):
    seed = (inv_a*(seed - B)) % N


E = EllipticCurve(GF(int(seed)), [A, B])
P=E(37977159917993725569055235995991171988930922261017470137494292644600863220268 , 18702328678557323528043531437349309255558505679181203523362701784535278781654 )
Q=E(50869218310545924409688834318827602878615827095578074934136681999097237356553 , 56112306156084592253561365078969255013878959268941761289693638560533128799289 )

print(E.order())


def SmartAttack(P, Q, p):
    E = P.curve()
    Eqp = EllipticCurve(
        Qp(p, 2), [ZZ(t) + randint(0, p)*p for t in E.a_invariants()])

    P_Qps = Eqp.lift_x(ZZ(P.xy()[0]), all=True)
    for P_Qp in P_Qps:
        if GF(p)(P_Qp.xy()[1]) == P.xy()[1]:
            break

    Q_Qps = Eqp.lift_x(ZZ(Q.xy()[0]), all=True)
    for Q_Qp in Q_Qps:
        if GF(p)(Q_Qp.xy()[1]) == Q.xy()[1]:
            break

    p_times_P = p*P_Qp
    p_times_Q = p*Q_Qp

    x_P, y_P = p_times_P.xy()
    x_Q, y_Q = p_times_Q.xy()

    phi_P = -(x_P/y_P)
    phi_Q = -(x_Q/y_Q)
    k = phi_Q/phi_P
    return ZZ(k)



print(long_to_bytes(int(SmartAttack(P, Q, seed))))


[WEEK3]e=3

一开始以为p存在线性关系
像天山固网那道题样的
然后试了一下没出来就摆烂了

观察到N在M进制下易分解
我们用sage看看

from Crypto.Util.number import *

N = 3298593732762513945346583663585189774036688951059270517149719979434109398447628726951796006700754759352430339647168415338320547665794785951232342902233013221132246450312038122695046634624323814318286314664160113738299465643128504110932989263063331290006313
c = 869489491924953293290699796392271834401780578884556874640489836779925847562085802848542382525324081900560761299059365684697233025590164192409062717942292142906458498707677300694595072310705415037345581289469698221468377159605973403471463296806900975548438
M = 2**54
k = 6
digit = M
digits = N.digits(digit)
f = 0
for i, each in enumerate(digits):
    f += each * x ^ i

print(f)

在这里插入图片描述
分解得到pqr
后面就是有限域开方

from Crypto.Util.number import *

N = 3298593732762513945346583663585189774036688951059270517149719979434109398447628726951796006700754759352430339647168415338320547665794785951232342902233013221132246450312038122695046634624323814318286314664160113738299465643128504110932989263063331290006313
c = 869489491924953293290699796392271834401780578884556874640489836779925847562085802848542382525324081900560761299059365684697233025590164192409062717942292142906458498707677300694595072310705415037345581289469698221468377159605973403471463296806900975548438
M = 2**54
k = 6
e = 3
digit = M
digits = N.digits(digit)
f = 0
for i, each in enumerate(digits):
    f += each * x ^ i



# print(f.factor)
p = (54595*x ^ 5 + 17296*x ^ 4 + 5814*x ^ 3 + 36787*x ^ 2 + 58035*x + 45247)
q = (25282*x ^ 5 + 31957*x ^ 4 + 31998 *x ^ 3 + 6834*x ^ 2 + 31014*x + 33821)
r = (350*x ^ 5 + 48522*x ^ 4 + 12574*x ^ 3 + 35367*x ^ 2 + 47153*x + 11459)

p = int(p(M))
q = int(q(M))
r = int(r(M))



P.<x> = PolynomialRing(Zmod(p), implementation='NTL')
f = x ^ e - c
res1 = f.monic().roots()

P.<x> = PolynomialRing(Zmod(q), implementation='NTL')
f = x ^ e - c
res2 = f.monic().roots()

P.<x> = PolynomialRing(Zmod(r),implementation='NTL')
f = x ^ e - c
res3 = f.monic().roots()


for i in res1:
    for j in res2:
        for k in res3:
            param1 = [int(i[0]), int(j[0]), int(k[0])]
            param2 = [p, q, r]
            m = CRT_list(param1, param2)
            flag = long_to_bytes(m)
            if b'flag{' in flag:
                print(flag)

[WEEK3]Classical Master

重合指数 第一次见
建议看密码爷糖醋小鸡块的博客
https://tangcuxiaojikuai.xyz/post/165cec8c.html#more

web

[week_3]ez_rce(todo)

[WEEK3]gogogo(todo)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1158640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

当贝PadGO闺蜜机?多的是你不知道的玩法

一、当贝PadGO性能强在哪? 1、金属机身 当贝PadGO独有CD型底盘更有设计风格、后扶手设计更稳,且采用全金属的材质更有质感。并且在配色上还有熊猫白和唱片黑两种可以选择。屏幕采用AG磨砂类纸屏,自带纸张柔和效果,防眩光。并且拥有德国莱茵低蓝光、无频闪双重护眼认证,还可以…

食堂系统登录报错

因为数据库没有任何用户数据&#xff0c;所以会报错&#xff0c;需要添加admin用户 D:\env\jdk1.8.0_341\bin\java.exe -XX:TieredStopAtLevel1 -noverify -Dspring.output.ansi.enabledalways -Dcom.sun.management.jmxremote -Dspring.jmx.enabledtrue -Dspring.liveBeansVie…

“知了杯”网络安全竞赛(南充赛区)圆满落幕

为积极响应网络空间安全人才战略&#xff0c;加快攻防兼备网络创新人才培养步伐&#xff0c;实现以赛促学、以赛促教、以赛促用&#xff0c;推动网络空间安全人才培养和产学研用生态发展&#xff0c;成都知了汇智科技有限公司作为产教融合服务型平台机构&#xff0c;在四川省工…

LeetCode----84. 柱状图中最大的矩形

题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 示例 2: 输入: heights =…

中期科技:智慧公厕打造智能化城市设施,提升公共厕所管理与服务体验

智慧公厕是利用先进的技术和创新的解决方案来改进公厕的设施和管理。借助物联网、互联网、5G/4G通信、人工智能、大数据、云计算等新兴技术的集成&#xff0c;智慧公厕具备了一系列令人惊叹的应用功能。从监测公厕内部人体活动状态、人体存在状态&#xff0c;到空气质量情况、环…

【LVS实战】03 LVS负载均衡-DR模式实验

本文介绍&#xff0c;如何通过ipvsadm配置负载均衡&#xff0c;并且转发模式为DR直接路由模式 一、网络拓扑 如下图&#xff1a; LVS负载均衡的机器&#xff0c;配置了一个VIP&#xff1a;10.1.0.7 二、前置准备 每台机器关闭防火墙 systemctl stop firewalldRS装好nginx…

01【保姆级】-GO语言特点和安装使用和hello

01-GO语言基本概念和安装使用 一、概念1.1 Go语言的诞生1.2 GO语言的特点&#xff1a; 二、安装go2.1 安装2.2 安装环境变量 三、下载&安装goland3.1 官网下载3.2 下载后&#xff0c;进行安装&#xff1a; 四、编写Hello&#xff08;详解&#xff09; 如何学习&#xff1a;…

AI视频监控汇聚平台EasyCVR增加算法功能小tips

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外…

【原理】循环水系统【组件介绍】

目录 前言一、工作原理二、主要组件2-1、 保温水箱2-2、 热水泵2-3、 电加热器2-4、 管式换热器2-5、 开关阀、流量阀和调节阀2-6、 冷却塔2-7、 冷水泵 总结 前言 循环水系统是一种用于维持恒定温度或温度范围的工业或建筑设施中的热力控制系统。该系统通过循环水来传递热量&a…

智慧公厕:科技赋予公共卫生新生命,提升城市管理品质

在现代化城市中&#xff0c;公共卫生设施的发展与提升一直是对城市管理者和市民的共同期望。然而&#xff0c;传统的公共厕所常常令人困扰&#xff0c;脏乱臭成为难题。为了解决这一难题&#xff0c;广州中期科技科技有限公司全新升级的智慧公厕整体解决方案&#xff0c;补誉为…

配音软件怎么选择?(简单又实用)

随着短视频、自媒体的普及推广越来越好&#xff0c;想必大家都了解到配音软件的重要性了&#xff0c;用对配音软件&#xff0c;借助AI的力量让我们的作品达到事半功倍是效果&#xff0c;目前市面上有很多不同类型的配音软件&#xff0c;从专业的录音室级别的软件到简单易用的家…

Videos

文章目录 Video ClassificationEarly Fusion, Late Fusion, 3D CNN,Recognizing Actions from Motion 从动作中识别行为接下来介绍新技术回顾一下&#xff1a;非常多的video工作 Video Classification Early Fusion, Late Fusion, 3D CNN, Recognizing Actions from Motion 从…

谷歌浏览器升级http强转https解决

mac电脑有点卡&#xff0c;重启以后&#xff0c;谷歌浏览器默认升级 后续访问公司http网址&#xff0c;自动跳转为https网址&#xff0c;导致进入不了平台 网上找了很多方案都是&#xff0c;地址栏中输入【chrome://net-internals/#hsts】&#xff0c;在最下面的【Delete dom…

软件测试常见1000道面试题(答案+文档)

软件测试面试百题 1、问&#xff1a;你在测试中发现了一个bug&#xff0c;但是开发经理认为这不是一个bug&#xff0c;你应该怎样解决? 首先&#xff0c;将问题提交到缺陷管理库里面进行备案。 然后&#xff0c;要获取判断的依据和标准&#xff1a; 根据需求说明书、产品说…

利用移动互联、物联网、智能算法、地理信息系统、大数据分析等信息技术开发的智慧工地云平台源码

智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术&#xff0c;提高项目现场的“人•机•料•法•环•安”等施工要素信息化管理水平&#xff0c;实现工程施工可视化智能管理&#xff0c;并逐步实现绿色生态建造。 技术架构&#xff1a;微…

ELK 日志分析实践

一 ELK 1 ELK 概述 ELK是一整套解决方案&#xff0c;是三个软件产品的首字母缩写&#xff0c;很多公司都在使用&#xff0c;如:Sina、携程、华为、美团等 Elasticsearch&#xff1a;负责日志检索和储存 Logstash&#xff1a;负责日志的收集和分析、处理 Kibana&#xf…

瑞明达:脚踏实地,为实体经济贡献“瑞明达”力量

实体经济是指以实际物质生产和经营为主要特征的经济形态&#xff0c;是经济发展的基础和主体。瑞明达团队一直关注着实体经济的发展&#xff0c;也在不断探索如何运用科技手段和管理经验助力实体经济的发展。团队将从几个方面介绍瑞明达团队的看法和实践经验。 实体经济在国家经…

缺失的第一个正数

题目链接 缺失的第一个正数 题目描述 注意点 实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案 解答思路 关键是要实现时间复杂度为 O(n) 并且只使用常数级别额外空间&#xff0c;需要将数字出现情况存储再原数组上&#xff0c;思路为&#xff1a;假设数组的长…

Instagram 运营技巧,这4个基本设置很重要!

ins这个平台相信很多跨境卖家都不陌生&#xff0c;但想要运营好这个平台却不是那么容易的。想要在ins上获得更多的自然流量&#xff0c;基本设置和功能就要搞懂&#xff0c;今天就给大家分享4个基本的ins设置&#xff0c;以及如何更好地使用 Hashtag&#xff01; Instagram Bio…

在防御CC攻击上,高防CDN起着什么作用?

在当今数字化世界中&#xff0c;网络安全攻击已经成为普遍而严峻的威胁。特别是分布式拒绝服务攻击&#xff08;DDoS&#xff09;和CC攻击&#xff0c;它们有潜力使网络服务陷入完全瘫痪状态。为了应对这些威胁&#xff0c;采用高级防御CDN&#xff08;内容传递网络&#xff09…