SQL Injection Techniques: Extracting Columns and Tables Using Python
Proyek ini adalah alat Python inovatif yang dirancang untuk mengeksplorasi kerentanan SQL Injection dan memanfaatkan kerentanan tersebut untuk mengekstraksi metadata database, termasuk nama tabel dan kolom. Alat ini menggabungkan teknik eksploitasi SQL dengan pemrosesan Python untuk memberikan keluaran yang terstruktur dan mudah dipahami.
Kode ini memanfaatkan berbagai pustaka Python seperti requests
, BeautifulSoup
, dan PrettyTable
untuk mempermudah pengambilan data dari server yang rentan, memformat hasil, dan menampilkan informasi dengan rapi.
1. Key Features
-
Ekstraksi Metadata Database
Alat ini mampu mengekstrak informasi kunci seperti nama database, nama pengguna, versi, direktori data, dan nama host melalui hasil eksploitasi SQL Injection. -
Pendeteksian Struktur Tabel dan Kolom
Alat ini secara otomatis memisahkan nama tabel dan kolom dari data hasil injeksi SQL, sehingga menghasilkan laporan tabel yang terstruktur. -
Visualisasi Data yang Terorganisir
Menggunakan pustakaPrettyTable
, data ditampilkan dalam bentuk tabel yang terstruktur dengan kolom dan baris untuk memudahkan analisis. -
Pemrosesan Data HTML Otomatis
HTML hasil respons server diproses dengan pustakaBeautifulSoup
, yang secara efektif mengekstrak teks untuk analisis lebih lanjut. -
Kesesuaian untuk Pendidikan Keamanan Siber
Alat ini dirancang untuk tujuan pembelajaran dan penelitian keamanan, memberikan wawasan praktis tentang teknik eksploitasi SQL Injection.
2. Explanation of New Features
-
Penggunaan SQL Injection Berdasarkan Parameter Query URL
Kode ini menggunakan parameter URL untuk memasukkan payload SQL Injection, memungkinkan pengguna menyesuaikan serangan mereka berdasarkan target spesifik. -
Ekstraksi Multi-Level Data
Alat ini secara otomatis memetakan data dariinformation_schema
untuk mengeksplorasi tabel dan kolom dengan cara iteratif dan terstruktur. -
Tampilan Metadata Database yang Diperluas
Informasi sepertidatabase()
,user()
,version()
, dan direktori database ditampilkan untuk memberikan wawasan lebih luas tentang lingkungan target.
3. Installation Steps
Untuk menginstal dan menjalankan alat ini, ikuti langkah-langkah berikut:
-
Clone Repository
git clone https://github.com/lamcodeofpwnosec/SQL-Extraction.git cd SQL-Extraction
-
Persyaratan Sistem
Pastikan Anda memiliki Python
3.x
terinstal. -
Instalasi Dependensi
Jalankan perintah berikut untuk menginstal pustaka yang diperlukan:
pip install requests beautifulsoup4 prettytable
-
Konfigurasi URL Target
Edit variabel
url
dalam skrip Python dengan URL target yang mengandung kerentanan SQL Injection.
4. Usage of Features
Setelah instalasi selesai, alat dapat dijalankan langsung menggunakan perintah berikut:
python sql_extraction.py
-
Penggunaannya:
- Skrip akan mengirim permintaan HTTP ke URL target yang berisi payload SQL Injection.
- Data respons akan diproses untuk mengekstrak metadata dan struktur tabel database.
-
Contoh Output Metadata:
=== Database Metadata === +-------------------+-----------------------------------+ | Property | Value | +-------------------+-----------------------------------+ | Database | target_database | | User | root@localhost | | Version | 5.7.33-log | | Hostname | target_host | | Data dir | /var/lib/mysql/ | +-------------------+-----------------------------------+
-
Contoh Output Struktur Tabel:
=== Table: users === +--------------+--------------+ | Column Index | Column Name | +--------------+--------------+ | 1 | id | | 2 | username | | 3 | password | +--------------+--------------+
5. Explanation of Generated Output Files
Proyek ini tidak menghasilkan file output tetapi menyajikan data langsung di terminal dalam format tabel. Untuk menyimpan hasil, Anda dapat mengarahkan output ke file teks menggunakan:
python sql_extraction.py > output.txt
File yang dihasilkan dapat digunakan untuk analisis mendalam lebih lanjut.
Skrip ini sangat cocok untuk penguji penetrasi untuk menghitung basis data & mengekstrak kolom secara efisien. 🚀
Share this recording
Link
Append ?t=30
to start the playback at 30s, ?t=3:20
to start the playback at 3m 20s.
Embed image link
Use snippets below to display a screenshot linking to this recording.
Useful in places where scripts are not allowed (e.g. in a project's README file).
HTML:
Markdown:
Embed the player
If you're embedding on your own page or on a site which permits script tags, you can use the full player widget:
Paste the above script tag where you want the player to be displayed on your page.
See embedding docs for additional options.
Download this recording
You can download this recording in asciicast v2 format, as a .cast file.
DownloadReplay in terminal
You can replay the downloaded recording in your terminal using the
asciinema play
command:
asciinema play 693706.cast
If you don't have asciinema CLI installed then see installation instructions.
Use with stand-alone player on your website
Download asciinema player from
the releases page
(you only need .js
and .css
file), then use it like this:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="asciinema-player.css" />
</head>
<body>
<div id="player"></div>
<script src="asciinema-player.min.js"></script>
<script>
AsciinemaPlayer.create(
'/assets/693706.cast',
document.getElementById('player'),
{ cols: 145, rows: 38 }
);
</script>
</body>
</html>
See asciinema player quick-start guide for full usage instructions.
Generate GIF from this recording
While this site doesn't provide GIF conversion at the moment, you can still do it yourself with the help of asciinema GIF generator utility - agg.
Once you have it installed, generate a GIF with the following command:
agg https://asciinema.org/a/693706 demo.gif
Or, if you already downloaded the recording file:
agg demo.cast demo.gif
Check agg --help
for all available options. You can change font
family and size, select color theme, adjust speed and more.
See agg manual for full usage instructions.