sendiri merupakan bahasa pemrograman database yang sering dipakai para webdeveloper maupun admin sebuah situs untuk menampung ataupun menaruh data-data baru dari suatu input yang masuk seperti input member login, search engine, dan lainsebagainya.Sebenarnya SQL injection sendiri bukanlah hal baru, dari dulu teknik ini sudah dikenaldalam dunia hacking sebagai salah satu teknik web hacking, namun baru muncul lagisekarang karena sifatnya yang dapat merusak database dari suatu situs. Teknik yangdigunakan dalam SQL Injection adalah dengan jalan menginput perintah-perintah standar dalam SQL (DDL, DML, DCL) seperti CREATE, INSERT, UPDATE, DROP, ALTER,UNION, SELECT dan perintah-perintah lainnya yang tak asing lagi bagi anda yangsudah mengenal SQL secara mendalam maupun yang baru saja belajar. Dari berbagai jenis SQL dari MySQL, PostgreSQL, Nuke SQL, dan MS-SQL, yang paling rentanterhadap SQL Injection adalah MS-SQL.Bahaya Default SettingDefault setting SQl yang paling berbahaya adalah menggunakan adminID = sa dan password blank alias kosong, apabila ada direktori sebuah situs yang disitu ada inputuntuk adminnya maka kalau kita isi id-nya dengan = 'sa' dan passwordnya =' ' maka kitalangsung masuk sebagai admin, ini kalau default setting-nya belum diubah. Namun adalagi string yang bisa kita input untuk akses sebagai web admin yaitu dengan string ' OR 1=1-- Nah apabila ada input web admin yang input box-nya adalah User dan Password makaapabila kita masukan string ' OR 1=1-- di input box user dan masukan foobar di input box password, maka akan membuat SQL query-nya bingung diakibatkan jadi SQL Querymembacanya sebagai:SELECT * from users where User ='' or 1=1-- and Password ='foobar'yang artinya sqlnya men-SELECT semua query dari user yang user-nya '' (kosong) atau(OR) 1=1 (true) -- (tanda -- adalah mark dari SQL seperti halnya di C/C++ mark-nya //atau /*)Jadi kalau diuraikan logikanya adalah bahwa SQL-nya menganggap 1=1 sebagai truesehingga kolom itu di-bypass lalu kolom password-nya diabaikan karena setelah 1=1terdapat mark SQL ( -- ), sehingga password itupun diabaikan. Lalu apakah hanya itustring-nya dalam menginjeksi sebuah situs? Tentu saja tidak. Inti dari injeksi dalamlangkah awalnya adalah memaksa keluar sebuah error page yang berisi informasi struktur database situs itu dan kalau kita ingin melihatnya kita harus men-debug-nya. Jadi yangkita masukkan adalah string debugging SQL code, yaitu ' having 1=1-- , ini adalah stringyang harus dimasukkan kalau kita ingin melihat error page dari situs sasaran.Mencari TargetSitus web MS-SQL dengan ASP adalah situs yang paling rentan terhadap serangan ini.Jadi bagaimana jika kita ingin mencari target yang menggunakan bahasa scripting ASPyang dapat kita serang? Seperti biasa buka www.google.com nah, di kolom keywordnyamasukkan allinurl:.co.nz/admin.asp. Keyword ini dapat anda modifikasi ke berbagai bentuk tapi intinya allinurl: harus dimasukkan karena Google akan mencari semua URLdalam sebuah situs yang mempunyai direktori /admin.asp.
Leave a Comment