Skip to content

Instantly share code, notes, and snippets.

Ben Holland benjholla

Block or report user

Report or block benjholla

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
@benjholla
benjholla / StringAlphabet.java
Last active Sep 19, 2018
An iterable string generator that deterministically generates all unique strings of length n for given an alphabet
View StringAlphabet.java
import java.util.ArrayList;
import java.util.Iterator;
public class StringAlphabet implements Iterable<String> {
public static void main(String[] args) {
ArrayList<Character> chars = new ArrayList<Character>();
chars.add('a');
chars.add('b');
chars.add('c');
@benjholla
benjholla / SE421.java
Created Aug 20, 2018
Welcome to SE421
View SE421.java
public class SE421 {
public static void main(String[] args) {
print("Hello");
/*
* TODO: print World in unicode
* \u002A\u002F\u0070\u0072\u0069\u006E\u0074\u0028\u0022\u0043\u0072\u0075\u0065\u006C\u0022\u0029\u003B\u002F\u002A
*/
print("World");
@benjholla
benjholla / heartbleed-session-tokens.py
Last active Jul 5, 2018 — forked from mpdavis/heartbleed-altered.py
A modified heartbleed exploit to extract likely session token strings
View heartbleed-session-tokens.py
#!/usr/bin/python
# Connects to servers vulnerable to CVE-2014-0160 and looks for cookies, specifically user sessions.
# Michael Davis (mike.philip.davis@gmail.com)
# Based almost entirely on the quick and dirty demonstration of CVE-2014-0160 by Jared Stafford (jspenguin@jspenguin.org)
# The author disclaims copyright to this source code.
import select
@benjholla
benjholla / PayloadDropperOptions.md
Last active Sep 17, 2017
Payload Dropper Options
View PayloadDropperOptions.md
Usage: java -jar dropper.jar [options]
--help, -h                   Prints this menu and exits.
--safety-off, -so            This flag must be specified to execute the modifications specified by embedded payloads (enabling the flag disables the built-in safety).
--search-directories, -s     Specifies a comma separated list of directory paths to search for targets, if not specified a default set of search directories will be used.
--output-directory, -o       Specifies the output directory to save modified runtimes, if not specified output files will be written as temporary files.
--replace-target, -r         Attempt to replace target with modified target.
--disable-watermarking, -dw  Disables watermarking the modified target (can be used for additional stealth, but could also cause problems for watchers). Watermarks are used to prevent remodifying a target.
--ignore-watermarks, -iw     Ignores watermarks and modifies targets regardless of whether or not they have been previously modified.
--single-in
View gist:b84acd6887e8fece6e329aa6e7822c57
### Keybase proof
I hereby claim:
* I am benjholla on github.
* I am benjholla (https://keybase.io/benjholla) on keybase.
* I have a public key whose fingerprint is 9F91 64D0 3952 07B3 AAA4 5214 CC5B E141 4F37 D334
To claim this, I am signing this object:
View SliceExample.java
package examples;
public class SliceExample {
public static void main(String[] args) {
/* 1 */
int i = readInput();
/* 2 */
if(i == 1){
@benjholla
benjholla / BasicProgramDependenceGraphExample.java
Last active Sep 22, 2016
A basic Program Dependence Graph (PDG) example
View BasicProgramDependenceGraphExample.java
/**
* Basic Program Dependence Graph (PDG) example from:
* https://www.cs.colorado.edu/~kena/classes/5828/s00/lectures/lecture15.pdf
*
* @author Ben Holland
*/
public class BasicProgramDependenceGraphExample {
public static void main(String[] args) {
/* 1 */
@benjholla
benjholla / DynamicDispatchExample.java
Last active Mar 19, 2016
A small Java program demonstrating a dynamic dispatch
View DynamicDispatchExample.java
public class DynamicDispatchExample {
public static void main(String[] args){
A b1 = new B();
A c1 = new C();
A b2 = b1;
A c2 = c1;
// what will get printed?
@benjholla
benjholla / long_jump.c
Created Feb 10, 2016
An example of using long jumps in C to jump interprocedurally
View long_jump.c
#include <stdio.h>
#include <setjmp.h>
// saves the stack context/environment for nonlocal gotos
jmp_buf env;
// foo immediately makes a long jump to the setjmp in main
void foo(void){
longjmp(env,1);
}
@benjholla
benjholla / Quine.java
Created Jan 27, 2016
A simple quine program implementation in Java
View Quine.java
public class Quine {
public static void main(String[] args) {
char quote = 34;
String[] code = {
"public class Quine {",
" public static void main(String[] args) {",
" char quote = 34;",
" String[] code = {",
" };",
" for(int i=0; i<4; i++){",
You can’t perform that action at this time.