DiceCTF2025-WriteUp
Webcookie-recipes-v3
Mmmmmmm…
const express = require('express')const app = express()const cookies = new Map()app.use((req, res, next) => { const cookies = req.headers.cookie const user = cookies?.split('=')?.[1] if (user) { req.user = user } else { const id = Math.random().toString(36).slice(2) res.setHeader('set-cookie', `user=${id}`) req.user = id } next()})app.get('/', ( ...
NCTF2024-WriteUp
放在最前面,laogong的wp
Webez_dash && ez_dash revenge复现'''Hints: Flag在环境变量中'''from typing import Optionalimport pydashimport bottle__forbidden_path__=['__annotations__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', ...
NSSCTF Round#28 && 2025红明谷杯初赛 WriteUps
NSSCTF Round#28Webez_ssrf<?phphighlight_file(__FILE__);//flag在/flag路由中if (isset($_GET['url'])) { $url = $_GET['url']; if (strpos($url, 'http://') !== 0) { echo json_encode(["error" => "Only http:// URLs are allowed"]); exit; } $host = parse_url($url, PHP_URL_HOST); $ip = gethostbyname($host); $forbidden_ips = ['127.0.0.1', '::1']; if (in_array($ip, $forbidden_ips)) { ...
KalmarCTF2025&&TPCTF2025-WriteUp
KalmarCTF2025Cryptobasic sumswith open("flag.txt", "rb") as f: flag = f.read()# I found this super cool function on stack overflow \o/ https://stackoverflow.com/questions/2267362/how-to-convert-an-integer-to-a-string-in-any-basedef numberToBase(n, b): if n == 0: return [0] digits = [] while n: digits.append(int(n % b)) n //= b return digits[::-1]assert len(flag) <= 45flag = int.from_bytes(flag, 'big')base = int(input("Give ...
GHCTF2025-WriteUp
诶,这里有老登偷偷炸鱼(bushi
Crypto无意中发现了一个在线Sagemath运行平台,10.4版本的,有需要可以使用(https://cocalc.com/features/sage
下面是我自己比赛的时候自己做的(密码是river没做,web做了前几题,赛后继续做),然后再加上一点赛后学习别的师傅的wp整合起来的
baby_factor基础的RSA,过于简单,不写了
baby_signinfrom Crypto.Util.number import getPrime, bytes_to_longp=getPrime(128)q=getPrime(128)n=p*qphi=(p-1)*(q-1)flag="NSSCTF{xxxxxx}"print("p=",p)print("q=",q)m=bytes_to_long(flag.encode())e=4c=pow(m,e,n)print("c=",c)print("n=",n)''' ...
国城杯&&HECTF2024
国城杯这次比赛的web比较有难度(题解居然比pwn少,而且是少很多很多),交给学弟,然后学弟下午出去玩,那就没人打web了,因为我被圆锥曲线卡住了QWQ
CryptobabyRSAfrom secret import flagfrom Crypto.Util.number import*from gmpy2 import*flag = b'D0g3xGC{****************}'def gen_key(p, q): public_key = p*p*q e = public_key n = p*q phi_n = (p-1)*(q-1) private_key = inverse(e,phi_n) return public_key,private_key,ep = getPrime(512)q = getPrime(512)N,d,e = gen_key(p,q)c = gmpy2.powmod(bytes_to_long(flag),e,N)print(N)print(d)print(c) ...
pcb2024-WriteUp
CryptoSOLVEDbabyenc-pcb2024from Crypto.Util.number import *import randomfrom gmpy2 import *from secret import flagassert len(flag) == 42flag1 = flag[:len(flag)//2]flag2 = flag[len(flag)//2:]print(flag1.encode())print(flag2.encode())m1 = bytes_to_long(flag1.encode())m2 = bytes_to_long(flag2.encode())def e_gen(bits): e = [] for _ in range(5): e.append(getPrime(bits)) return edef enc1(m, e, shift): n = next_prime(m << shift) tmp = getPrime(256) cc = [] for i in ran ...
SageMath10.x最新版安装指引
前言由于懒人安装在windows11上面,最高只能获取到Sagemath9.3的版本,在wsl2+ubuntu22.04上面最新的也才sagemath9.5好像,不会升级,有些exp跑不了,遂安装了Sagemath10.x版本
在网上找了一圈,发现都没有教程是使用WSL2+ubuntu22.04+sagemath10.x的,很多都是在Arch Linux里面装的
特此,安装好了,可以运行了,写下了这篇博客
闲来无事,去敲打了一下Kimi
SageMath 10.x 版本推荐使用 Arch Linux 的原因主要有以下几点:维护良好且最新的SageMath包:从Sage 10.2开始,Arch Linux 提供了维护良好且最新的SageMath包,这意味着用户可以更容易地获得最新版本的SageMath,以及及时的安全更新和功能改进。兼容性和支持:Arch Linux 对于 SageMath 的支持较好,社区活跃,能够及时解决与SageMath 相关的兼容性问题滚动更新模型:Arch Linux 采用滚动更新模型,这意味着系统和软件包始终保持最新状态,这对于科研和开发人员来说是一个很大的优 ...
SHCTF2024-WriteUp
https://ctf.qlu.edu.cn平台不知道什么时候关闭
尼玛,新生赛一堆,newstar 0xgame都只是打了一下就不想打了,忙不过来了,屁事太多了
还好山河明智,第二周就把新生标签摘了,然后我第一周打的多一些,后面基本是,下密码的附件来看看了
欸,居然有37
week1web单身十八年的手速game.js
1zflask/robots.txt,/s3recttt,/api?SSHCTFF=cat /flag
蛐蛐?蛐蛐!/source.txt,修复乱码
<?phpif($_GET['ququ'] == 114514 && strrev($_GET['ququ']) != 415411){ if($_POST['ququ']!=null){ $eval_param = $_POST['ququ']; if(strncmp($eval_param,'ququk1',6)===0){ ...
网鼎杯2024青龙组&&强网杯2024-WriteUp
写在最前面,原题杯与咸鱼CTF
网鼎杯2024青龙组CRYPTO001from Crypto.Util.number import *from secret import flagp = getPrime(512)q = getPrime(512)n = p * qd = getPrime(299)e = inverse(d,(p-1)*(q-1))m = bytes_to_long(flag)c = pow(m,e,n)hint1 = p >> (512-70)hint2 = q >> (512-70)print(f"n = {n}")print(f"e = {e}")print(f"c = {c}")print(f"hint1 = {hint1}")print(f"hint2 = {hint2}")n = 1237890430953028867847775485 ...