[Overthewire] – Natas15

Penulis tidak akan membuat writeup untuk Natas14 karena payload yang digunakan merupakan SQLi paling basic yaitu

Didapatkan password untuk natas15

Link : http://natas15.natas.labs.overthewire.org/

User : Natas15

Password : AwWj0w5cvxrZiONgZ9J5stNVkmxdk39J

Diberikan sebuah tampilan form dengan input Username dan button Check existence.

Mari kita coba memasukkan input “a”

Setelah mencoba beberapa kali, penulis berhasil menemukan user yang exist di database yaitu Natas16, namun nampaknya tidak ada user Natas lain yang bisa ditemukan di database.

Melihat ke source codenya

Kita diberikan sebuah source code dengan query ke database mysql. Penulis menyimpulkan bahwa database berisi Username dan Password. Hal pertama yang perlu diperhatikan adalah didalam querynya terdapat tulisan where username. Penulis mengetahui ada kolom lain bernama password karena ini

Kita memerlukan ‘username’ dan ‘password’ untuk login ke setiap link natas.

Sehingga kesimpulannya adalah kita harus melakukan blind sqli untuk menentukan password Natas16.

Untuk memiliki pemahaman yang lebih dalam, mari kita mengetes melalui request method GET dan menambahkan debug. Untuk melihat bentuk querynya.

Mari kita membuat sebuah script python untuk mengautomasikan blind sqli dengan memanfaatkan fitur mysql LIKE dimana akan dilakukan pengecekan per character.

Python script yang dibuat adalah sebagai berikut

Kita akan melakukan bruteforce dengan query LIKE dan wildcard untuk mendapatkan password natas16 secara perlahan, per character. Penulis mendapatkan pelajaran penting pula dari picoCTF2018 A Simple Question yang juga merupakan blind sqli, bahwa untuk mendapatkan hasil yang diinginkan lebih akurat dalam artian sampai ke kapital atau non kapital characternya, perlu dicocokkan secara BINARY. Sehingga tidak perlu menebak nebak lagi capital non capitalnya. Mari kita run solver scriptnya.

Didapatkan password untuk natas16

WaIHEacj63wnNIBROHeqi3p9t0m5nhmh

Leave a Reply

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