Skip to content

Instantly share code, notes, and snippets.

@DosAmp
DosAmp / pkexamp.c
Created January 29, 2022 15:38
Minimal vulnerable example for CVE-2021-4034
// cc -o pkexamp pkexamp.c $(pkg-config --cflags --libs glib-2.0) && \
// sudo sh -c "chown 0:0 pkexamp && chmod u+s pkexamp"
#include <stdlib.h>
#include <stdio.h>
#include <glib.h>
int main(int argc, char **argv, char **envp)
{
gchar *path = NULL, *s;
@DosAmp
DosAmp / consolidate.c
Last active April 7, 2019 12:27
Simple shell-script counter without lockfile
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <libgen.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/mman.h>
/* strlen("-9223372036854775808\n") == 21 */
@DosAmp
DosAmp / Winhistory-Forum Regeln.txt
Last active August 29, 2018 14:41 — forked from gandro/Winhistory-Forum Regeln.txt
Neue Regeln fürs MyBB-Update
[B]§ 1 Anwendung dieser Regeln[/B]
Diese Regeln gelten für alle Mitglieder des Forums, inklusive Gäste (Gästeboard) und der Verwaltung (Administratoren und Moderatoren).
[B]§ 2 Was ist verboten?[/B]
[LIST=1]
[*] Beleidigungen, Hetze, Mobbing und Diskriminierung jeglicher Art.
[*] Menschenverachtende Äußerungen.
[*] Angebot oder Nachfrage von urheberrechtlich- oder lizenzgeschützten Inhalten.
[*] Pornografische sowie explizit sexuelle Darstellungen oder Inhalte (über Ausnahmen entscheidet alleine die Verwaltung).
@DosAmp
DosAmp / make_relative_shortcut.c
Created February 18, 2018 22:59
Modify Windows shortcuts to rely on relative path
// thanks to "How do I create a shortcut whose target is specified by a relative path?"
// https://blogs.msdn.microsoft.com/oldnewthing/20171019-00/?p=97247
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdint.h>
// [MS-SHLLINK]: size of ShellLinkHeader + CLSID
static const uint8_t MAGIC[] = {0x4c, 0x00, 0x00, 0x00, 0x01, 0x14, 0x02, 0x00, 0x00, 0x00, 0x00,
@DosAmp
DosAmp / bahn_login.py
Created January 7, 2018 20:13
Automatic login to Deutsche Bahn Wi-Fi
#!/usr/bin/env python3
import re
import requests
LOGIN_URL = "http://www.wifionice.de/de/"
CSRF_REGEX = re.compile(b'"CSRFToken" value="([0-9a-f]+)"')
print("Einloggen...")
with requests.Session() as s:
@DosAmp
DosAmp / lines.asm
Last active July 21, 2016 15:57
Simple Linux/x86_64 Assembler exercise
; how to compile:
; nasm -f elf64 [-g] -o lines.o lines.asm
; ld [-s] -o lines lines.o
TIOCGWINSZ: equ 0x5413 ; from asm-generic/ioctls.h
sys_write: equ 1 ; from arch/x86/entry/syscalls/syscall_64.tbl
sys_ioctl: equ 16
sys_exit: equ 60 ; no threads, so no exit_group needed
section .text
#!/usr/bin/python3
import socket, json
server_address = ('', 25565)
disconnect_message = "Server currently unavailable"
# encode an integer into a protobuf-compatible VarInt
def varint(i):
if i < 0:
@DosAmp
DosAmp / Wetten v2.csv
Last active December 29, 2015 20:39
Liste von Wetten in #winhistory
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
Wer;hat gegen wen;wann;um was;unter welcher Einschränkung;bezüglich was gewettet;mit welchem Ausgang;und hat dies erfüllt?
gandro;Commodore-Freak;;1 Flasche Mate;;Commodore-Freak hält es NICHT länger als eine Woche mit NetworkManager aus;negativ;ja
Commodore-Freak;;;1 Runde Schnitzel am C3;;Winhistory-Community existiert NICHT mehr nach dem Ende von Facebook;
gandro;DosAmp;26.10.2012;1 Flasche Mate;nur am 29C3;Obama bleibt US-Präsident nach der Wahl;positiv;
Commodore-Freak;oreissig;07.11.2012;1 Getränk;nur am 29C3;Erraten von Commos neuen Smartphone;positiv;ja
Commodore-Freak;;07.11.2012;HTC Mozart;nur am 29C3;im Gegenzug für meiste ausgegebene Getränke auf der Party;;
Kaiser;;07.11.2012;;;Commodore-Freaks HP Pre3 hält NICHT länger als bis zum 06.05.2013;negativ;
oreissig;Commodore-Freak;11.11.2012;1 Bier;nur am 29C3;oreissigs Tablet hat eine höhere Version von WebOS als Commos HP Pre3;positiv;ja
gandro;TAL;04.02.2013;1 Flasche Mate;;Horizontal Dock von Henge Docks (https://hengedocks.com/order_horizontal_do
@DosAmp
DosAmp / encryptporn.sh
Last active December 23, 2015 11:09
Because sometimes there is no use in obscuring a script’s purpose in its name.
#!/bin/bash
GPG_EXTRA_OPTIONS="--compress-algo none"
RECIPIENT="--default-recipient-self"
OUTDIR=
QUIET=
while getopts "h\?r:o:q" o
do
@DosAmp
DosAmp / store_titles.py
Last active September 6, 2017 05:53
Parse output of `pm list packages -f` on Android
import fileinput
import re
import http.client
import html.parser
URI_PREFIX = '/store/apps/details?id='
REGEXP_JAVA_PACKAGE = r"(?P<pkg>([a-z_][a-z0-9_]*(\.[a-z_][a-z0-9_]*)*))$"
REGEXP_PACKAGE_LIST = r"package:(?P<path>/.*\.apk)=" + REGEXP_JAVA_PACKAGE
#REQUEST_HEADERS = {'Accept-Language': 'en'}