Skip to content

Instantly share code, notes, and snippets.

View maple3142's full-sized avatar

maple maple3142

  • Taiwan
  • 17:19 (UTC +08:00)
  • X @maple3142
View GitHub Profile
@maple3142
maple3142 / example.conf
Created March 14, 2024 04:47
Cloudflare warp example config that works in WSL2
[Interface]
PrivateKey = REDACTED
Address = 172.16.0.2/32
MTU = 1280
[Peer]
PublicKey = REDACTED
# 0.0.0.0/0 - (0.0.0.0/8, 10.0.0.0/8, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.168.0.0/16, 240.0.0.0/4, 162.159.192.1/32, 1.1.1.1/32) + 172.16.0.0/24
# 162.159.192.1 is for engage.cloudflareclient.com
# reference: https://github.com/ViRb3/wgcf/issues/42, https://www.procustodibus.com/blog/2021/03/wireguard-allowedips-calculator/
@maple3142
maple3142 / server.sh
Last active March 14, 2024 06:55
one line webserver, tested in zsh and bash
while true; do mkfifo pipe; stdbuf -o0 cat pipe | nc -lv 7777 | ( read line; reqpath="$(echo "$line" | sed -nE 's/GET ([^ ]*) HTTP.*/\1/p')"; echoparam="$(echo "$reqpath" | cut -d '?' -f2 | awk 'BEGIN { RS="&"; FS="=" } { if ($1 == "echo") print $2 }')"; response=$echoparam; if [[ $reqpath == '/' ]]; then response='<form><input name="echo"><button>Echo</button></form>'; fi; printf 'HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n'; printf '%s' "$response" ) > pipe; rm pipe; done
{"elements":[{"text":"Water","emoji":"💧","discovered":false},{"text":"Fire","emoji":"🔥","discovered":false},{"text":"Wind","emoji":"🌬️","discovered":false},{"text":"Earth","emoji":"🌍","discovered":false},{"text":"Steam","emoji":"💨","discovered":false},{"text":"Mud","emoji":"💩","discovered":false},{"text":"Dust","emoji":"🌫️","discovered":false},{"text":"Planet","emoji":"🪐","discovered":false},{"text":"Steampunk","emoji":"🕯️","discovered":false},{"text":"Cloud","emoji":"☁️","discovered":false},{"text":"Volcano","emoji":"🌋","discovered":false},{"text":"Mountain","emoji":"🏔️","discovered":false},{"text":"Snow","emoji":"❄️","discovered":false},{"text":"Snowball","emoji":"❄️","discovered":false},{"text":"Snowman","emoji":"☃️","discovered":false},{"text":"Eruption","emoji":"🌋","discovered":false},{"text":"Lava","emoji":"🌋","discovered":false},{"text":"Stone","emoji":"🪨","discovered":false},{"text":"Rock","emoji":"🪨","discovered":false},{"text":"Clay","emoji":"🏺","discovered":false},{"text":"Boulder","emoji":"🪨","dis
@maple3142
maple3142 / compress.py
Created January 11, 2024 09:38
SECCON CTF Final 2023 - babywaf
#!/usr/bin/env python
from __future__ import print_function
import argparse
import binascii
import functools
import struct
import sys
import zlib
@maple3142
maple3142 / README.md
Last active February 21, 2025 07:55
Rootless Tailscale

Running tailscaled

Download static tailscaled binary here

TAILSCALED_SOCKET="/tmp2/$USER/tailscaled.sock"
TAILSCALED_STATE="tailscaled.state"
./tailscaled --tun=userspace-networking --state="$TAILSCALED_STATE" --socket "$TAILSCALED_SOCKET"
@maple3142
maple3142 / test.py
Created October 14, 2023 03:37
Python 3.11 bytecode assemble
from types import FunctionType, CodeType
import dis
def assemble(ops):
cache = bytes([dis.opmap["CACHE"], 0])
ret = b""
for op, arg in ops:
opc = dis.opmap[op]
ret += bytes([opc, arg])
@maple3142
maple3142 / export_pdf.sh
Last active September 23, 2024 16:05
Convert markdown to pdf using pandoc and chromium
#!/bin/sh
source=$1
dest=$2
if [ -z "$source" ] || [ -z "$dest" ]; then
echo "Usage: $0 <source> <dest>"
exit 1
fi
tmpmd="$(mktemp tmp-XXXXXX.md)"
tmphtml="$(mktemp tmp-XXXXXX.html)"
from Crypto.Util.number import *
from hashlib import sha256
import random
# https://eprint.iacr.org/2018/623.pdf
# vdf implementation using rsa as hidden order group
n = getPrime(512) * getPrime(512)
T = 2**20
@maple3142
maple3142 / example.sage
Last active December 23, 2024 01:20
LLL/CVP utilities, now updated at https://github.com/maple3142/lll_cvp
from lll_cvp import *
from functools import partial
def example1():
# copied from https://github.com/rkm0959/Inequality_Solving_with_CVP/blob/main/Example%20Challenge%204%20-%20HITCON%20CTF%202019%20Quals%20-%20not%20so%20hard%20RSA/solve_challenge_4.sage
## Example 4 : HITCON CTF 2019 Quals not so hard RSA
## d is 465 bits
@maple3142
maple3142 / challenge.py
Created September 3, 2023 13:52
WACON 2023 Prequal - cry
from Crypto.Util.number import bytes_to_long, getStrongPrime, isPrime
SIZE = 512
e = 65537
with open("flag.txt", "rb") as f:
m = bytes_to_long(f.read())
def encrypt(m):