Dapatkan info setiap update artikel! Subscribe Now!

Cara Patch Bug NoRedirect Admin Login

Kali ini kita akan membahas celah lain pada Admin Login setelah di artikel sebelumnya kita sudah pernah membahas tentang Memperbaiki Celah Bypass Admin Login. Lagi-lagi bisa dibilang bug ini merupakan kesalahan dari Web Programmer atau Web Developernya. Lalu di mana letak kesalahannya? Simak artikelnya dengan baik.

Teknik Noredirect admin login ini dilakukan dengan menggunakan bantuan Add-ons pada Mozilla Firefox yaitu NoRedirect. Caranya pun bisa dibilang cukup gampang. Kita cukup memasukkan URL halaman login admin pada Add-ons NoRedirect lalu menekan tombol add untuk memasukkannya kedalam list Noredirect. Jadi menggunakan Add-ons ini, kita bisa membypass redirect sehingga redirect tidak akan berpengaruh.
addons noredirect
addons noredirect
Agar lebih jelas, lihatlah kode pada dashboard halaman admin di bawah ini.


<?php  
session_start();
if (!isset($_SESSION["login"])) {
	header("Location: login.php");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Halaman Admin</title>
</head>
<body>
	<h1>Welcome Admin Gans!!!</h1>
	<a href="logout.php">Logout</a>
</body>
</html>

Bugnya terletak pada baris kode di bawah ini.


if (!isset($_SESSION["login"])) {
	header("Location: login.php");
}

Kode di atas merupakan pengecekan terhadap admin apakah dia sudah memiliki session atau belum. Jika belum maka akan diredirect ke halaman login. Tentunya cara memperoleh sessionnya harus dengan login secara benar. Redirect ini dilakukan jika ada orang lain yang ingin mencoba mengakses halaman dashboard admin lewat URL tanpa melakukan login yang benar. Jadi penangannya menggunakan redirect ini.

Namun siapa sangka, hal yang seharusnya berguna ini malah justru bisa menjadi celah karena kesalahan dari Web Programmer sendiri. Kesalahannya karena setelah statement fungsi header untuk redirect masih dibiarkan dan tidak diexit untuk memberhentikan kode di bawahnya setelah diredirect. Jadi sebenarnya Add-ons NoRedirect ini memanfaatkan hal tersebut sehingga tetap bisa mengakses halaman dashboard admin tanpa login dengan benar.

Setelah diperbaiki, seharusnya kode di atas menjadi seperti di bawah ini.


if (!isset($_SESSION["login"])) {
	header("Location: login.php");
	exit;
}

Berikan perintah exit pada setiap kode yang menggunakan redirect agar setelah diredirect kode program di bawahnya tidak tereksekusi. Meskipun sebenarnya halaman dashboard adminnya masih bisa diakses namun tidak tampil apa-apa alias blank. Dengan ini, seharusnya website kita sudah aman dari teknik Noredirect admin login ini.

About the Author

Seorang yang suka belajar berbagai hal dan membagikannya ke publik agar bisa tumbuh bersama.

Posting Komentar

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.