"SQL Injection" adalah subset dari sebuah kerentanan diverifikasi / pengguna unsanitized input ("buffer overflows" adalah subset yang berbeda), dan gagasan itu adalah untuk meyakinkan aplikasi untuk menjalankan kode SQL yang tidak dimaksudkan. Jika aplikasi menciptakan string SQL naif dengan cepat dan kemudian berjalan mereka, itu mudah untuk membuat beberapa kejutan nyata.
Kami akan mencatat bahwa ini adalah jalan agak berliku-liku dengan lebih dari satu giliran salah, dan lain-lain dengan pengalaman lebih pasti akan berbeda - dan lebih baik - pendekatan. Tapi kenyataan bahwa kami tidak berhasil menunjukkan bahwa kita tidak sepenuhnya salah arah.
Ada tulisan lain di injeksi SQL, termasuk beberapa yang lebih rinci, tapi yang satu ini menunjukkan alasan penemuan sebanyak proses eksploitasi.
Intranet Target
Ini muncul menjadi aplikasi sepenuhnya kustom, dan kami tidak memiliki pengetahuan sebelumnya tentang aplikasi atau akses ke kode sumber: ini adalah "buta" menyerang. Sedikit menyembul menunjukkan bahwa server ini berlari Microsoft IIS 6 bersama dengan ASP.NET, dan ini dapat disimpulkan bahwa database adalah Microsoft SQL server: kami percaya bahwa teknik ini dapat diterapkan pada hampir semua aplikasi web yang didukung oleh SQL server.
Halaman login memiliki bentuk username-dan-sandi tradisional, tapi juga link email-saya-saya-sandi, yang terakhir terbukti jatuhnya keseluruhan sistem.
Ketika memasukkan alamat email, sistem mungkin tampak dalam database pengguna untuk itu alamat email, dan mengirimkan sesuatu ke alamat tersebut. Sejak alamat email saya tidak ditemukan, itu tidak akan mengirim apa-apa.
Jadi, tes pertama dalam bentuk apapun SQL-ish adalah memasukkan tanda kutip tunggal sebagai bagian dari data: dimaksudkan untuk melihat apakah mereka membangun sebuah string SQL harfiah tanpa pembersih. Ketika mengirimkan formulir dengan kutipan dalam alamat email, kita mendapatkan error 500 (kegagalan server), dan ini menunjukkan bahwa "rusak" input sebenarnya sedang dipecah harfiah. Bingo.
Kami berspekulasi bahwa kode SQL yang mendasari terlihat seperti ini:
SELECT fieldlist
FROM table
WHERE field = '$EMAIL';
Di sini, $ EMAIL adalah alamat kirimkan pada formulir oleh pengguna, dan permintaan yang lebih besar memberikan tanda kutip yang ditetapkan ini sebagai string literal. Kita tidak tahu nama-nama tertentu dari ladang atau meja yang terlibat, tetapi kita tahu sifat mereka, dan kami akan membuat beberapa tebakan yang baik kemudian.
Ketika kita memasuki steve@unixwiz.net '- tanda kutipan catatan penutup - ini dibangun hasil SQL:
SELECT fieldlist
FROM table
WHERE field = 'steve@unixwiz.net'';
saat ini dijalankan, parser SQL menemukan tanda kutipan ekstra dan dibatalkan dengan kesalahan sintaks. Bagaimana ini memanifestasikan dirinya untuk pengguna tergantung pada prosedur internal aplikasi error-recovery, tapi biasanya berbeda dari "alamat email ini" tidak diketahui. Respon kesalahan adalah giveaway mati bahwa masukan pengguna tidak sedang dibersihkan dengan benar dan bahwa aplikasi sudah masak untuk eksploitasi.
Karena data kita mengisi tampaknya pada klausa WHERE, mari kita mengubah sifat klausul bahwa dengan cara SQL hukum dan lihat apa yang terjadi. Dengan memasukkan sesuatu 'OR' x '=' x, yang dihasilkan SQL adalah:
SELECT fieldlist
FROM table
WHERE field = 'anything' OR 'x'='x';
Karena aplikasi tersebut tidak benar-benar berpikir tentang query - hanya membangun sebuah string - penggunaan tanda kutip kami telah berubah klausa WHERE satu komponen ke komponen dua-satu, dan 'x' = 'x' klausa dijamin benar tidak peduli apa klausa pertama (ada pendekatan yang lebih baik untuk bagian "selalu benar" bahwa kita akan menyentuh kemudian).
Tapi tidak seperti permintaan "nyata", yang harus kembali hanya suatu item tunggal setiap kali, versi ini pada dasarnya akan kembali setiap item dalam database anggota. Satu-satunya cara untuk mengetahui aplikasi apa yang akan dilakukan dalam keadaan ini adalah dengan mencobanya. Melakukan hal itu, kami disambut dengan:
informasi login Anda telah dikirim ke random.person @ example.com.
rasa terbaik kami adalah bahwa rekaman pertama dikembalikan oleh query, efektif entri diambil secara acak. Orang ini benar-benar mendapatkan link ini lupa-password melalui email, yang mungkin akan mengejutkan dia dan mungkin meningkatkan peringatan bendera di suatu tempat.
Kita sekarang tahu bahwa kami dapat memanipulasi query ke tujuan kita sendiri, meskipun kita masih belum tahu banyak tentang bagian-bagian itu kita tidak dapat melihat. Tapi kami telah mengamati tiga berbeda tanggapan atas berbagai masukan kami:
* "Informasi login Anda telah dikirim ke email"
* "Kami tidak mengenali alamat email Anda"
* Server error
Dua pertama tanggapan untuk SQL well-formed, sedangkan yang kedua adalah untuk SQL buruk: pembedaan ini akan sangat berguna ketika mencoba menebak struktur query.
Langkah pertama adalah untuk menebak beberapa nama field: kami cukup yakin bahwa permintaan termasuk "alamat email" dan "password", dan mungkin ada hal-hal seperti "alamat Mail US" atau "userid" atau "nomor telepon". Kami akan mahal senang melakukan SHOW TABLE, tapi di samping tidak mengetahui nama tabel, tidak ada kendaraan jelas untuk mendapatkan output dari perintah ini dialihkan kepada kami.
Jadi kami akan melakukannya di langkah. Dalam setiap kasus, kami akan menunjukkan permintaan keseluruhan seperti yang kita tahu, dengan kita sendiri ditampilkan potongan khusus. Kita tahu bahwa akhir ekor query adalah perbandingan dengan alamat email, jadi mari kita menebak email sebagai nama lapangan:
SELECT fieldlist
DARI meja
WHERE field = 'x' email DAN IS NULL; - ';
Tujuannya adalah untuk menggunakan nama field yang diusulkan (email) dalam permintaan dibangun dan mencari tahu apakah SQL sah atau tidak. Kami tidak peduli tentang pencocokan alamat email (itulah sebabnya kami menggunakan dummy 'x'), dan - menandai dimulainya suatu komentar SQL. Ini adalah cara yang efektif untuk "mengkonsumsi" kutipan akhir yang disediakan oleh aplikasi dan tidak khawatir tentang pencocokan mereka.
Jika kita mendapatkan kesalahan pada server, itu berarti SQL kita cacat dan kesalahan sintaks terlempar: kemungkinan besar karena nama lapangan yang buruk. Jika kita mendapatkan jenis respon yang valid, kami menduga namanya dengan benar. Ini adalah kasus apakah kita mendapatkan yang tidak dikenal "email" atau "password dikirim" respons.
Namun, perlu diketahui bahwa kita menggunakan kata sambung DAN bukan ATAU: hal ini disengaja. Pada tahap pemetaan skema SQL, kita tidak benar-benar prihatin dengan menebak semua alamat email tertentu, dan kami tidak ingin pengguna dibanjiri acak "di sini adalah password" email dari aplikasi - ini pasti akan meningkatkan kecurigaan untuk tidak ada tujuan yang baik. Dengan menggunakan kata sambung DAN dengan alamat email yang tidak pernah berlaku, kami yakin bahwa permintaan akan selalu kembali nol baris dan tidak pernah menghasilkan email pengingat sandi.
Mengirimkan potongan di atas memang memberi kami alamat "email tidak dikenal" respon, jadi sekarang kita tahu bahwa alamat email yang disimpan dalam bidang email. Jika ini tidak berhasil, kami telah mencoba EMAIL_ADDRESS atau surat atau sejenisnya. Proses ini akan melibatkan cukup banyak menebak.
Selanjutnya kita akan menebak beberapa nama jelas lainnya: password, user ID, nama, dan sejenisnya. Ini semua dilakukan satu per satu, dan apa saja selain "kegagalan server" berarti kita menebak nama dengan benar.
SELECT fieldlist
DARI meja
WHERE email = 'x' userid DAN IS NULL; - ';
Sebagai hasil dari proses ini, kami menemukan beberapa nama lapangan yang valid:
Email *
* Passwd
* Login_id
* FULL_NAME
Tentu saja ada lebih (dan sumber baik petunjuk adalah nama kolom pada formulir), tapi sedikit menggali tidak menemukan apapun. Tapi kita masih tidak tahu nama tabel yang bidang ini ditemukan dalam - cara untuk mengetahui?
Mencari tabel nama
Aplikasi built-in permintaan sudah memiliki nama tabel dibangun ke dalamnya, tapi kita tidak tahu apa nama itu adalah: ada beberapa pendekatan untuk menemukan bahwa (dan lainnya) nama tabel. Yang kita ambil adalah mengandalkan sebuah subselect.
Sebuah query mandiri
SELECT COUNT (*) tabname DARI
Mengembalikan jumlah record dalam tabel itu, dan tentu saja gagal jika nama tabel tidak diketahui. Kami bisa membangun ini ke dalam string kita untuk probe untuk nama tabel:
SELECT email, passwd, login_id, FULL_NAME
DARI meja
WHERE email = 'x' DAN 1 = (SELECT COUNT (*) tabname DARI); - ';
Kami tidak peduli berapa banyak catatan yang ada, tentu saja, hanya apakah nama tabel sah atau tidak. Dengan iterasi selama beberapa tebakan, akhirnya kami memutuskan bahwa anggota adalah tabel yang valid dalam database. Tapi apakah tabel yang digunakan dalam query ini? Untuk itu kita perlu tes lain masih menggunakan notasi table.field: hanya bekerja untuk tabel yang sebetulnya merupakan bagian dari query ini, tidak hanya yang meja ada.
SELECT email, passwd, login_id, FULL_NAME
DARI anggota
WHERE email = 'x' members.email DAN IS NULL; - ';
Saat ini kembali "tidak diketahui Email", itu menegaskan bahwa SQL kami terbentuk dengan baik dan bahwa kita telah benar menebak nama tabel. Hal ini akan menjadi penting kemudian, tapi kami bukan mengambil pendekatan yang berbeda untuk sementara.
Mencari beberapa pengguna
Pada saat ini kami memiliki ide parsial dari struktur tabel anggota, tetapi kita hanya tahu satu nama pengguna: anggota acak yang mendapat awal kami "Ini adalah sandi Anda" email. Ingat bahwa kami tidak pernah menerima pesan itu sendiri, hanya alamat itu dikirim ke. Kami ingin mendapatkan beberapa nama lagi untuk bekerja dengan, terutama mereka yang cenderung memiliki akses ke data lebih banyak.
Tempat pertama untuk memulai, tentu saja, adalah website perusahaan untuk menemukan siapa yang: "Tentang kami" atau "Kontak" halaman yang sering daftar tempat itu berjalan. Banyak dari ini berisi alamat email, tapi bahkan mereka yang tidak daftar mereka dapat memberikan kita beberapa petunjuk yang memungkinkan kita untuk menemukan mereka dengan alat kami.
Idenya adalah untuk mengajukan permintaan yang menggunakan klausa LIKE, memungkinkan kita untuk melakukan pertandingan parsial nama atau alamat email di database, setiap kali memicu "Kami mengirim sandi Anda" pesan dan email. Peringatan: meskipun ini mengungkapkan alamat email setiap kali kita menjalankannya, itu juga sebenarnya yang mengirimkan email, yang dapat menimbulkan kecurigaan. Hal ini menunjukkan bahwa kita mudah.
Kita bisa melakukan query pada nama email atau nama lengkap (atau mungkin informasi lainnya), setiap kali meletakkan dalam wildcard% yang mendukung SEPERTI:
SELECT email, passwd, login_id, FULL_NAME
DARI anggota
WHERE email = 'x' FULL_NAME SEPERTI ATAU '%% Bob';
Perlu diketahui bahwa meskipun mungkin ada lebih dari satu "Bob", kita hanya bisa melihat salah satu dari mereka: ayat ini menunjukkan pemurnian SEPERTI kita sempit.
Pada akhirnya, kita hanya mungkin perlu satu alamat email yang valid untuk meningkatkan cara kami masuk
kata cinta
Cinta tidak pernah meminta, ia sentiasa memberi, cinta membawa penderitaan, tetapi tidak pernah berdendam, tak pernah membalas dendam. Di mana ada cinta di situ ada kehidupan; manakala kebencian membawa kepada kemusnahan.
Tuhan memberi kita dua kaki untuk berjalan, dua tangan untuk memegang, dua telinga untuk mendengar dan dua mata untuk melihat. Tetapi mengapa Tuhan hanya menganugerahkan sekeping hati pada kita? Karena Tuhan telah memberikan sekeping lagi hati pada seseorang untuk kita mencarinya. Itulah namanya Cinta.
Ada 2 titis air mata mengalir di sebuah sungai. Satu titis air mata tu menyapa air mata yg satu lagi,” Saya air mata seorang gadis yang mencintai seorang lelaki tetapi telah kehilangannya. Siapa kamu pula?”. Jawab titis air mata kedua tu,” Saya air mata seorang lelaki yang menyesal membiarkan seorang gadis yang mencintai saya berlalu begitu sahaja.”
Cinta sejati adalah ketika dia mencintai orang lain, dan kamu masih mampu tersenyum, sambil berkata: aku turut bahagia untukmu.
Jika kita mencintai seseorang, kita akan sentiasa mendoakannya walaupun dia tidak berada disisi kita.
Jangan sesekali mengucapkan selamat tinggal jika kamu masih mau mencoba. Jangan sesekali menyerah jika kamu masih merasa sanggup. Jangan sesekali mengatakan kamu tidak mencintainya lagi jika kamu masih tidak dapat melupakannya.
Perasaan cinta itu dimulai dari mata, sedangkan rasa suka dimulai dari telinga. Jadi jika kamu mahu berhenti menyukai seseorang, cukup dengan menutup telinga. Tapi apabila kamu Coba menutup matamu dari orang yang kamu cintai, cinta itu berubah menjadi titisan air mata dan terus tinggal dihatimu dalam jarak waktu yang cukup lama.
Cinta datang kepada orang yang masih mempunyai harapan walaupun mereka telah dikecewakan. Kepada mereka yang masih percaya, walaupun mereka telah dikhianati. Kepada mereka yang masih ingin mencintai, walaupun mereka telah disakiti sebelumnya dan kepada mereka yang mempunyai keberanian dan keyakinan untuk membangunkan kembali kepercayaan.
Jangan simpan kata-kata cinta pada orang yang tersayang sehingga dia meninggal dunia , lantaran akhirnya kamu terpaksa catatkan kata-kata cinta itu pada pusaranya . Sebaliknya ucapkan kata-kata cinta yang tersimpan dibenakmu itu sekarang selagi ada hayatnya.
Mungkin Tuhan menginginkan kita bertemu dan bercinta dengan orang yang salah sebelum bertemu dengan orang yang tepat, kita harus mengerti bagaimana berterima kasih atas kurniaan itu.
Cinta bukan mengajar kita lemah, tetapi membangkitkan kekuatan. Cinta bukan mengajar kita menghinakan diri, tetapi menghembuskan kegagahan. Cinta bukan melemahkan semangat, tetapi membangkitkan semangat -Hamka
Cinta dapat mengubah pahit menjadi manis, debu beralih emas, keruh menjadi bening, sakit menjadi sembuh, penjara menjadi telaga, derita menjadi nikmat, dan kemarahan menjadi rahmat.
Sungguh menyakitkan mencintai seseorang yang tidak mencintaimu, tetapi lebih menyakitkan adalah mencintai seseorang dan kamu tidak pernah memiliki keberanian untuk menyatakan cintamu kepadanya.
Hal yang menyedihkan dalam hidup adalah ketika kamu bertemu seseorang yang sangat berarti bagimu. Hanya untuk menemukan bahawa pada akhirnya menjadi tidak bererti dan kamu harus membiarkannya pergi.
Kamu tahu bahwa kamu sangat merindukan seseorang, ketika kamu memikirkannya hatimu hancur berkeping.
Dan hanya dengan mendengar kata “Hai” darinya, dapat menyatukan kembali kepingan hati tersebut.
Tuhan ciptakan 100 bahagian kasih sayang. 99 disimpan disisinya dan hanya 1 bahagian diturunkan ke dunia. Dengan kasih sayang yang satu bahagian itulah, makhluk saling berkasih sayang sehingga kuda mengangkat kakinya kerana takut anaknya terpijak.
Kadangkala kamu tidak menghargai orang yang mencintai kamu sepenuh hati, sehinggalah kamu kehilangannya. Pada saat itu, tiada guna sesalan karena perginya tanpa berpatah lagi.
Jangan mencintai seseorang seperti bunga, kerana bunga mati kala musim berganti. Cintailah mereka seperti sungai, kerana sungai mengalir selamanya.
Cinta mampu melunakkan besi, menghancurkan batu, membangkitkan yang mati dan meniupkan kehidupan padanya serta membuat budak menjadi pemimpin. Inilah dasyatnya cinta !
Permulaan cinta adalah membiarkan orang yang kamu cintai menjadi dirinya sendiri, dan tidak merubahnya menjadi gambaran yang kamu inginkan. Jika tidak, kamu hanya mencintai pantulan diri sendiri yang kamu temukan di dalam dirinya.
Cinta itu adalah perasaan yang mesti ada pada tiap-tiap diri manusia, ia laksana setitis embun yang turun dari langit,bersih dan suci. Cuma tanahnyalah yang berlain-lainan menerimanya. Jika ia jatuh ke tanah yang tandus,tumbuhlah oleh kerana embun itu kedurjanaan, kedustaan, penipu, langkah serong dan lain-lain perkara yang tercela. Tetapi jika ia jatuh kepada tanah yang subur,di sana akan tumbuh kesuciaan hati, keikhlasan, setia budi pekerti yang tinggi dan lain-lain perangai yang terpuji.~ Hamka
Kata-kata cinta yang lahir hanya sekadar di bibir dan bukannya di hati mampu melumatkan seluruh jiwa raga, manakala kata-kata cinta yang lahir dari hati yang ikhlas mampu untuk mengubati segala luka di hati orang yang mendengarnya.
Kamu tidak pernah tahu bila kamu akan jatuh cinta. namun apabila sampai saatnya itu, raihlah dengan kedua tanganmu,dan jangan biarkan dia pergi dengan sejuta rasa tanda tanya dihatinya
Cinta bukanlah kata murah dan lumrah dituturkan dari mulut ke mulut tetapi cinta adalah anugerah Tuhan yang indah dan suci jika manusia dapat menilai kesuciannya.
Bukan laut namanya jika airnya tidak berombak. Bukan cinta namanya jika perasaan tidak pernah terluka. Bukan kekasih namanya jika hatinya tidak pernah merindu dan cemburu.
Bercinta memang mudah. Untuk dicintai juga memang mudah. Tapi untuk dicintai oleh orang yang kita cintai itulah yang sukar diperoleh.
Satu-satunya cara agar kita memperolehi kasih sayang, ialah jangan menuntut agar kita dicintai, tetapi mulailah memberi kasih sayang kepada orang lain tanpa mengharapkan balasan.
Tuhan memberi kita dua kaki untuk berjalan, dua tangan untuk memegang, dua telinga untuk mendengar dan dua mata untuk melihat. Tetapi mengapa Tuhan hanya menganugerahkan sekeping hati pada kita? Karena Tuhan telah memberikan sekeping lagi hati pada seseorang untuk kita mencarinya. Itulah namanya Cinta.
Ada 2 titis air mata mengalir di sebuah sungai. Satu titis air mata tu menyapa air mata yg satu lagi,” Saya air mata seorang gadis yang mencintai seorang lelaki tetapi telah kehilangannya. Siapa kamu pula?”. Jawab titis air mata kedua tu,” Saya air mata seorang lelaki yang menyesal membiarkan seorang gadis yang mencintai saya berlalu begitu sahaja.”
Cinta sejati adalah ketika dia mencintai orang lain, dan kamu masih mampu tersenyum, sambil berkata: aku turut bahagia untukmu.
Jika kita mencintai seseorang, kita akan sentiasa mendoakannya walaupun dia tidak berada disisi kita.
Jangan sesekali mengucapkan selamat tinggal jika kamu masih mau mencoba. Jangan sesekali menyerah jika kamu masih merasa sanggup. Jangan sesekali mengatakan kamu tidak mencintainya lagi jika kamu masih tidak dapat melupakannya.
Perasaan cinta itu dimulai dari mata, sedangkan rasa suka dimulai dari telinga. Jadi jika kamu mahu berhenti menyukai seseorang, cukup dengan menutup telinga. Tapi apabila kamu Coba menutup matamu dari orang yang kamu cintai, cinta itu berubah menjadi titisan air mata dan terus tinggal dihatimu dalam jarak waktu yang cukup lama.
Cinta datang kepada orang yang masih mempunyai harapan walaupun mereka telah dikecewakan. Kepada mereka yang masih percaya, walaupun mereka telah dikhianati. Kepada mereka yang masih ingin mencintai, walaupun mereka telah disakiti sebelumnya dan kepada mereka yang mempunyai keberanian dan keyakinan untuk membangunkan kembali kepercayaan.
Jangan simpan kata-kata cinta pada orang yang tersayang sehingga dia meninggal dunia , lantaran akhirnya kamu terpaksa catatkan kata-kata cinta itu pada pusaranya . Sebaliknya ucapkan kata-kata cinta yang tersimpan dibenakmu itu sekarang selagi ada hayatnya.
Mungkin Tuhan menginginkan kita bertemu dan bercinta dengan orang yang salah sebelum bertemu dengan orang yang tepat, kita harus mengerti bagaimana berterima kasih atas kurniaan itu.
Cinta bukan mengajar kita lemah, tetapi membangkitkan kekuatan. Cinta bukan mengajar kita menghinakan diri, tetapi menghembuskan kegagahan. Cinta bukan melemahkan semangat, tetapi membangkitkan semangat -Hamka
Cinta dapat mengubah pahit menjadi manis, debu beralih emas, keruh menjadi bening, sakit menjadi sembuh, penjara menjadi telaga, derita menjadi nikmat, dan kemarahan menjadi rahmat.
Sungguh menyakitkan mencintai seseorang yang tidak mencintaimu, tetapi lebih menyakitkan adalah mencintai seseorang dan kamu tidak pernah memiliki keberanian untuk menyatakan cintamu kepadanya.
Hal yang menyedihkan dalam hidup adalah ketika kamu bertemu seseorang yang sangat berarti bagimu. Hanya untuk menemukan bahawa pada akhirnya menjadi tidak bererti dan kamu harus membiarkannya pergi.
Kamu tahu bahwa kamu sangat merindukan seseorang, ketika kamu memikirkannya hatimu hancur berkeping.
Dan hanya dengan mendengar kata “Hai” darinya, dapat menyatukan kembali kepingan hati tersebut.
Tuhan ciptakan 100 bahagian kasih sayang. 99 disimpan disisinya dan hanya 1 bahagian diturunkan ke dunia. Dengan kasih sayang yang satu bahagian itulah, makhluk saling berkasih sayang sehingga kuda mengangkat kakinya kerana takut anaknya terpijak.
Kadangkala kamu tidak menghargai orang yang mencintai kamu sepenuh hati, sehinggalah kamu kehilangannya. Pada saat itu, tiada guna sesalan karena perginya tanpa berpatah lagi.
Jangan mencintai seseorang seperti bunga, kerana bunga mati kala musim berganti. Cintailah mereka seperti sungai, kerana sungai mengalir selamanya.
Cinta mampu melunakkan besi, menghancurkan batu, membangkitkan yang mati dan meniupkan kehidupan padanya serta membuat budak menjadi pemimpin. Inilah dasyatnya cinta !
Permulaan cinta adalah membiarkan orang yang kamu cintai menjadi dirinya sendiri, dan tidak merubahnya menjadi gambaran yang kamu inginkan. Jika tidak, kamu hanya mencintai pantulan diri sendiri yang kamu temukan di dalam dirinya.
Cinta itu adalah perasaan yang mesti ada pada tiap-tiap diri manusia, ia laksana setitis embun yang turun dari langit,bersih dan suci. Cuma tanahnyalah yang berlain-lainan menerimanya. Jika ia jatuh ke tanah yang tandus,tumbuhlah oleh kerana embun itu kedurjanaan, kedustaan, penipu, langkah serong dan lain-lain perkara yang tercela. Tetapi jika ia jatuh kepada tanah yang subur,di sana akan tumbuh kesuciaan hati, keikhlasan, setia budi pekerti yang tinggi dan lain-lain perangai yang terpuji.~ Hamka
Kata-kata cinta yang lahir hanya sekadar di bibir dan bukannya di hati mampu melumatkan seluruh jiwa raga, manakala kata-kata cinta yang lahir dari hati yang ikhlas mampu untuk mengubati segala luka di hati orang yang mendengarnya.
Kamu tidak pernah tahu bila kamu akan jatuh cinta. namun apabila sampai saatnya itu, raihlah dengan kedua tanganmu,dan jangan biarkan dia pergi dengan sejuta rasa tanda tanya dihatinya
Cinta bukanlah kata murah dan lumrah dituturkan dari mulut ke mulut tetapi cinta adalah anugerah Tuhan yang indah dan suci jika manusia dapat menilai kesuciannya.
Bukan laut namanya jika airnya tidak berombak. Bukan cinta namanya jika perasaan tidak pernah terluka. Bukan kekasih namanya jika hatinya tidak pernah merindu dan cemburu.
Bercinta memang mudah. Untuk dicintai juga memang mudah. Tapi untuk dicintai oleh orang yang kita cintai itulah yang sukar diperoleh.
Satu-satunya cara agar kita memperolehi kasih sayang, ialah jangan menuntut agar kita dicintai, tetapi mulailah memberi kasih sayang kepada orang lain tanpa mengharapkan balasan.
Masih ingatkan pelajaran Sistem Keamanan komputer yang membahas tentang DOS dan DDOS?
Oke disini saya akan membahas secara lengkap apa itu DOS & DDOS berikut nanti saya lampirkan contoh program yang saya buat untuk melakukan teknik DOS & DDOS.
Serangan DoS ( Inggris : denial-of-service attacks) adalah jenis serangan terhadap sebuah komputer atau Server di dalam jaringan Internet dengan cara menghabiskan sumber (resource) yang dimiliki oleh komputer tersebut sampai komputer tersebut tidak dapat menjalankan fungsinya dengan benar sehingga secara tidak langsung mencegah pengguna lain untuk memperoleh akses layanan dari komputer yang diserang tersebut.
Dalam sebuah serangan Denial of Service, si penyerang akan mencoba untuk mencegah akses seorang pengguna terhadap sistem atau jaringan dengan menggunakan beberapa cara, yakni sebagai berikut:
Membanjiri lalu lintas jaringan dengan banyak data sehingga lalu lintas jaringan yang datang dari pengguna yang terdaftar menjadi tidak dapat masuk ke dalam sistem jaringan. Teknik ini disebut sebagai traffic flooding.
Membanjiri jaringan dengan banyak request terhadap sebuah layanan jaringan yang disedakan oleh sebuah host sehingga request yang datang dari pengguna terdaftar tidak dapat dilayani oleh layanan tersebut. Teknik ini disebut sebagai request flooding.
Mengganggu komunikasi antara sebuah host dan kliennya yang terdaftar dengan menggunakan banyak cara, termasuk dengan mengubah informasi konfigurasi sistem atau bahkan perusakan fisik terhadap komponen dan server.
Bentuk serangan Denial of Service awal adalah serangan SYN Flooding Attack, yang pertama kali muncul pada tahun 1996 dan mengeksploitasi terhadap kelemahan yang terdapat di dalam protokol Transmision Control Protocol (TCP). Serangan-serangan lainnya akhirnya dikembangkan untuk mengeksploitasi kelemahan yang terdapat di dalam Sistim Operasi, layanan jaringan atau aplikasi untuk menjadikan sistem, layanan jaringan, atau aplikasi tersebut tidak dapat melayani pengguna, atau bahkan mengalami crash. Beberapa tool yang digunakan untuk melakukan serangan DoS pun banyak dikembangkan setelah itu (bahkan beberapa tool dapat diperoleh secara bebas), termasuk di antaranya Bonk, LAND, Smurf, Snork, WinNuke, dan Teardrop.
Meskipun demikian, serangan terhadap TCP merupakan serangan DoS yang sering dilakukan. Hal ini disebabkan karena jenis serangan lainnya (seperti halnya memenuhi ruangan hard disk dalam sistem, mengunci salah seorang akun pengguna yang valid, atau memodifikasi tabel routing dalam sebuah router) membutuhkan penetrasi jaringan terlebih dahulu, yang kemungkinan penetrasinya kecil, apalagi jika sistem jaringan tersebut telah diperkuat.
Distributed Denial of Service
Cara kerja serangan Distributed Denial of Service sederhana
Distributed Denial of Service (DDoS) atau Penolakan Layanan secara Terdistribusi adalah salah satu jenis serangan Denial of Service yang menggunakan banyak host penyerang (baik itu menggunakan komputer yang didedikasikan untuk melakukan penyerangan atau komputer yang "dipaksa" menjadi zombie) untuk menyerang satu buah host target di jaringan.
Serangan Denial of Service klasik bersifat "satu lawan satu", sehingga dibutuhkan sebuah host yang kuat (baik itu dari kekuatan pemrosesan atau sistem operasinya) demi membanjiri lalu lintas host target sehingga mencegah klien yang valid untuk mengakses layanan jaringan pada server yang dijadikan target serangan. Serangan DDoS ini menggunakan teknik yang lebih canggih dibandingkan dengan serangan Denial of Service yang asli, yakni dengan meningkatkan serangan beberapa kali dengan menggunakan beberapa komputer sekaligus, sehingga dapat mengakibatkan server atau keseluruhan segmen jaringan dapat menjadi "tidak berguna" bagi klien.
Serangan DDoS pertama kali muncul pada tahun 1999, tiga tahun setelah serangan Denial of Service yang asli dengan menggunakan serangan SYN Flooding, yang mengakibatkan beberapa server web di Internet mengalami "downtime". Pada awal Februari 2000, sebuah serangan yang besar dilakukan sehingga beberapa situs web terkenal seperti Amazon, CNN, eBay, dan Yahoo! mengalami "downtime" selama beberapa jam. Serangan yang lebih baru lagi pernah dilancarkan pada bulan Oktober 2002 ketika 9 dari 13 root DNS Server diserang dengan menggunakan DDoS yang sangat besar yang disebut dengan "Ping Flood". Pada puncak serangan, beberapa server-server tersebut pada tiap detiknya mendapatkan lebih dari 150000 request paket Internet Control Message Protocol (ICMP). Untungnya, karena serangan hanya dilakukan selama setengah jam saja, lalu lintas Internet pun tidak terlalu terpengaruh dengan serangan tersebut (setidaknya tidak semuanya mengalami kerusakan).
Tidak seperti akibatnya yang menjadikan kerumitan yang sangat tinggi (bagi para administrator jaringan dan server), teori dan praktek untuk melakukan serangan DDoS justru sederhana, yakni sebagai berikut:
Menjalankan tool yang secara otomatis akan memindai jaringan untuk menemukan host-host yang rentan (vulnerable) yang terkoneksi ke Internet. Setelah host yang rentan ditemukan, tool tersebut dapat menginstalasikan salah satu jenis dari Trojan Horse yang disebut sebagai DDoS Trojan, yang akan mengakibatkan host tersebut menjadi zombie yang dapat dikontrol secara jarak jauh oleh sebuah komputer master yang digunakan oleh si penyerang asli untuk melancarkan serangan. Beberapa tool yang digunakan untuk melakukan serangan serperti ini adalah TFN, TFN2K, Trinoo, dan Stacheldraht, yang dapat diperoleh secara bebas di Internet.
Ketika si penyerang merasa telah mendapatkan jumlah host yang cukup (sebagai zombie) untuk melakukan penyerangan, penyerang akan menggunakan komputer master untuk memberikan sinyal penyerangan terhadap jaringan target atau host target. Serangan ini umumnya dilakukan dengan menggunakan beberapa bentuk SYN Flood atau skema serangan DoS yang sederhana, tapi karena dilakukan oleh banyak host zombie, maka jumlah lalu lintas jaringan yang diciptakan oleh mereka adalah sangat besar, sehingga "memakan habis" semua sumber daya Transmission Control Protocol yang terdapat di dalam komputer atau jaringan target dan dapat mengakibatkan host atau jaringan tersebut mengalami "downtime".
Hampir semua platform komputer dapat dibajak sebagai sebuah zombie untuk melakukan serangan seperti ini. Sistem-sistem populer, semacam Solaris, Linux, Microsoft Windows dan beberapa varian UNIX dapat menjadi zombie, jika memang sistem tersebut atau aplikasi yang berjalan di atasnya memiliki kelemahan yang dieksploitasi oleh penyerang.
Beberapa contoh Serangan DoS lainnya adalah adalah:
Serangan Buffer Overflow, mengirimkan data yang melebihi kapasitas sistim, misalnya paket ICMP yang berukuran sangat besar.
Serangan SYN, mengirimkan data TCP SYN dengan alamat palsu.
Serangan Teardrop, mengirimkan paket IP dengan nilai offsetyang membingungkan.
Serangan Smurf, mengirimkan paket ICMP bervolume besar dengan alamat host lain.
ICMP Flooding
Serangan DoS ( Inggris : denial-of-service attacks) adalah jenis serangan terhadap sebuah komputer atau Server di dalam jaringan Internet dengan cara menghabiskan sumber (resource) yang dimiliki oleh komputer tersebut sampai komputer tersebut tidak dapat menjalankan fungsinya dengan benar sehingga secara tidak langsung mencegah pengguna lain untuk memperoleh akses layanan dari komputer yang diserang tersebut.
Dalam sebuah serangan Denial of Service, si penyerang akan mencoba untuk mencegah akses seorang pengguna terhadap sistem atau jaringan dengan menggunakan beberapa cara, yakni sebagai berikut:
Membanjiri lalu lintas jaringan dengan banyak data sehingga lalu lintas jaringan yang datang dari pengguna yang terdaftar menjadi tidak dapat masuk ke dalam sistem jaringan. Teknik ini disebut sebagai traffic flooding.
Membanjiri jaringan dengan banyak request terhadap sebuah layanan jaringan yang disedakan oleh sebuah host sehingga request yang datang dari pengguna terdaftar tidak dapat dilayani oleh layanan tersebut. Teknik ini disebut sebagai request flooding.
Mengganggu komunikasi antara sebuah host dan kliennya yang terdaftar dengan menggunakan banyak cara, termasuk dengan mengubah informasi konfigurasi sistem atau bahkan perusakan fisik terhadap komponen dan server.
Bentuk serangan Denial of Service awal adalah serangan SYN Flooding Attack, yang pertama kali muncul pada tahun 1996 dan mengeksploitasi terhadap kelemahan yang terdapat di dalam protokol Transmision Control Protocol (TCP). Serangan-serangan lainnya akhirnya dikembangkan untuk mengeksploitasi kelemahan yang terdapat di dalam Sistim Operasi, layanan jaringan atau aplikasi untuk menjadikan sistem, layanan jaringan, atau aplikasi tersebut tidak dapat melayani pengguna, atau bahkan mengalami crash. Beberapa tool yang digunakan untuk melakukan serangan DoS pun banyak dikembangkan setelah itu (bahkan beberapa tool dapat diperoleh secara bebas), termasuk di antaranya Bonk, LAND, Smurf, Snork, WinNuke, dan Teardrop.
Meskipun demikian, serangan terhadap TCP merupakan serangan DoS yang sering dilakukan. Hal ini disebabkan karena jenis serangan lainnya (seperti halnya memenuhi ruangan hard disk dalam sistem, mengunci salah seorang akun pengguna yang valid, atau memodifikasi tabel routing dalam sebuah router) membutuhkan penetrasi jaringan terlebih dahulu, yang kemungkinan penetrasinya kecil, apalagi jika sistem jaringan tersebut telah diperkuat.
Distributed Denial of Service
Cara kerja serangan Distributed Denial of Service sederhana
Distributed Denial of Service (DDoS) atau Penolakan Layanan secara Terdistribusi adalah salah satu jenis serangan Denial of Service yang menggunakan banyak host penyerang (baik itu menggunakan komputer yang didedikasikan untuk melakukan penyerangan atau komputer yang "dipaksa" menjadi zombie) untuk menyerang satu buah host target di jaringan.
Serangan Denial of Service klasik bersifat "satu lawan satu", sehingga dibutuhkan sebuah host yang kuat (baik itu dari kekuatan pemrosesan atau sistem operasinya) demi membanjiri lalu lintas host target sehingga mencegah klien yang valid untuk mengakses layanan jaringan pada server yang dijadikan target serangan. Serangan DDoS ini menggunakan teknik yang lebih canggih dibandingkan dengan serangan Denial of Service yang asli, yakni dengan meningkatkan serangan beberapa kali dengan menggunakan beberapa komputer sekaligus, sehingga dapat mengakibatkan server atau keseluruhan segmen jaringan dapat menjadi "tidak berguna" bagi klien.
Serangan DDoS pertama kali muncul pada tahun 1999, tiga tahun setelah serangan Denial of Service yang asli dengan menggunakan serangan SYN Flooding, yang mengakibatkan beberapa server web di Internet mengalami "downtime". Pada awal Februari 2000, sebuah serangan yang besar dilakukan sehingga beberapa situs web terkenal seperti Amazon, CNN, eBay, dan Yahoo! mengalami "downtime" selama beberapa jam. Serangan yang lebih baru lagi pernah dilancarkan pada bulan Oktober 2002 ketika 9 dari 13 root DNS Server diserang dengan menggunakan DDoS yang sangat besar yang disebut dengan "Ping Flood". Pada puncak serangan, beberapa server-server tersebut pada tiap detiknya mendapatkan lebih dari 150000 request paket Internet Control Message Protocol (ICMP). Untungnya, karena serangan hanya dilakukan selama setengah jam saja, lalu lintas Internet pun tidak terlalu terpengaruh dengan serangan tersebut (setidaknya tidak semuanya mengalami kerusakan).
Tidak seperti akibatnya yang menjadikan kerumitan yang sangat tinggi (bagi para administrator jaringan dan server), teori dan praktek untuk melakukan serangan DDoS justru sederhana, yakni sebagai berikut:
Menjalankan tool yang secara otomatis akan memindai jaringan untuk menemukan host-host yang rentan (vulnerable) yang terkoneksi ke Internet. Setelah host yang rentan ditemukan, tool tersebut dapat menginstalasikan salah satu jenis dari Trojan Horse yang disebut sebagai DDoS Trojan, yang akan mengakibatkan host tersebut menjadi zombie yang dapat dikontrol secara jarak jauh oleh sebuah komputer master yang digunakan oleh si penyerang asli untuk melancarkan serangan. Beberapa tool yang digunakan untuk melakukan serangan serperti ini adalah TFN, TFN2K, Trinoo, dan Stacheldraht, yang dapat diperoleh secara bebas di Internet.
Ketika si penyerang merasa telah mendapatkan jumlah host yang cukup (sebagai zombie) untuk melakukan penyerangan, penyerang akan menggunakan komputer master untuk memberikan sinyal penyerangan terhadap jaringan target atau host target. Serangan ini umumnya dilakukan dengan menggunakan beberapa bentuk SYN Flood atau skema serangan DoS yang sederhana, tapi karena dilakukan oleh banyak host zombie, maka jumlah lalu lintas jaringan yang diciptakan oleh mereka adalah sangat besar, sehingga "memakan habis" semua sumber daya Transmission Control Protocol yang terdapat di dalam komputer atau jaringan target dan dapat mengakibatkan host atau jaringan tersebut mengalami "downtime".
Hampir semua platform komputer dapat dibajak sebagai sebuah zombie untuk melakukan serangan seperti ini. Sistem-sistem populer, semacam Solaris, Linux, Microsoft Windows dan beberapa varian UNIX dapat menjadi zombie, jika memang sistem tersebut atau aplikasi yang berjalan di atasnya memiliki kelemahan yang dieksploitasi oleh penyerang.
Beberapa contoh Serangan DoS lainnya adalah adalah:
Serangan Buffer Overflow, mengirimkan data yang melebihi kapasitas sistim, misalnya paket ICMP yang berukuran sangat besar.
Serangan SYN, mengirimkan data TCP SYN dengan alamat palsu.
Serangan Teardrop, mengirimkan paket IP dengan nilai offsetyang membingungkan.
Serangan Smurf, mengirimkan paket ICMP bervolume besar dengan alamat host lain.
ICMP Flooding
Perintah FTP
1. Perintah cd --> Di pekek buat berpindah direktori (Ya iyalah... namanya aja cd, change directory.. yang nulis dodol nih ah.. Wakakakak...)
2. Perintah ls --> Di pakek buat nge list isi direktori (Ya iyalah, ls kan artinya list.. Wakakakaka)
3. Perintahh lcd --> Di pakek buat berpindah direktori di komputer lokal (komputer kita.. ya iyalah.. Masa komputer saya.. :D)
4. Perintah mkdir --> Di pakek buat bikin folder / direktori (Iyalah.. kan make direktori.. Wekekek)
5. Perintah delete / mdelete --> DI pakek buat delete file. kalo mdelete di pakek buat delete beberapa file. Make parameter asteriks * --> Contoh : mdelete *.txt
6. Perintah rename --> Di pakek buat nge rename nama file.
7. Perintah rmdir --> Di pakek buat emove direktori
8. Perintah ! --> Di pakek buat menjalankan perintah di direktori komputer lokal (alias komputer kita, bukan komputer si serper lho yah.. Wakakak.. Awas salah.. jadi kalo makek perintah !ls --> yang di ls komputer kita bro, okehh.. :D)
9. Perintah put dan mput --> Di pakek buat Nro file di serper (Upload bahasa kerennya.. Wekekekek). Kalo mput buat naro banyak file sekaligus, make tanda atau parameter asteriks ? dan *
10. Perintah get dan mget --> Di pakek buat mengambil (mengunduh bahasa kerennya.. Wakakaka) file dari server (get). Kalo mget di pakek buat mengambil banyak file. Parameternya make tanda asteriks ? dan * (sayang Obeliks nya gak Ada.. Gyahahahaha)
11. Perintah prompt --> Di pakek buat ngidupin atau matiin konfirmasi tiap melakukan put atau get. Nanya dulu nih si FTP biasanya.. Kek gini --> Are you sure to marry me?? Wakakakakak. Buat matiin yang kayak gitu tadi, ketik aja prompt. Kalo mau ngidupin lagi ketik prompt lagi..
12. Perintah hash --> Di pakek buat nampilin indikator proses upload dan download
13. Perintah bye atau quit --> DI pakek buat mutusin koneksi FTP.. babay.. Wakakakak
14. The Last.. jeng.. jeng.. jeng.. Jurus Ampuh Perintah help --> Di pakek kalo udah bingung, ga tau mau ngapain lagi.. Wkakakakaka..
Okehh.. Segitu ajah.. Ntar lanjut lagi kapan2 ah.. DAh shubuh.. Mau bobo dulu.. Entar siang ada Kuliah AI, dan Kuis.. Errr.. Damn.. Dadah emaunyah..
2. Perintah ls --> Di pakek buat nge list isi direktori (Ya iyalah, ls kan artinya list.. Wakakakaka)
3. Perintahh lcd --> Di pakek buat berpindah direktori di komputer lokal (komputer kita.. ya iyalah.. Masa komputer saya.. :D)
4. Perintah mkdir --> Di pakek buat bikin folder / direktori (Iyalah.. kan make direktori.. Wekekek)
5. Perintah delete / mdelete --> DI pakek buat delete file. kalo mdelete di pakek buat delete beberapa file. Make parameter asteriks * --> Contoh : mdelete *.txt
6. Perintah rename --> Di pakek buat nge rename nama file.
7. Perintah rmdir --> Di pakek buat emove direktori
8. Perintah ! --> Di pakek buat menjalankan perintah di direktori komputer lokal (alias komputer kita, bukan komputer si serper lho yah.. Wakakak.. Awas salah.. jadi kalo makek perintah !ls --> yang di ls komputer kita bro, okehh.. :D)
9. Perintah put dan mput --> Di pakek buat Nro file di serper (Upload bahasa kerennya.. Wekekekek). Kalo mput buat naro banyak file sekaligus, make tanda atau parameter asteriks ? dan *
10. Perintah get dan mget --> Di pakek buat mengambil (mengunduh bahasa kerennya.. Wakakaka) file dari server (get). Kalo mget di pakek buat mengambil banyak file. Parameternya make tanda asteriks ? dan * (sayang Obeliks nya gak Ada.. Gyahahahaha)
11. Perintah prompt --> Di pakek buat ngidupin atau matiin konfirmasi tiap melakukan put atau get. Nanya dulu nih si FTP biasanya.. Kek gini --> Are you sure to marry me?? Wakakakakak. Buat matiin yang kayak gitu tadi, ketik aja prompt. Kalo mau ngidupin lagi ketik prompt lagi..
12. Perintah hash --> Di pakek buat nampilin indikator proses upload dan download
13. Perintah bye atau quit --> DI pakek buat mutusin koneksi FTP.. babay.. Wakakakak
14. The Last.. jeng.. jeng.. jeng.. Jurus Ampuh Perintah help --> Di pakek kalo udah bingung, ga tau mau ngapain lagi.. Wkakakakaka..
Okehh.. Segitu ajah.. Ntar lanjut lagi kapan2 ah.. DAh shubuh.. Mau bobo dulu.. Entar siang ada Kuliah AI, dan Kuis.. Errr.. Damn.. Dadah emaunyah..
Langganan:
Postingan (Atom)
