Rabu, 25 Juli 2012

XPath Injection Tutorial Hack database Website

Setiap hari kita mendapatkan berita bahwa begitu dan begitu website hack oleh Hacker beberapa dan kebanyakan dari kita berpikir Hacker yang sangat jenius tetapi kenyataannya sangat berbeda. Sebagian besar hacker yang defaces situs hacker pemula dan melakukan tindakan memalukan hanya untuk popularitas dan pamer. Hanya dengan kepentingan yang berbeda dari orang ke orang, desainer web hanya
berkonsentrasi pada merancang situs web dan hacker hanya berfokus pada penelusuran dari eksploitasi. Tapi apakah kita pernah terkonsentrasi pada kenyataan, jika web designer mulai mencari eksploitasi destruktif maka bagaimana ia dapat, dan jika dia menggunakannya secara positif maka berapa banyak konstruktif yang dapat. Jadi Anda keputusan jalan mana yang akan Anda pilih .. konstruktif atau destruktif. Saya hanya dapat menyediakan tutorial yang akan meningkatkan basis pengetahuan Anda ..

Catatan: Artikel ini adalah untuk Tujuan Pendidikan saja. Jadilah bagian dari masyarakat yang konstruktif. Fame dan Nama juga bisa didapatkan dengan menjadi di sisi konstruktif. Saya tahu sulit tetapi jika anda bagus maka Anda akan pasti diakui.

Jadi mari kita mulai dengan dasar-dasar yang sangat ... Anda semua harus memiliki pengetahuan dasar tentang HTML dan XML maka saya akan meninggalkan topik tersebut karena mereka adalah hal yang sangat dasar jika Anda berhubungan dengan web dalam kehidupan sehari-hari. Jika Anda tidak tahu dasar-dasar saya akan saran Anda untuk pergi ke W3Schools dan memiliki review singkat tentang konsep-konsep ini.




Apa XPath?
XPath pada dasarnya sintaks untuk mendefinisikan bagian dari dokumen XML yang menggunakan ekspresi jalan untuk menavigasi dalam dokumen XML dan yang tidak dengan bantuan fungsi standar standar seperti nilai string, nilai numerik, tanggal dan perbandingan waktu, urutan dan dll Node manipulasi.

Saat ini sebagian besar webmaster menggunakan dokumen XML untuk menyimpan data sensitif dan menggunakan XPath untuk menavigasi data dalam dokumen XML. Keuntungan utama untuk menggunakan dokumen XML adalah bahwa mereka begitu kompleks sehingga mereka hampir tidak terbaca untuk manusia. Tapi kita tahu di mana ada kompleksitas, ada cara bagi hacker untuk memainkan peran mereka. Jadi teman mari kita mulai tutorial kami tentang Injeksi XPath ..

Apakah Injeksi XPath?
XPath Injection adalah teknik serangan yang digunakan untuk mengeksploitasi aplikasi yang membangun XPath (XML Bahasa Path) pertanyaan dari pengguna-masukan yang disediakan untuk query atau menavigasi dokumen XML. Hal ini dapat digunakan langsung oleh aplikasi untuk query dokumen XML, sebagai bagian dari operasi besar seperti menerapkan transformasi XSLT untuk dokumen XML, atau menerapkan XQuery untuk dokumen XML.
Dalam injeksi XPath, kami mencoba untuk menyuntikkan data ke dalam aplikasi sehingga dijalankan dikendalikan oleh pengguna XPath query. Ketika berhasil disuntikkan, celah ini memungkinkan seorang hacker untuk melewati sistem otentikasi lengkap atau mengakses informasi tanpa otorisasi yang tepat.

Mari kita belajar dengan bantuan contoh yang bagaimana XPath bekerja, dalam contoh berikut kita memiliki file sampel XML Database:


<?xml version="1.0" encoding="ISO-8859-1"?>
<HackingLoops_database>
<hackingloops_user>
<username>snake-silver</username>
<password>testing123</password>
<account>Administrator</account>
</hackingloops_user>
<hackingloops_user>
<username>Lokesh</username>
<password>test1234</password>
<account>Subscriber</account>
</hackingloops_user>
<hackingloops_user>
<username>Destructive</username>
<password>mind123</password>
<account>Subscriber</account>
</hackingloops_user>
</snake-silver_database> 


Dalam kode di atas menunjukkan format dasar bagaimana file XML yang digunakan untuk menyimpan informasi sensitif.
Sekarang jika kita ingin mengambil informasi tentang Administrator dari file XML di atas, kita harus menulis query XPath seperti di bawah ini:
string(//snake-silver_user[username/text()='snake-silver' and 
password/text()='testing123']/account/text())

Permintaan XPath di atas adalah apa webmaster telah tertanam ke dalam kode-nya untuk mengakses dokumen database XML.

Sekarang jika web designer belum properti disaring input pengguna, maka hacker akan dapat menyuntikkan kode XPath ke dalam situs web dan karenanya mengganggu hasil query. Berikut adalah contoh query XPath bahwa hacker akan menggunakan hack database file XML:
string(//snake-silver_user[username/text()='' or '1' = '1' and
 password/text()='' or '1' = '1']/account/text())

Permintaan XPath di atas adalah apa webmaster telah tertanam ke dalam kode-nya untuk mengakses dokumen database XML.

Sekarang jika web designer belum properti disaring input pengguna, maka hacker akan dapat menyuntikkan kode XPath ke dalam situs web dan karenanya mengganggu hasil query. Berikut adalah contoh query XPath bahwa hacker akan usHave Anda perhatikan, apa yang saya telah disuntikkan di tempat username dan password.

Catatan: Dengan di bawah master teknik web menggunakan XML dan XPath dalam website mereka. Ini adalah bagaimana sebenarnya akan terlihat:
<?php
$login = simplexml_load_file("snake-silver_database.xml");
$result=$login->xpath("//snake-silver_user[username/test()='".$_POST['snake-silver']." AND password/text()='".$_POST['testing123']."'";
?>

 Bukankah itu terlihat mirip dengan injeksi SQL.
Ya, itu adalah, karena konsep dasar di balik injeksi XPath dan SQL adalah sama karena keduanya merupakan hanya mungkin bila desainer web telah tidak ditangani dengan baik input pengguna dalam kode nya (cara penggunaan query dinamis tidak ditangani dengan benar). Dalam artikel saya sebelumnya tentang hacking situs saya telah memberikan 10 langkah panduan untuk menghentikan injeksi SQL di website. (Baca lebih lanjut di sini)

Sekarang injeksi XPath juga dari dua jenis, teknik di atas apa yang saya telah menjelaskan sekarang disebut Buta XPath injeksi dan satu lainnya disebut Lanjutan XPath Injection (saya akan menjelaskan bahwa dalam tutorial berikutnya). Berikut ini adalah Contoh Buta XPath injeksi username password:
Username: ' or '1' = '1
Password: ' or '1' = '1 
Sekarang mari saya jelaskan apa username di atas menandakan karena kebanyakan dari Anda mungkin tidak mengetahui hal ini. Username atau password di atas akan menghasilkan sebuah query yang outputnya selalu benar yang yang berarti bahwa situs web akan mengotentikasi pengguna bahkan jika username atau password tidak disediakan. Bukankah itu menarik ... yup itu adalah .. Ini hanya kesalahan konyol oleh web designer, sekarang jika mereka tahu tentang exploit ini maka dapat dengan mudah dilindungi.

Itu saja untuk hari ini teman-teman saya ...
Saya harap Anda semua menyukai tutorial ... Jika Anda memiliki pertanyaan atau keraguan berkaitan dengan XPath, Anda dapat meminta dalam bentuk komentar. Saya akan membantu Anda untuk memahami topik.



0 komentar:

Posting Komentar

 

Pengikut