Skip to content

Latest commit

Β 

History

History
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Β 
Β 
Β 
Β 
Β 
Β 

README.md

BGGP5: Download

https://binary.golf/5/

June 21 2024 to September 6 2024

Check out the BGGP5 Recap from tmp.0ut #4:17!!

Entries

Here are the entries for this year

010 Editor

010 Editor is a commercial editor for text and binary files. It has a powerful scripting language that supports running external files.

Size Author Type Issue Writeup Note
57 QoL15155 πŸ‘‘ .1sc 113

Adobe ExtendScript

ExtendScript is a scripting language and an associated toolkit developed by Adobe Systems, intended for use with Creative Suite and Technical Communication Suite products. It is a dialect of the ECMAScript 3 standard and therefore similar to JavaScript and ActionScript.

Size Author Type Issue Writeup Note
84 theXappy πŸ‘‘ .jsx 115

Awk

AWK is a domain-specific language designed for text processing and typically used as a data extraction and reporting tool.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
34 bah πŸ‘‘ .awk 50 Runs an awk file via -E argument.

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
88 krishean πŸ‘‘ .awk 36

Burp Suite Settings JSON

Settings file for the Burp Suite web vulnerability scanner.

Size Author Type Issue Writeup Note
216 caioluders πŸ‘‘ .json 74

CMake

CMake is cross-platform, free, and open-source software for build automation, testing, packaging and installation of software by using a compiler-independent method.

Size Author Type Issue Writeup Note
283 0xca7 πŸ‘‘ .txt 38

COM

COM files are a simple executable format. Found in DOS and other systems.

Size Author Type Issue Writeup Note
250 qkumba πŸ‘‘ COM 120 writeup Tested on Windows 7 32 bit

ELF 32-bit

ELF is short for Executable and Linkable Format. It’s a format used for storing binaries, libraries, and core dumps on disks in Linux and Unix-based systems.

Moreover, the ELF format is versatile. Its design allows it to be executed on various processor types. This is a significant reason why the format is common compared to other executable file formats.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
76 mebeim πŸ‘‘ .elf 117 writeup
89 mndz .elf 89 writeup

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
81 VINSERTF128 πŸ‘‘ .elf 135 writeup
82 mebeim .elf 118 writeup Needs mmap_min_addr set to 0 && uses shortened url http://7f.uk
162 febnug .elf 133 writeup
450 neuschaefer .elf 101 writeup uses ARM Jazelle DBX and openssl, see writeup!

ELF 64-bit

This is the 64 bit variant of the Executable and Linkable Format with only minor differences from the 32 bit version.

The main difference between the 32-bit and the 64-bit versions lies in the differences of struct field ordering and bit widths.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
105 VINSERTF128 πŸ‘‘ .elf 134 writeup Passes 'https://binary.golf/5/5' via argv[1]
112 mebeim .elf 123 writeup Passes 'https://binary.golf/5/5' via argv[1]
3043 retr0id .elf 51 writeup Static aarch64 binary, uses ktls and kernel crypto apis to make a userland golf'd curl implementation

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
109 VINSERTF128 πŸ‘‘ .elf 136 writeup
146 amnesia .elf 138 writeup
620 bah .elf 121 writeup Uses a variety of cool techniques to load libssl. Check the writeup and source!

Elixir

Elixir is a dynamic, functional language that runs on the Erlang VM, known for creating low-latency, distributed, and fault-tolerant systems.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
105 riesha πŸ‘‘ .exs 30 Passes domain in via commandline argument

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
92 haxrob πŸ‘‘ .exs 73
118 riesha .exs 29

Emacs Lisp

Emacs Lisp code is used to modify, extend and customize Emacs.

Size Author Type Issue Writeup Note
64 ZharMeny πŸ‘‘ .el 131 writeup git issue

Epub

E-book file format standard by the International Digital Publishing Forum

Size Author Type Issue Writeup Note
725 vvx7 πŸ‘‘ .epub 39 Writeup

Erlang

Erlang is a general-purpose, concurrent, functional high-level programming language.

Size Author Type Issue Writeup Note
104 rqu πŸ‘‘ .erl 127 writeup git issue
129 haxrob πŸ‘‘ .erl 72

Erlang BEAM Bytecode

BEAM is part of the Erlang Run-Time System (ERTS), which compiles Erlang source code into bytecode, which is then executed on the BEAM.

Size Author Type Issue Writeup Note
207 rqu πŸ‘‘ .beam 128 writeup git issue

GDB Script

GDB scripts are used to automate actions inside of GDB, the GNU Debugger.

Size Author Type Issue Writeup Note
31 QoL15155 πŸ‘‘ .gdb 112

Go

Go is a statically typed, compiled high-level programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson.

Run from source with go run

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
138 airencracken πŸ‘‘ .go 91

Runs With CLI Arguments

Size Author Type Issue Writeup Note
63 mebeim πŸ‘‘ .go 116 writeup git issue
121 Inventhrice .go 132 writeup git issue

HTML

HyperText Markup Language is the standard markup language for documents designed to be displayed in a web browser.

Size Author Type Issue Writeup Note
42 dtmsecurity πŸ‘‘ .html 107 uses short url
62 mattpass .html 142 writeup uses a url shortener
67 caioluders .html 80
76 vvx7 .html 79
80 mattpass .html 10
95 yael333 .html 9

HTTP

HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems.

Size Author Type Issue Writeup Note
37 continue πŸ‘‘ .html 104 writeup Uses openssl

Java Class

Java is a high-level, general-purpose, memory-safe, object-oriented programming language.

Size Author Type Issue Writeup Note
274 jbo πŸ‘‘ .class 124 writeup works on macos only, see entry for details
275 jbo .class 97 writeup

Julia

Julia is a general-purpose programming language, most commonly used for numerical analysis and computational science.

Size Author Type Issue Writeup Note
30 luskabol πŸ‘‘ .html 55

LaTeX

LaTeX is a software system for typesetting documents. LaTeX markup describes the content and layout of the documents.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
64 luskabol πŸ‘‘ .tex 53 Requires --shell-escape argument

LLVM-IR

LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes.

Size Author Type Issue Writeup Note
114 bah πŸ‘‘ .ll 42

Lua

Lua is a lightweight, high-level programming language designed primarily for embedded use in applications.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
35 Rodrigo Mamedio πŸ‘‘ .lua 66 Passes the command via argument, needs curl in path

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
36 Dur4ndal πŸ‘‘ .lua 98 Needs curl in path

Makefile

Size Author Type Issue Writeup Note
10 Krishean πŸ‘‘ Makefile 82 uses cli args

m3u

M3U (MP3 URL or Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator in full) is a computer file format for a multimedia playlist. Careless handling of M3U playlists has been the cause of vulnerabilities in many music players such as VLC media player, iTunes, Winamp, and many others.

Size Author Type Issue Writeup Note
252 bah πŸ‘‘ .m3u 71 Writeup VLC only, with CLI arguments

Nix

Nix package manager ensures immutable packages and reproducible builds across environments. Also, cat ears.

Size Author Type Issue Writeup Note
49 famfo πŸ‘‘ .nix 100

NodeJS

Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
23 pr3y πŸ‘‘ .js 35 Uses command line arguments to pass the url and code

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
51 luskabol πŸ‘‘ .js 48 Uses an http link shortener
68 mattpass .js 47

Nmap

The Nmap Scripting Engine (NSE) allows users to write (and share) simple scripts (using the Lua programming language ) to automate a wide variety of networking tasks.

Size Author Type Issue Writeup Note
98 eatscrayon πŸ‘‘ .nse 40 nmap 127.0.0.1 -p 69 --script=bggp5

Nuclei Template

Nuclei templates are used to configure the Nuclei vulnerability scanner.

Size Author Type Issue Writeup Note
134 caioluders πŸ‘‘ .yaml 67

NuGet Package

NuGet is a package manager for .NET.

Size Author Type Issue Writeup Note
491 theXappy πŸ‘‘ .nupkg 111 writeup

ODS (OpenDocument Spreadsheet)

The Open Document Spreadsheet (ODS) is an open, XML based file format for spreadsheets.

Size Author Type Issue Writeup Note
720 koorogi πŸ‘‘ .ods 44

Perl

Perl is a high level programming language that was intended to be a general purpose scripting language for Unix systems.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
8 mauke πŸ‘‘ .pl 26 Uses command line arguments to pass the url and code
18 vvx7 .pl 14 Uses command line arguments and environment variables
43 airencracken .pl 15 Uses command line arguments to pass url and load modules

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
7 vvx7 πŸ‘‘ .pl 34 Executes code in the filename
47 mauke .pl 26

PHP

PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
8 Krishean πŸ‘‘ .php 77 Uses command line arguments to pass the url and code

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
15 Digoguenes πŸ‘‘ .php 96 Uses file path to contruct the URL
26 mebeim .php 69 writeup Requires allow_url_include and short_path_on in php.ini. File must be run from directory /binary.golf/5/5
30 Digoguenes .php 93 Calls curl from php
36 Dur4ndal .php 92 Requires php.ini option allow_url_include and short_open_tag to be enabled
39 Aleteoryx .php 23 Requires php.ini option allow_url_include to be enabled

Portable Executable (PE)

Portable Executables are an executable format used in Windows and other platforms. There are different types of PEs which are noted. These are treated as distinct from the UEFI App category even though PEs can run on UEFI. See UEFI App for more info. The types are split further into 32-bit specifically, 64-bit compatible, and 64-bit specifically, since they present different challenges.

32-bit Portable Executable on 32-bit Windows

Size Author Type Issue Writeup Note
157 qkumba πŸ‘‘ PE 106 writeup works on Windows XP and earlier

32-bit Portable Executable on 32- or 64-bit Windows

Size Author Type Issue Writeup Note
268 qkumba πŸ‘‘ PE 70 Writeup
385 kspalaiologos PE 46
399 kspalaiologos PE 7
596 fliermate PE 108 Source Code

64-bit Portable Executable on 64-bit Windows

Size Author Type Issue Writeup Note
268 qkumba πŸ‘‘ PE 88 Writeup Calls curl from executable
345 frank2 PE 68

PowerShell Script

PowerShell scripts can be invoked in numerous ways, so we have categories for both types of entries.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
6 Zach πŸ‘‘ .ps1 64 Requires setting an environment variable to hold the actual code

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
14 gremlinbeet πŸ‘‘ .ps 109 Writeup
22 nephryte .ps 32
35 remy .ps1 37
88 theXappy .ps1 28

Python

Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
12 Luidiblu πŸ‘‘ .py 81 Passes entire command via arguments
266 hyp .py 82 writeup Uses an ebpf filter to set all requests to https://binary.golf/5/5

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
22 continue πŸ‘‘ .py 125 writeup Executes the filename as a script
35 Aaron DeVera .py 59 Passes entire command in the file name and executes
41 dtmsecurity .py 105 Uses a URL shortener
46 jbo .py 18
64 caioluders .py 12 Needs requests module installed
77 matteyeux .py 6
86 Aleteoryx .py 27 Uses standard library only

Python .pyc

In Python, .pyc files are compiled bytecode files that are generated by the Python interpreter when a Python script is imported or executed. They can also be executed as standalone programs.

Size Author Type Issue Writeup Note
120 continue πŸ‘‘ .py 126 writeup Executes the filename with python bytecode.

QR Code

A QR code, quick-response code, is a type of two-dimensional matrix barcode invented in 1994 by Masahiro Hara of Japanese company Denso Wave for labelling automobile parts.

Size Author Type Issue Writeup Note
157 mattpass πŸ‘‘ .gif 141 writeup uses a url shortener

Radare2

Radare2 is a featureful low-level command-line tool that provides a set of libraries and plugins to ease reverse engineering tasks.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
46 caioluders πŸ‘‘ .r2 99 Evaluates a config file

Ruby

Ruby is a high level programming language with an emphasis on programming productivity and simplicity.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
7 thedeadbyte πŸ‘‘ .rb 129 Uses command line args and curl
12 luskabol .rb 95 Passes the entire command via arguments, needs curl in path
27 vvx7 .rb 17 Entry loads open-uri via the -r argument, URL passed on command line

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
51 demon-i386 πŸ‘‘ .rb 8 Entry loads the 'net/http' library via the -r argument

Shellcode

Shellcode is machine code for a given CPU architecture, often used in exploits.

Size Author Type Issue Writeup Note
46 jbo πŸ‘‘ .bin 52 writeup

Shell Script

Shell scripts can be invoked in numerous ways, so we have categories for both types of entries.

Runs With CLI Arguments

Size Author Type Issue Writeup Note
2 jbo πŸ‘‘ .sh 19 Passes the entire command via arguments, needs curl in path
5 oriel .sh 21 Passes part of the command in the file name, with arguments
7 mattpass .sh 11 Passes the url via command line argument
97 mattpass .sh 143 writeup Uses the PS1 to download the file every time the shell starts up. Could technically be 0 bytes but we are counting based on the total size of the oneliner. It could also be counted as 38 bytes due to the addition to the .bashrc.

Runs Without CLI Arguments

Size Author Type Issue Writeup Note
2 Luna Hart πŸ‘‘ .sh 57 Passes entire command in the file name and executes
11 oriel .sh 33 Passes entire command in the file name and executes
13 dtmsecurity .sh 41 Uses a redirect to shorten the URL
19 mauke .sh 22 Uses the perl LWP tools with SSL support

SQL

Structured Query Language (SQL) is a domain-specific language used to manage data, especially in a relational database management system (RDBMS).

Size Author Type Issue Writeup Note
48 mattpass πŸ‘‘ .sql 140 writeup Uses link shortener and sqlite-http

SVG

Scalable Vector Graphics is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium since 1999.

Size Author Type Issue Writeup Note
108 caioluders πŸ‘‘ .svg 84
111 avlidienbrunn .svg 76 Needs to be served and viewed in Firefox.
125 Kasumivero .svg 58 Needs to be served and viewed in Firefox.
248 vvx7 .svg 20 Needs to be served and viewed in Firefox.

UEFI App

UEFI Apps are executables that run on UEFI firmware. They are responsible for low level setup and hardware configuration before your main Operating System boots. There are two executable types that can run on UEFI, the PE (Portable Executable) or the TE (Terse Executable). There is also limited scripting capabilities depending on the platform.

Size Author Type Issue Writeup Note
316 mebeim πŸ‘‘ .efi (PE) 130 writeup

Uiua

Uiua (pronounced "wee-wuh") is a stack-based array programming language. Documentation, examples, and an online interpreter can be found at uiua.org.

Size Author Type Issue Writeup Note
146 pr3y πŸ‘‘ .ua 103

URL

URL files are links to websites, that can be stored in the filesystem.

Size Author Type Issue Writeup Note
31 dtmsecurity πŸ‘‘ .bat 110 Uses a link shortener

VBScript

VBScript is a scripting language that grew out of Visual Basic.

Size Author Type Issue Writeup Note
129 sdb πŸ‘‘ .vbs 137 writeup

VSCode Workspace

A VSCode Workspace is a collection of folders and configurations that set up a working environment in VSCode.

Size Author Type Issue Writeup Note
134 theXappy πŸ‘‘ .code-workspace 119

Windows Batch

Windows Batch files are a scripting language inherited from DOS.

Size Author Type Issue Writeup Note
3 gremlinbeet πŸ‘‘ .bat 102 writeup Passes entire command in file name and executes, requires Powershell
4 Krishean .bat 62 Passes entire command in file name and executes

Polyglots

Shell Script / Linux x64 Shellcode

These entries can be run as a shell script or as shell code.

Size Author Type Issue Writeup Note
69 jbo πŸ‘‘ .sh 85 writeup no cli args!

Windows Batch / PHP

Size Author Type Issue Writeup Note
63 Krishean πŸ‘‘ .bat / .php 63

0 Byte Files

0 byte files have historically not been allowed, but that caveat wasn't included in this years challenge page. 0 byte entries are listed here just because the tricks are interesting.

Size Author Type Issue Writeup Note
0 mattpass .txt 65 writeup
0 mattpass .sh 75 writeup
0 jbo .py 122
0 jbo .pl 60 Uses environment variable to pass the url and code