Skip to content

Instantly share code, notes, and snippets.

@sonickun
sonickun / solver.py
Created November 19, 2016 13:43
MMA CTF 2015 | Alicegame (Crypto 250pt)
# -*- coding: utf-8 -*-
def egcd(m, n):
if n>0:
y,x,d = egcd(n, m%n)
return x, y-m/n*x, d
else:
return 1, 0, m
@sonickun
sonickun / defensekey_crawler.py
Last active December 23, 2018 07:31
SECCON2018国内決勝でDefense Keyをヘッドレスブラウザで自動で取ってきてPOSTするやつ
# coding: UTF-8
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
def get_key():
options = Options()
@sonickun
sonickun / solver.py
Created December 14, 2016 08:39
H4ckIT CTF 2016 | Chad – Ninja Scheme (Crypto 195pt)
#flag begins with h4ck1t{
def slice(s, size):
return [s[i: i+size] for i in range(0, len(s), size)]
def xor(a, b):
return "".join([chr(ord(a[i]) ^ ord(b[i % len(b)])) for i in xrange(len(a))])
def f(L, n):
ans = ""
@sonickun
sonickun / solver.py
Created December 11, 2016 14:44
SECCON CTF 2016 quals | biscuiti (Crypto, Web 300pt)
from Crypto.Util.number import *
from Crypto.Cipher import AES
import requests
import time
import base64
def xor(a, b):
return "".join([chr(ord(a[i]) ^ ord(b[i % len(b)])) for i in xrange(len(a))])
@sonickun
sonickun / solver.py
Last active November 30, 2016 08:44
Hack.lu CTF 2016 | cryptolocker (crypto 200-52)
import sys
import hashlib
from AESCipher import *
import string
import itertools
class SecureEncryption(object):
def __init__(self, keys):
#assert len(keys) == 4
self.keys = keys
@sonickun
sonickun / solver.py
Created September 14, 2016 11:49
Tokyo Westerns CTF 2016 | Vigenere Cipher (Crypto200)
import collections
import itertools
from base64 import b64encode, b64decode
def shift(char, key, rev = False):
if not char in chars:
return char
if rev:
return chars[(chars.index(char) - chars.index(key)) % len(chars)]
else:
@sonickun
sonickun / solver.py
Last active November 20, 2016 13:22
SECCON CTF quals 2013 | Cryptanalysis (Crypto 300pt)
a = 1234577
b = 3213242
M = 7654319
def add(A,B):
if A==(0,0): return B
if B==(0,0): return A
x1,y1 = A
x2,y2 = B
@sonickun
sonickun / solver.py
Last active November 16, 2016 09:04
Hack The Vote 2016 | BabyHands (crypto 300pt)
# filename: solver.sage
#f = open("intercepted", "r")
#
#f.readline()
#
#for line in f:
# d, n, c = map(int, line.strip()[1:-1].split(":"))
# print d, n, c
#
@sonickun
sonickun / flag.jpg
Last active November 15, 2016 05:51
Hack The Vote 2016 | Trump Trump (crypto 100pt)
flag.jpg
@sonickun
sonickun / solver.py
Last active November 9, 2016 08:04
Hack The Vote 2016 | Boxes of Ballots (crypto 200pt)
import socket
import string
import time
flag_len = 23
remoteip = "boxesofballots.pwn.republican"
remoteport = 9001
charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_{}"