[Overthewire] – Natas6,7,8

http://natas6.natas.labs.overthewire.org/

username : natas6

password : aGoY4q2Dc6MgDq4oL4YtoKtyAg9PeHa1

Tampilan pertama halaman web adalah seperti dibawah ini

Terdapat sebuah field untuk memasukkan input dan link untuk menuju source codenya di http://natas6.natas.labs.overthewire.org/index-source.html

Ditengah terdapat sebuah code php yang akan saya jelaskan, pertama codenya melakukan include sebuah file di folder includes bernama secret.inc , kemudian melakukan pengecekan jika input sudah diterima maka akan dilakukan pengecekan lagi.

Jika input yang kita masukkan sama dengan secret yang dimaksud, maka kita akan mendapatkan password untuk natas7. Pertama penulis berpikir untuk melakukan bruteforce tetapi untuk berjaga jaga penulis melakukan beberapa pengecekan terlebih dahulu. Pertama mari kita mencoba masuk ke includes/secret.inc

Penulis membuat sebuah script python simpel

Menjalankan script ini akan menghasilkan output berupa

Baik kita sudah mendapat secretnya mari kita coba masukkan kedalam kolom input

Menjalankan script ini akan mendapatkan kita :

Access granted. The password for natas7 is 7z3hEENjQtflzgnT29q7wAvMNfZdh0i9

 

http://natas7.natas.labs.overthewire.org/

username = natas7

password = 7z3hEENjQtflzgnT29q7wAvMNfZdh0i9

Pertama penulis mengecek source code terdapat sebuah comment yang berbunyi

Ketika kita menekan tombol Home maka url akan berubah menjadi

  • http://natas7.natas.labs.overthewire.org/index.php?page=home

Ketika kita menekan tombol about maka url akan berubah menjadi

  • http://natas7.natas.labs.overthewire.org/index.php?page=about

Maka penulis berpikir ini adalah sebuah Local File Inclusion, dan mencoba mengganti url nya menjadi

  • http://natas7.natas.labs.overthewire.org/index.php?page=../etc/natas_webpass/natas8

Maka untuk mendapatkan password untuk natas8 kita dapat membuat sebuah script

Kenapa ../../../../../etc/natas_webpass/natas8 ?

Ini karena kita perlu keluar dari 5 directory terlebih dahulu baru dapat mengakses etc/natas_webpass/natas8 dapat diketahui dari error message sebelumnya.

Menjalankan script akan mengembalikan response berupa password natas8

DBfUBfqQG69KvJvJ1iAbMoIpwSNQ9bWe

 

http://natas8.natas.labs.overthewire.org/

username = natas8

password = DBfUBfqQG69KvJvJ1iAbMoIpwSNQ9bWe

Terdapat sebuah tampilan yang kurang lebih sama dengan natas6, mari kita lihat source code challenge ini.

Ditengah terdapat php code lagi yang menuliskan bahwa terdapat sebuah variabel encodedSecret yang berisi string 3d3d516343746d4d6d6c315669563362

Dibawahnya terdapat sebuah function untuk melakukan encoding terhadap input yang kita berikan nantinya. Pertama secret yang kita berikan akan di encode base64 yang dimana hasilnya akan di reverse string baru di ubah dengan bin2hex yang merupakan sebuah fungsi di php.

Maka untuk melakukan decodingnya, pertama-tama kita harus mengembalikan encoding bin2hex tadi. Ternyata ada function php yang bertugas mengembalikan bin2hex, yaitu hex2bin (ya sangat kreatif).

Mari kita coba dengan menulisnya di php

akan mengeluarkan hasil
==QcCtmMml1ViV3b

Kita lanjutkan dengan reverse string

akan mengeluarkan hasil
b3ViV1lmMmtCcQ==
dan terakhir mari kita decode base64

akan menghasilkan

oubWYf2kBq
Kita bisa mendapatkan password untuk natas9 dengan memasukkan secret diatas atau dengan script dibawah

Script diatas akan mengembalikan sebuah output berupa

Access granted. The password for natas9 is W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl

Leave a Reply

Your email address will not be published. Required fields are marked *