0

[Write-up][Web – Server] Improper redirect – 15 Points

ສະບາຍດີ! ມື້ນີ້ເຮົາຈະມາເວົ້າເຖິງການຜ່ານໂຈດ Improper redirect ໃນ root-me.org ໝວດ Web – Server.

http://www.root-me.org/en/Challenges/Web-Server/Improper-redirect

ກ່ອນເຮົາຈະໄປຜ່ານໂຈດນີ້ຂໍເວົ້າເຖິງຊ່ວງໂວ່ນີ້ຈັກໜ້ອຍໜຶ່ງ.
(ຂອບໃຈຂໍ້ມູນຈາກ acunetix.com <3)

 ຊ່ອງໂວ່ປະເພດນີ້ເກີດຂຶ້ນເວລາກວດສອບເງື່ອນໄຂແລ້ວໃຫ້ redirect ໄປໜ້າທີ່ກຳນົດ, ຫລາຍຄົນຄົງຈະບໍ່ເຂົ້າໃຈມັນກະປົກກະຕິບໍ່ແມ່ນບໍ? ແລ້ວຈະເປັນຊ່ອງໂວ່ໄດ້ແນວໃດ?

ຄຳຕອບກໍ່ຄືໃນຊ່ວງເວລາກ່ອນທີ່ຈະທຳການກວດສອບເງື່ອນໄຂແລ້ວ redirect ໄປນັ້ນໜ້າເວັບໄດ້ຖືກດຶງມາກຽມເປີດໄວ້ແລ້ວແຕ່ຍັງບໍ່ທັນໄດ້ສະແດງຂຶ້ນໜ້າຈໍເທື່ອ. ເຮັດໃຫ້ເຮົາສາມາດອ່ານຂໍ້ມູນໃນໜ້ານັ້ນໄດ້ໂດຍບໍ່ຕ້ອງມີສິດເປັນ admin.. *-*

ແຕ່ວ່າຊ່ວງເວລາໃນການກວດສອບແລ້ວ redirect ແມ່ນໄວຫລາຍຖ້າເຮົາໃຊ້ browser ທຳມະດາກວດເບິ່ງມັນກໍ່ຈະ redirect ໄປຕາມທີ່ໂປແກມມາ.

ຕົວຢ່າງ ໂຄ໊ດທີ່ເປັນຊ່ອງໂວ່:

 <?php  
 // check if the session is authanticated  
 if (!isset($_SESION["isAdmin"])) {  
 header("Location: ../login.php");  
 }  
 ?>  
 <title>Admin Dashboard</title>  
 <h3>List of Users</h3>  

ສິ່ງທີ່ເຮົາຈະເຮັດກໍ່ຄືໃຊ້ burp suite intercept ແຕ່ລະຂໍ້ມູນທີ່ browser ຈະໂຫລດເຂົ້າມາຈາກ

http://challenge01.root-me.org/web-serveur/ch32/

ຫລັງຈາກເຮົາກົດ forward ໄປຈົນໝົດແລ້ວເຮົາມາສັງເກດເບິ່ງໃນໜ້າ /web-serveur/ch32/ ວ່າເກີດຫຍັງຂຶ້ນ

Tada~ ເຮົາກໍ່ໄດ້ Flag ແລ້ວ

ວິທີແກ້ໄຂຊ່ອງໂວ່ນີ້ຄື ເພີ່ມ exit(); ຫລັງຈາກຄຳສັ່ງ redirect

<?php
// check if the session is authanticated
if (!isset($_SESION["isAdmin"])) {
header("Location: ../login.php");
exit();
}
?>
<title>Admin Dashboard</title>
<h3>List of Users</h3>
 

ຈົບແລ້ວວວ ຂອບໃຈຈຈ

Frankkung

Frankkung

FULLSTACK DEVELOPER - PENETRATION TESTER