Skip to content

Commit b5f1aa1

Browse files
committedApr 8, 2014
added volga2014 writeups
1 parent f5673a8 commit b5f1aa1

File tree

6 files changed

+18
-496
lines changed

6 files changed

+18
-496
lines changed
 

Diff for: ‎History.markdown

-16
This file was deleted.

Diff for: ‎volga2014/writeups.md renamed to ‎_posts/2014-04-07-volga-ctf-2014-writeups.md

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
<link rel='stylesheet' href='markdown8.css'/>
1+
---
2+
layout: post
3+
title: "Volga CTF 2014 Writeups"
4+
description: ""
5+
category:
6+
tags: []
7+
---
8+
<!--{% include JB/setup %}-->
29

3-
VolgaCTF Quals 2014 Writeups
4-
============================
5-
<a id="joy200"></a>
6-
Joy 200
7-
-------
10+
### Joy 200
811

912
Japcross.txt resembles a picross/nonogram puzzle. It's a bit large to solve by hand, so we wrote a script to reformat it:
1013

@@ -44,13 +47,14 @@ Japcross.txt resembles a picross/nonogram puzzle. It's a bit large to solve by h
4447

4548
Then, we submitted it to an online solver [here](http://www.comp.lancs.ac.uk/~ss/nonogram/auto):
4649

47-
![The solution](joy200.png)
50+
![The solution](/assets/images/volga2014/joy200.png)
4851

4952
The QR code encodes "longing for you drove me through the stars. Alexei Tolstoy". This entire string was the flag.
5053

51-
<a id="joy300"></a>
52-
Joy 300
53-
-------
54+
55+
<!--more-->
56+
57+
### Joy 300
5458

5559
CTFy Rocket is a Flappy Bird clone apparently developed in Borland Delphi. The stated goal in the challenge description is to reach the 42nd "parsec".
5660

@@ -90,9 +94,7 @@ The number of times this occurred also proved difficult to calculate, so we focu
9094

9195
After the game began, we patched the binary to set `dword_45CE14` to 256 each time a collision occured. Then, we were able to fly through the level ignoring obstacles. Once we reached the 42nd parsec, the hidden caption was revealed and it contained our flag.
9296

93-
<a id="crypto100"></a>
94-
Crypto 100
95-
----------
97+
### Crypto 100
9698

9799
Initially, this challenge was very difficult. Though the encoding function was easy to analyze and reimplement, decoding the provided plaintext required some algorithmic skill. Here is the original encoding function:
98100

@@ -115,14 +117,13 @@ Then, the challenge was updated. The only modification was that primes expressib
115117
595865360437951910254909481033;
116118

117119
SortBy[FactorInteger@n, Last]
118-
{{59, 2}, {3889, 3}, {1993357, 7}, {127, 13}, {15569, 59}, {241, 127}, {487, 487}, {7789, 971}, {29, 2219}, {249181, 3889}}
120+
{ {59, 2}, {3889, 3}, {1993357, 7}, {127, 13}, {15569, 59}, {241, 127}, {487, 487}, {7789, 971}, {29, 2219}, {249181, 3889} }
119121

120122
This was short enough to solve manually. Rather than calculate the appropriate new primes, I simply encoded A-Z using the service. Examining only prime exponents for now, the solution is `FLUG_NH_IM_R`, leaving `29^2219` unused. `29+241+1949=2219`, so we deduce that the remaining characters are E's. `FLUGENHEIMER` was the flag.
121123

122124
(The English Wikipedia wordlist included Flugenheimen, but not Flugenheimer)
123125

124-
Exploits 100
125-
------------
126+
### Exploits 100
126127

127128
We are provided a binary and a host/port to connect to. The meat of the binary is:
128129

@@ -184,8 +185,7 @@ Then, we test the strings `'baaaaaaaaaaa'`, `'caaaaaaaaaaa'`, and so on until we
184185

185186
The password we extracted by this method was `S@nd_will2z0`, and providing this as the password returns the flag `Time_works_for_you`. Perhaps a timing attack was the intended solution?
186187

187-
Exploits 300
188-
------------
188+
### Exploits 300
189189

190190
We're challenged to escape a jail, and a few first submissions return Python-style errors.
191191

File renamed without changes.

Diff for: ‎changelog.md

-70
This file was deleted.

0 commit comments

Comments
 (0)