Skip to content

Instantly share code, notes, and snippets.

Nick Bulischeck nbulischeck

Block or report user

Report or block nbulischeck

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
nbulischeck /
Last active Jul 25, 2019
Install glibc debug symbols on Arch Linux for pwndbg heap analysis
# Install Dependencies
sudo pacman -S git svn gd lib32-gcc-libs patch make bison fakeroot
# Checkout glibc source
svn checkout --depth=empty svn://
cd packages
svn update glibc
cd glibc/repos/core-x86_64
import re
import os, shutil, pathlib
from zipfile import ZipFile, BadZipFile
from string import ascii_uppercase, ascii_lowercase
whitespace = ["\r", "\n", "\t", "\f", "\v", " "]
rep_var = ["{i}", "{j}", "{k}"]
def solve_challenge():
# Values from the white paper
EXAMPLE_PHDR = 'L2 F\' B2 U D2 B U D\' F2 L\' F U2 R U\' L\' R\' U\' B F D U\''.split(" ")
EXAMPLE_LHDR = 'B U2 D2 R\' F U2 B R L\' B L\' B L\' D F\' L U\' B2 R F2 L\' F2'.split(" ")
EXAMPLE_MSG = 'F L U2 L2 F\' B D\' B2 L\' B\' U L2 F\' R2 D\' B\' U\' L\' B R D2 L2 R\' B F2 D\' U R B D2 U2 R2 U\' F2 R2 F D F2 B2 D\' R\' D R\' U\' F\' B2 U F2 D R U L F U2 L2 D R B D\' B\' U L U\''.split(" ")
# Values from the challenge
CHALL_PHDR = 'B2 R U F\' R\' L\' B B2 L F D D\' R\' F2 D\' R R D2 B\' L R'.split(" ")
CHALL_LHDR = 'L\' L B F2 R2 F2 R\' L F\' B\' R D\' D\' F U2 B\' U U D\' U2 F\''.split(" ")
CHALL_MSG = 'L F\' F2 R B R R F2 F\' R2 D F\' U L U\' U\' U F D F2 U R U\' F U B2 B U2 D B F2 D2 L2 L2 B\' F\' D\' L2 D U2 U2 D2 U B\' F D R2 U2 R\' B\' F2 D\' D B\' U B\' D B\' F\' U\' R U U\' L\' L\' U2 F2 R R F L2 B2 L2 B B\' D R R\' U L'.split(" ")
nbulischeck / sql-param-bind.c
Created Dec 5, 2018
Function that uses SQL parameter binding in C
View sql-param-bind.c
#include <mysql.h>
int commit_db(MYSQL *con){
MYSQL_BIND bind[2];
my_ulonglong affected_rows;
item_t *curr = items_list;
int count, param_count;
unsigned long str_length;
nbulischeck /
Created Nov 1, 2018
GDB Python Plugin to Generate De Bruijn Sequences
#!/usr/bin/env python
from itertools import islice
from string import ascii_lowercase
def de_bruijn(k, n):
_ = int(k)
alphabet = list(map(str, range(k)))
except (ValueError, TypeError):
nbulischeck / Makefile
Created May 26, 2018
PoC using debugfs to execute files
View Makefile
BACKDOOR := backdoor
obj-m := $(BACKDOOR).o
$(BACKDOOR)-y += poc.o
default: all
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
nbulischeck /
Created Apr 11, 2018
The README file for Nick's CTF.

Nick's CTF

A CTF that challenges you from trivia questions to reverse engineering ELF binaries.

Recommended Tools

  • netcat
    • gnu-netcat
    • nc6
    • openbsd-netcat (discouraged)
nbulischeck / partition.c
Created Feb 26, 2018
Frustrated with strtok? Partition parses strings based on strings instead of characters and doesn't fudge the target string.
View partition.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct view { const char *s; size_t len; };
size_t partition(struct view *result, size_t n,
const char *str, const char *delim){
char *startp = (char *)str, *endp;
size_t l = strlen(delim), i = 0;
nbulischeck / Arch VM Install Script
Last active Jul 24, 2019
Bash script to automate an arch install for virtual machines
View Arch VM Install Script
# Put this on and then
# curl | bash
# Update the System Clock
timedatectl set-ntp true
# Partition the Disks
You can’t perform that action at this time.