Attacker Vs Developer Website [ Part 1 ]






Hallo setelah beberapa hari tidak aktif di blog krna ada urusan :v

Kali ini gw mau share cerita pendek, bisa dibilang singkat bisa juga tidak hehe :v
Judul dari cerita pendek ini gw ambil dari sebuah seseorang bernama Achmad Ismail dia adalah salah satu admin dari grup Indonesia Defacer Tersakiti Team
Langsung aja ya simak ceritanya dibawah berikut
DIHARAPKAN BACA SAMBIL DI BAWA SANTAI ATAU SEDANG SANTAI, JANGAN BURU BACANYA, SIMAK BAIK BAIK BIAR PAHAM... JADI JANGAN MALAS UNTUK MEMBACA

#DEVELOPER

buat file php
dengan script:




lalu simpan di web/localhost tadi
lalu buka filenya di localhost atau web kamu, silahkan upload shell
dan hasilnya pasti bisa

* PATCHING 1 *
kemudian si developer mempathing script

$target_path="image/";
$target_path = $target_path.basename($_FILES['img']['name']);
if(move_uploaded_file($_FILES['img']['tmp_name'],$target_path)){
echo "the file " . basename($_FILES['img']['name']) . " has been uploaded! ";
}else {
echo "there was an error uploading the file ,please try again!";
}

dengan script "PHP Arbitrary File"
guna menentukan file apa aja yang bisa masuk melalui file upload tersebut
scriptnya ialah :

if($_FILES['img']['type'] != "image/gif") { echo "Sorry, we only allow uploading GIF images"; exit; } $uploaddir = 'image/'; $uploadfile = $uploaddir . basename($_FILES['img']['name']); if (move_uploaded_file($_FILES['img']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "File uploading failed.\n"; }
Sehingga menjadi




#ATTACKER#

Melihat hal itu si attacker pun mencari kelemahan script tersebut kemuian si attacker membaca cara kerja dari script tersebut yakni script tersebut akan meloloskan suatu file yang memiliki content-type "image/gif" selain itu gagal terupload dengan informasi tersebut si attacker lalu membuat sebuah teknik yang memerlukan sedikit bantuan addon semisal tamperdata atau yg sejenis

# bypass 1#

1. install addon tamperdata di firefox
2. shell.php rename jadi shell.php.jpg atau shell.jpg
3. hidupkan tamperdata: tools -> tamper data -> start tamper
4. upload shell.php.jpg tadi -> klik upload -> lalu tamper
5. kemudian cari nama file "shell.php.jpg" lalu ganti dengan shell.php -> ok

hasil: shell pun terupload

#DEVELOPER#
## PATCHING2 ##

Melihat script uploadnya bisa di bypass attacker si developer tadi memutar otaknya mencari cara patchingnya akhirnya ia menemukan cara yaitu dengan memanfaatkan system blacklist yakni membatasi jenis2 file yang sudah di blacklist cara patchingnya adalah dengan cara mengganti script:
if($_FILES['img']['type'] != "image/gif") { echo "Sorry, we only allow uploading GIF images"; exit; } $uploaddir = 'image/'; $uploadfile = $uploaddir . basename($_FILES['img']['name']); if (move_uploaded_file($_FILES['img']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "File uploading failed.\n"; }
Dengan script blacklist
$blacklist = array(".php",".html",".shtml",".phtml", ".php3", ".php4"); foreach ($blacklist as $item) { if(preg_match("/$item\$/", $_FILES['img']['name'])) { echo "We do not allow uploading PHP files\n"; exit; } } $uploaddir = 'image/'; $uploadfile = $uploaddir . basename($_FILES['img']['name']); if (move_uploaded_file($_FILES['img']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "File uploading failed.\n"; }
Sehingga menjadi



#ATTACKER#

dengan script di atas ketika sang attacker mengupload shellnya dengan cara ## bypass 1 ## maka attacker mendapatkan pesan bahwa file nya tidak bisa terupload.

## bypass 2 ##

Dengan kegagalan ini sang atacker pun kembali menganalisa script yang ada di atas dan menyimpulkan bahwa ketika shell di tamper dengan nama shell.php bisa error dikarenakan ektensi .php telah masuk daftar blacklist sehingga akan menjadi error melihat hasil kesimpulan tersebut si attacker pun mencoba serangan yakni mencoba mengupload dengan extensi acak untuk meyakinkan bahwa ini benar2 script blacklist

kali ini si attacker mencoba mengupload dengan extensi .173 ( namanya juga acak :v ) dan berhasil dengan ini si attacker yakin bahwa scrpt diatas adalah script blacklist dan script blacklist tersebut mempunyai kelemahan dimana dia hanya memblacklist jenis file yang ada pada array jadi extensi .php ada dalam daftar array tersebut si attacker pun memulai bypass nya yakni dengan mencoba mengupload dengan extensi .php3 .php4 .php5 .PHP .pHp dan lain2


alhasil si attacker pun kembali sukses mengupload shell nya :D


#DEVELOPER#
#PATCHING 3#

Tak berhenti disitu persaingan sang develop dan attacker masih berlanjut mengetahui kalau script blacklistnya masih mampu ditembus kemudian sang developer kembali berfikir keras memikirkan bagaimana patchingnya kemudian dia menemukan cara yakni dengan script mime lalu dia mengubah scriptnya menjadi


Cara kerja script mime ialah dimana dia hanya mengijinkan file yang mempunyai header jpg atau gif
guna meloloskan file agar bisa di upload
dengan ini si attacker pun tak bisa mengupload shellnya walaupun di rename jpg karena tak mempunyai header image

#ATTACKER#

Dengan mengetahui cara kerja tersebut sang attacker pun memulai serangannya
kali ini dia hanya menyisipkan kata
GIF89a;
pada awal script
seperti pada kasus kang hmei7 pada shell JCE (http://www.joshpate.com/…/how-to-fix-hacked-by-hmei7-on-jo…/)

sehingga script menjadi:

GIF89a;
<?php
script shell 
?>

Karena sang attacker memanfaatkan comand hearder ( GIF89a; ) guna memanipulasi script mime agar mengidentifikasikan script shell sebagai image, setelah di rename jadi .gif dan di tamper alhasil sang attacker pun kembali berhasil menembus script mime


#DEVELOPER#
#PATCHING 4#

Tak tinggal diam ketika sang develop mengetahui script mimenya berhasil ditembus
kemudian dia mulai berfikir keras dan mengumpulkan bahan2 guna meramu script
yang sulit ditembus oleh sang attacker

dan akhinya dia pun kembali mempatch scriptnya dengan memodifikasinya menjadi:


jujur sampai sekarang saya belum bisa nembus script patch yang terakhir diatas heheheh selesailah sampai disini cerita persaingan makhluk dibalik monitor namun dari cerita panjang ini kita pasti akan mendapat banyak pelajaran dan ilmu yang baru heheh sengaja saya buat cerita agar tidak terlalu kaku ketika kita membaca tutorial xixixi

"jangan pernah takut pada kesusahan tapi takutlah pada kemudahan, karena ketika kita mampu menghadapi kesusahan pastilah kita siap menghadapi kemudahan, namun jikalau kita mampu menghadapi kemudahan belum tentu kita siap menghadapi kesusahan"

semoga bermanfaat
//nikmati prosesnya kawan karena ini hanya sebuah cerita :V yang berasal dari kisah nyata mungkin scriptnya agak berbeda namun bug dan bypassnya sama :v #ceritalama

Nah begitu kurang lebih cerita nya
Tunggu part 2 nya ya wkwk

Ok terima kasih sudah berkunjung :D
ordinary people

Post a Comment

© Troll Your System. All rights reserved. Premium By Raushan Design