├── 2011
└── gogoomas2011.pdf
├── 2013
├── codegate_2013
│ ├── codegate2013.pdf
│ ├── jeopardy_final.png
│ ├── web400_exploit.frm
│ └── web500.md
├── hdcon_2013
│ └── hdcon2013.md
├── juniorctf_2013
│ └── juniorctf2013.pdf
├── picoctf_2013
│ └── README.md
└── secuinside_2013
│ └── README.md
├── 2014
├── 0x3004_2014
│ ├── RE
│ │ └── README.md
│ ├── misc
│ │ ├── Misc100_Wireshark
│ │ │ └── README.md
│ │ ├── Misc10_Wolfram-g4mm4
│ │ │ └── solution.jpg
│ │ ├── Misc200_DOTO, BEST DOTO
│ │ │ ├── solution.txt
│ │ │ └── src
│ │ │ │ ├── Form1.frm
│ │ │ │ ├── Project1.vbp
│ │ │ │ └── Project1.vbw
│ │ └── Misc50_Hidden1
│ │ │ └── README.md
│ ├── scoreboard.png
│ ├── task_map.png
│ └── web
│ │ ├── README.md
│ │ ├── xyz_bank_success.png
│ │ ├── xyz_template_success.png
│ │ └── xyz_template_trace.png
├── PHDays_2014
│ ├── README.md
│ ├── backup
│ │ ├── Minecraft_really_stereotyped!!.png
│ │ ├── PHP_JL.php
│ │ └── QUEST_ALL
│ │ │ ├── #PRISM-13-Mar-2012.log
│ │ │ ├── #PRISM-15-Aug-2012.log
│ │ │ ├── #PRISM-20-Feb-2013.log
│ │ │ ├── #PRISM-21-Feb-2013.log
│ │ │ ├── #PRISM-21-May-2013.log
│ │ │ ├── #PRISM-22-May-2013.log
│ │ │ ├── #PRISM-23-Jul-2012.log
│ │ │ ├── #derrorim-09-Jan-2013.log
│ │ │ ├── #derrorim-19-Mar-2013.log
│ │ │ ├── #derrorim-24-Jul-2012.log
│ │ │ ├── #derrorim-25-Dec-2012.log
│ │ │ ├── GeraldMalkin.log
│ │ │ ├── ap0linand0r.log
│ │ │ ├── gerald.zip
│ │ │ └── gerald
│ │ │ ├── README.txt
│ │ │ └── projects
│ │ │ ├── Credentials.txt
│ │ │ ├── Derrorim.txt
│ │ │ ├── Detcelfer Estimate.xlsx
│ │ │ ├── Detcelfer.txt
│ │ │ ├── PRISM.pdf
│ │ │ ├── PRISM.txt
│ │ │ └── Zohers.txt
│ └── scoreboard.png
├── RuCTF_2014
│ ├── README.md
│ ├── RECON
│ │ ├── 100_FAVORITE_BOOK
│ │ │ ├── 100.txt
│ │ │ ├── google_search.png
│ │ │ └── oZmiuKnAUs4.jpg
│ │ ├── 200_STOLEN_CAMERA
│ │ │ └── solution.txt
│ │ └── 300_GET_THE_MESSAGE
│ │ │ ├── 1-here.jpg
│ │ │ └── solution.txt
│ ├── misc
│ │ └── README.md
│ ├── ranking.png
│ ├── solved.png
│ ├── stegano
│ │ └── README.md
│ └── web
│ │ ├── README.md
│ │ ├── web100.exe
│ │ └── web300.gif
├── codegate_2014
│ ├── README.md
│ ├── web200.exe
│ └── web500.exe
├── csaw_2014
│ ├── README.md
│ ├── crypto
│ │ ├── README.md
│ │ └── crypto200.php
│ ├── exploitation
│ │ └── README.md
│ ├── forensic
│ │ ├── README.md
│ │ └── pdf.pdf
│ ├── networking
│ │ └── README.md
│ ├── re
│ │ └── README.md
│ ├── recon
│ │ └── README.md
│ ├── trivia
│ │ └── README.md
│ └── web
│ │ └── README.md
├── defcon22_finals
│ ├── defcon_packet_sniff.zip
│ ├── defense.png
│ └── ip_list.txt
└── secuinside_2014
│ └── Secuinside2014.pdf
├── 2015
├── 0ctf_2015
│ └── README.md
├── bctf_2015
│ └── README.md
├── codegate_2015
│ └── README.md
├── hust_2015
│ └── writeup_dcua.pdf
├── inc0gnito_2015
│ └── writeup_dcua.pdf
├── jff3_2015
│ └── README.md
└── polictf_2015
│ └── README.md
├── 2016
└── bkp_2016
│ └── README.md
└── README.md
/2011/gogoomas2011.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stypr/ctf/103a989482d5434f61202037ec398ea7d350d1c2/2011/gogoomas2011.pdf
--------------------------------------------------------------------------------
/2013/codegate_2013/codegate2013.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stypr/ctf/103a989482d5434f61202037ec398ea7d350d1c2/2013/codegate_2013/codegate2013.pdf
--------------------------------------------------------------------------------
/2013/codegate_2013/jeopardy_final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stypr/ctf/103a989482d5434f61202037ec398ea7d350d1c2/2013/codegate_2013/jeopardy_final.png
--------------------------------------------------------------------------------
/2013/codegate_2013/web400_exploit.frm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stypr/ctf/103a989482d5434f61202037ec398ea7d350d1c2/2013/codegate_2013/web400_exploit.frm
--------------------------------------------------------------------------------
/2013/codegate_2013/web500.md:
--------------------------------------------------------------------------------
1 | ## Web500 Workout
2 |
3 |
4 | ```
5 | "\x01\x01\x77\x9b\x2a\xce\x2e\x56\x53\xc7\x4d\xac\x53\xc7\x2b\x55\x4f\x09\x36\xf5\x70\x35\xef\x34\x8d\x0e\x30\x87\xf6\x30\xff\x42\x24\xff\xa0\xa1\x08\x12"
6 |
7 | wow! key is "W3LC0M3_T0_L0L0L0L"
8 | ```
9 |
10 | --
11 | src:
12 |
13 | ```
14 |
25 | ```
26 |
27 | --
28 |
29 | ```
30 |
51 | ```
52 |
53 | --
54 |
55 | ```
56 |
70 | ```
--------------------------------------------------------------------------------
/2013/hdcon_2013/hdcon2013.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stypr/ctf/103a989482d5434f61202037ec398ea7d350d1c2/2013/hdcon_2013/hdcon2013.md
--------------------------------------------------------------------------------
/2013/juniorctf_2013/juniorctf2013.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stypr/ctf/103a989482d5434f61202037ec398ea7d350d1c2/2013/juniorctf_2013/juniorctf2013.pdf
--------------------------------------------------------------------------------
/2013/picoctf_2013/README.md:
--------------------------------------------------------------------------------
1 | ## Failure to boot
2 |
3 | By guessing you get the flag
4 |
5 | ```
6 | sda1 .. fail!
7 | fat32.. success!
8 | ```
9 |
10 | ## Read the manual
11 |
12 | I have coded ROT-* solver long time ago.. so I tried ROT-* solve and solved this problem.
13 |
14 | Decrypted Text:
15 | `IMPORTANT: To enter automatic recovery mode, enter the following recovery key cbcfebeaeeed"`
16 |
17 | ## XMLOL
18 | You just need to download xml file and open with notepad. But i tried with view-source way.
19 | view-source:https://picoctf.com/problems/xmlol.xml
20 | This flag code was written on the xml file:
21 | `
You got it here is your flag: " . FLAG;
18 | }
19 | }
20 | }
21 | ?>
22 | ```
23 |
24 | I found this as md5 collision and by googling you can get the string (http://www.links.org/?p=6)
25 | at the end, you get the flag by inserting the manipulated variables.
26 |
27 | --
28 |
29 | ### original extract
30 | ```
31 | phpvld@phpvld:/var/www/$php -d vld.active=1 -d vld.execute=0 -f index.php
32 |
33 | Finding entry points
34 | Branch analysis from position: 0
35 | Jump found. Position 1 = 19, Position 2 = 42
36 | Branch analysis from position: 19
37 | Jump found. Position 1 = 26, Position 2 = 41
38 | Branch analysis from position: 26
39 | Jump found. Position 1 = 36, Position 2 = 40
40 | Branch analysis from position: 36
41 | Jump found. Position 1 = 40
42 | Branch analysis from position: 40
43 | Jump found. Position 1 = 41
44 | Branch analysis from position: 41
45 | Jump found. Position 1 = 42
46 | Branch analysis from position: 42
47 | Return found
48 | Branch analysis from position: 40
49 | Branch analysis from position: 41
50 | Branch analysis from position: 42
51 | filename: /var/www/0x3004/100-phpvld/index.php
52 | function name: (null)
53 | number of ops: 43
54 | compiled vars: !0 = $s1, !1 = $s2
55 | line # * op fetch ext return operands
56 | ---------------------------------------------------------------------------------
57 | 2 0 > SEND_VAL 0
58 | 1 DO_FCALL 1 'error_reporting'
59 | 3 2 INCLUDE_OR_EVAL 'flag.php', REQUIRE_ONCE
60 | 4 3 FETCH_R global $3 '_SERVER'
61 | 4 FETCH_DIM_R $4 $3, 'REMOTE_ADDR'
62 | 5 SEND_VAR $4
63 | 6 DO_FCALL 1 $5 'md5'
64 | 7 FETCH_R global $2 '_GET'
65 | 8 FETCH_DIM_R $6 $2, $5
66 | 9 ASSIGN !0, $6
67 | 5 10 FETCH_R global $9 '_SERVER'
68 | 11 FETCH_DIM_R $10 $9, 'HTTP_USER_AGENT'
69 | 12 SEND_VAR $10
70 | 13 DO_FCALL 1 $11 'md5'
71 | 14 FETCH_R global $8 '_GET'
72 | 15 FETCH_DIM_R $12 $8, $11
73 | 16 ASSIGN !1, $12
74 | 6 17 IS_NOT_EQUAL ~14 !0, !1
75 | 7 18 > JMPZ ~14, ->42
76 | 19 > SEND_VAR !0
77 | 20 DO_FCALL 1 $15 'md5'
78 | 21 SEND_VAL 'md5'
79 | 22 SEND_VAR !1
80 | 23 DO_FCALL 2 $16 'hash'
81 | 24 IS_IDENTICAL ~17 $15, $16
82 | 8 25 > JMPZ ~17, ->41
83 | 26 > SEND_VAL 'sha512'
84 | 27 SEND_VAR !0
85 | 28 SEND_VAL true
86 | 29 DO_FCALL 3 $18 'hash'
87 | 30 SEND_VAL 'sha512'
88 | 31 SEND_VAR !1
89 | 32 SEND_VAL true
90 | 33 DO_FCALL 3 $19 'hash'
91 | 34 IS_NOT_EQUAL ~20 $18, $19
92 | 9 35 > JMPZ ~20, ->40
93 | 36 > FETCH_CONSTANT ~21 'FLAG'
94 | 37 CONCAT ~22 'You+got+it+%3B%29+Here+is+your+flag%3A+', ~21
95 | 38 ECHO ~22
96 | 39 > JMP ->40
97 | 10 40 > > JMP ->41
98 | 41 > > JMP ->42
99 | 42 > > RETURN 1
100 |
101 | branch: # 0; line: 2- 7; sop: 0; eop: 18; out1: 19; out2: 42
102 | branch: # 19; line: 7- 8; sop: 19; eop: 25; out1: 26; out2: 41
103 | branch: # 26; line: 8- 9; sop: 26; eop: 35; out1: 36; out2: 40
104 | branch: # 36; line: 9- 9; sop: 36; eop: 39; out1: 40
105 | branch: # 40; line: 10- 10; sop: 40; eop: 40; out1: 41
106 | branch: # 41; line: 10- 10; sop: 41; eop: 41; out1: 42
107 | branch: # 42; line: 10- 10; sop: 42; eop: 42
108 | path #1: 0, 19, 26, 36, 40, 41, 42,
109 | path #2: 0, 19, 26, 40, 41, 42,
110 | path #3: 0, 19, 41, 42,
111 | path #4: 0, 42,
112 | ```
113 |
114 | --
115 |
116 | ### my extract
117 |
118 | ```
119 | [root@localhost test]# php -d vld.active=1 -d vld.execute=0 -f index.php
120 | Finding entry points
121 | Branch analysis from position: 0
122 | Jump found. Position 1 = 19, Position 2 = 42
123 | Branch analysis from position: 19
124 | Jump found. Position 1 = 26, Position 2 = 41
125 | Branch analysis from position: 26
126 | Jump found. Position 1 = 36, Position 2 = 40
127 | Branch analysis from position: 36
128 | Jump found. Position 1 = 40
129 | Branch analysis from position: 40
130 | Jump found. Position 1 = 41
131 | Branch analysis from position: 41
132 | Jump found. Position 1 = 42
133 | Branch analysis from position: 42
134 | Return found
135 | Branch analysis from position: 40
136 | Branch analysis from position: 41
137 | Branch analysis from position: 42
138 | filename: /root/test/index.php
139 | function name: (null)
140 | number of ops: 43
141 | compiled vars: !0 = $addr, !1 = $user
142 | line # * op fetch ext return operands
143 | ---------------------------------------------------------------------------------
144 | 2 0 > SEND_VAL 0
145 | 1 DO_FCALL 1 'error_reporting'
146 | 3 2 INCLUDE_OR_EVAL 'flag.php', REQUIRE_ONCE
147 | 4 3 FETCH_R global $3 '_SERVER'
148 | 4 FETCH_DIM_R $4 $3, 'REMOTE_ADDR'
149 | 5 SEND_VAR $4
150 | 6 DO_FCALL 1 $5 'md5'
151 | 7 FETCH_R global $2 '_GET'
152 | 8 FETCH_DIM_R $6 $2, $5
153 | 9 ASSIGN !0, $6
154 | 5 10 FETCH_R global $9 '_SERVER'
155 | 11 FETCH_DIM_R $10 $9, 'HTTP_USER_AGENT'
156 | 12 SEND_VAR $10
157 | 13 DO_FCALL 1 $11 'md5'
158 | 14 FETCH_R global $8 '_GET'
159 | 15 FETCH_DIM_R $12 $8, $11
160 | 16 ASSIGN !1, $12
161 | 6 17 IS_NOT_EQUAL ~14 !0, !1
162 | 18 > JMPZ ~14, ->42
163 | 7 19 > SEND_VAR !0
164 | 20 DO_FCALL 1 $15 'md5'
165 | 21 SEND_VAL 'md5'
166 | 22 SEND_VAR !1
167 | 23 DO_FCALL 2 $16 'hash'
168 | 24 IS_IDENTICAL ~17 $15, $16
169 | 25 > JMPZ ~17, ->41
170 | 8 26 > SEND_VAL 'sha512'
171 | 27 SEND_VAR !0
172 | 28 SEND_VAL true
173 | 29 DO_FCALL 3 $18 'hash'
174 | 30 SEND_VAL 'sha512'
175 | 31 SEND_VAR !1
176 | 32 SEND_VAL true
177 | 33 DO_FCALL 3 $19 'hash'
178 | 34 IS_NOT_EQUAL ~20 $18, $19
179 | 35 > JMPZ ~20, ->40
180 | 9 36 > FETCH_CONSTANT ~21 'FLAG'
181 | 37 CONCAT ~22 '%3Cbr%3E%3Cbr%3EYou+got+it+here+is+your+flag%3A+', ~21
182 | 38 ECHO ~22
183 | 10 39 > JMP ->40
184 | 11 40 > > JMP ->41
185 | 12 41 > > JMP ->42
186 | 14 42 > > RETURN 1
187 |
188 | branch: # 0; line: 2- 6; sop: 0; eop: 18; out1: 19; out2: 42
189 | branch: # 19; line: 7- 7; sop: 19; eop: 25; out1: 26; out2: 41
190 | branch: # 26; line: 8- 8; sop: 26; eop: 35; out1: 36; out2: 40
191 | branch: # 36; line: 9- 10; sop: 36; eop: 39; out1: 40
192 | branch: # 40; line: 11- 11; sop: 40; eop: 40; out1: 41
193 | branch: # 41; line: 12- 12; sop: 41; eop: 41; out1: 42
194 | branch: # 42; line: 14- 14; sop: 42; eop: 42
195 | path #1: 0, 19, 26, 36, 40, 41, 42,
196 | path #2: 0, 19, 2, 40, 41, 42,
197 | path #3: 0, 19, 41, 42,
198 | path #4: 0, 42,
199 | [root@localhost test]#
200 | ```
--------------------------------------------------------------------------------
/2014/0x3004_2014/misc/Misc100_Wireshark/README.md:
--------------------------------------------------------------------------------
1 | ### Wireshark
2 |
3 | Since it is based on HTTP packets,
4 |
5 | 1) convert the file extension from pcapng to txt
6 | 2) Open with a notepad
7 | 3) Ctrl+F(Find) for 0x3004
8 | 4) profit!
9 |
10 | ```
11 | I send you a wireshark logo and the flag 0x3004{I_l0v3_wir35h4rk_S0_MUCH!}.
12 | ```
13 |
14 |
--------------------------------------------------------------------------------
/2014/0x3004_2014/misc/Misc10_Wolfram-g4mm4/solution.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stypr/ctf/103a989482d5434f61202037ec398ea7d350d1c2/2014/0x3004_2014/misc/Misc10_Wolfram-g4mm4/solution.jpg
--------------------------------------------------------------------------------
/2014/0x3004_2014/misc/Misc200_DOTO, BEST DOTO/solution.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stypr/ctf/103a989482d5434f61202037ec398ea7d350d1c2/2014/0x3004_2014/misc/Misc200_DOTO, BEST DOTO/solution.txt
--------------------------------------------------------------------------------
/2014/0x3004_2014/misc/Misc200_DOTO, BEST DOTO/src/Form1.frm:
--------------------------------------------------------------------------------
1 | VERSION 5.00
2 | Begin VB.Form Form1
3 | Caption = "Form1"
4 | ClientHeight = 3195
5 | ClientLeft = 60
6 | ClientTop = 345
7 | ClientWidth = 4680
8 | LinkTopic = "Form1"
9 | ScaleHeight = 3195
10 | ScaleWidth = 4680
11 | StartUpPosition = 3 'Windows Default
12 | Begin VB.CommandButton Command1
13 | Caption = "Command1"
14 | Height = 855
15 | Left = 480
16 | TabIndex = 0
17 | Top = 600
18 | Width = 2295
19 | End
20 | End
21 | Attribute VB_Name = "Form1"
22 | Attribute VB_GlobalNameSpace = False
23 | Attribute VB_Creatable = False
24 | Attribute VB_PredeclaredId = True
25 | Attribute VB_Exposed = False
26 | Private Sub Command1_Click()
27 | Dim winhttp As New winhttp.WinHttpRequest
28 | Dim no$, att() As Variant, trial$, dump$
29 | On Error GoTo GiveMeFlag
30 | att = Array("50", "125", "115", "100", "50", "150", "150", "150", "175", "225", "250", "450", "200", "325", "350", "450", "470", "485", "500", "525", "500", "600", "800", "875", "2250", "2670", "2700", "2700", "2150", "2600", "2950", "3000", "2125", "2200", "2225", "3300", "1850", "1900", "2050", "2050", "275", "875", "875", "1000", "1750", "3300", "5050", "6200", "135", "200", "250", "325", "550", "1450", "1350", "1400")
31 | 'MsgBox att(46)
32 | 'Exit Sub
33 | winhttp.Open "GET", "http://challenges.wargame.vn/200-doto_8a89b5cb130e8e18259b1ec13595c39c/"
34 | winhttp.SetRequestHeader "Cookie", "PHPSESSID=givemeleflag"
35 | winhttp.Send
36 | dump = winhttp.ResponseText
37 | trial = Split(Split(winhttp.ResponseText, " TIMES REMAINING!")(0), "
This is a prison for stolen data from victim's computers. Pay us 31,337 BTC to get back your data or we will delete it. You have only two days for it, so don't waste your time
12 | 13 |Don't try to cheat us. Don't forget who has the better case now!
21 | 22 |Our prison is the best prison in the world. There is no byte leaked from our prison
26 | 27 |We build, maintain and operate our own data centers, and have a deep understanding of your infrastructure from the ground up. That means less finger pointing, more accountability and more reliability.
31 | 32 |