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"
[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/ |
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 |
#!/usr/bin/env python | |
from __future__ import print_function | |
import argparse | |
import binascii | |
import functools | |
import struct | |
import sys | |
import zlib |
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"
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]) |
#!/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 |
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 |
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): |