>>  Peta Laman >>  News

BAGAIMANA HENDAK MENGUBAH ADMIN.PHP


#66 - 0--zulkiply--BAGAIMANA HENDAK MENGUBAH ADMIN.PHP--2007-02-07 15:41:09

ball Dulu, saya pernah menulis bagaimana mengubah phpnuke captcha (ruangan Bahasa Inggeris) dan ramai yang meminta saya menulis mengenai "Cara untuk mengubah admin.php?"


Artikel ini tidak berhasrat untuk mengajar anda melakukan hacking PHPNuke tetapi untuk memberikan kawalan keselamatn terhadap nuke anda. Kerana ramai penceroboh menumpukan fail kritikal
ini untuk mencapai matlamat mereka, anda perlu memalsukan fail ini dan menyelamatnya dengan baik.


Baca selanjutnya artikel ini untuk mengetahui bagaimana cara untuk menyelamatkan phpnuke anda. - Malah tatkala di fasa pemasangan lagi, kita telah diberitahu untuk menukar admin.php. Berikut ialah petikan yang diperolehi di beberapa baris fail config.php




# $admin_file: Administration panel filename. "admin" by default for
# "admin.php". To improve security please rename the file
# "admin.php" and change the $admin_file value to the
# new filename (without the extension .php)



Nah ! Tetapi berapa ramai yang telah menukarnya?
Mari kita mulakan.


1) Buka failconfig.php yang berada di root (jika anda belum mengalihkannya).
Kemudian cari baris ini:



$admin_file = "admin";



Tukar dengan nama yang lain, nama yang anda hendakkan fail admin itu dipanggil (hanya anda saja yang tahu), contohnya:



$admin_file = "mawar";



Simpan fail tersebut dengan nama yang serupa iaitu config.php.


2) Buat satu salinan admin.php dan namakan salinan sebagai mawar.php. Keluarkan fail asal admin.php ke tempat - mungkin anda
perlukannya semula jika di dalam proses ini anda ada melakukan kesilapan).


3) Langkah berikut melibatkan beberapa baris di dalam database anda. Jadi sekarang pergi ke mysql dan
cari database serta ubah ikut kehendak anda. Contohnya, di dalam kotak SQL query taipkan ini (jangan lupa tukarkan nama mawar.php dengan nama yang anda telah pilih di no.1):



DELETE from nuke_blocks where bid=2 and bkey='admin';

INSERT INTO nuke_blocks VALUES (2, 'admin', 'Administration', '<strong><big>&middot;</big></strong>
<a href="mawar.php">Administration</a><br>\r\n<strong><big>&middot;</big></strong>
<a href="mawar.php?op=adminStory">NEW Story</a><br>\r\n<strong><big>&middot;</big></strong>
<a href="mawar.php?op=create">Change Survey</a><br>\r\n<strong><big>&middot;</big></strong>
<a href="mawar.php?op=content">Content</a><br>\r\n<strong><big>&middot;</big></strong>

<a href="mawar.php?op=logout">Logout</a>', ', 'l', 2, 1, 0, '985591188', ', ', 2, '0', 'd', 0);



4) Dah siap? Belum lagi. Sekarang pergi ke folder nuke/admin. Terdapat banyak fail di dalam sub-folder. Jom tengok sama-sama.


a) Mulakan dengan subfolder nuke/admin/case
Cuba buka 1 fail di dalam subfolder ini, katakanlah fail case_authors.php
Cari baris



"if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }

Kerana anda telah menamakan fail ini kepada mawar.php, kenyataan itu perlu diubah kepada
if (!eregi("mawar.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }




Simpan.

lakukan dengan cara yang sama terhadap SEMUA fail di dalam subfolder ini.

tetapi anda kemungkinan bertemu dengan pernyataan yang sedikit berbeza seperti:



if ( !defined('ADMIN_FILE') )
{
die("Illegal File Access");
}




Jika demikian, biarkan ia begitu.

b) Sekarang pergi buka pula subfolder nuke/admin/links.


Buka satu fail contohnya links_blocks.php
Cari baris ini:



if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }
if ($radminsuper==1) {
adminmenu("admin.php?op=BlocksAdmin", ""._BLOCKS."", "blocks.gif");
}




Anda tahu apa nak buat sekarang, ya, tukarkan admin.php ke mawar.php

seperti biasa, lakukan ke atas semua fail di dalam subfolder ini.

c) Setelah itu pergi pula ke nuke/admin/modules

Buka pula satu fail di situ contohnya authors.php
cari baris ini:



if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }



Tukar admin.php kepada nama yang anda telah pilih.

Lakukan keatas semua fail di dalam subfolder ini.

Ambil perhatian bahawa anda mungkin telah memasang modul dan modul berkenaan telah mencipta folder subfolder di admin/modules.
Jadi pastikan anda buka satu demi satu fail di dalamnya dan cari admin.php untuk ditukarkan.


5) Kemudian anda buka folder modules/_module_name/admin

Pilih satu subfolder contohnya nuke/modules/Reviews/admin
dan buka satu fail katakanlah index.php
Di situ juga anda akan temui kenyataan



if (!eregi("admin.php", $_SERVER['PHP_SELF'])) { die ("Access Denied"); }



Tukar nama "admin.php" itu.


lakukan kepada setiap fail di dalm setiap subfolder admin di nuke/modules.


6) Sepatutnya telah siap sedia.

Cuba lancarkan fail mawar.php anda dan cuba login.
http://www.yourdomain.com/nuke/mawar.php

Boleh login dan daptkah anda temui admin panel anda?
Tahniah!


7) PERINGATAN


a) jANGAN DEDAHKAN nama fail baru anda terutama diu muka hadapan. jika ada puatan ke admin.php
di menu anda, padam segera ATAU cipta satu fail palsu admin.php untuk memerangkap
mereka yang cuba menceroboh menggunakan admin.php dengan memungut data dan menyimpannya di dalam satu fail log supaya nanti anda mudah
untuk ban mereka.


Contohnya anda boleh memungut data seperti IP, referer, browser dan lain lian-lain untuk di simpan di dalam fail bernama log.html file.

Inilah contoh fail admin.php yang palsu:




<?
//Set the date so we can store it in the text file.
$tdate = date("dS F Y h:i:s A");

//Check if there is a referer
if (!$HTTP_REFERER) { $HTTP_REFERER = "(NONE)"; }
$ip = getenv("REMOTE_ADDR");
$browser=$_SERVER['HTTP_USER_AGENT'];
$page = $_SERVER['REQUEST_URI'];
//Store it in the log.html file ! DONT FORGET TO SET COUNTER.TXT CHMOD 777 !
$fp = fopen("log.html", "a");
$line = "$tdate | IP: $ip | Browser:$browser | Page: $pagen
";
fwrite($fp, $line);
fclose($fp)
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Oops! You are not authorised to view this page
</head>

<body>

<h3>You do not have permission to access this page/directory. [error 401]

<p>... Get out from here!


</body>

</html>





Bila-bila masa anda boleh buka fail log.html untuk melihat senarai penceroboh yang cuba menggunakan
fail admin.php.


8) AKHIRNYA, adalah satu amalan yang baik jika fail config.php diletakkan diluar laluan
Web Server, kemudian cipta satu fail config.php yang baru dengan kenyataan:



<?php include("../config.php"); ?>



SELAMAT BERJAYA.

--comments-->17--7597--16


ATTENTION! You are now viewing the Sitemap!
We strongly suggest you to visit the original website

Search in Web

Valid HTML 4.01 Valid CSS