Skip to content
Tags

PHP - Filters

Estimated time to read: 3 minutes

May 09, 2023


Tài nguyên của challenge này tại https://www.root-me.org/en/Challenges/Web-Server/PHP-Filters

Link challenge này tại http://challenge01.root-me.org/web-serveur/ch12/

Tổng quan

Trong challenge này, mục tiêu của ta là lấy được password admin.

Kịch bản tấn công

Bước 1: Kiểm tra và khai thác website

Điều tiên, website này cung cấp cho ta 2 trang con (1 trang login và 1 trang home). Ta sẽ thử tiêm payload vào url để xem chuyện gì xảy ra

Image title

Hình ảnh website challenge

Ta thấy rằng, website xuất hiện thông báo lỗi rằng không chấp nhận đường dẫn đến /etc/passwd. Ta sẽ thử dùng wrapper để get sourcecode trong challenge

Image title

Hình ảnh website challenge

Ta được, challenge include cái <?php include("ch12.php");?> vào website. Tiếp theo, ta tiến hành xem sourcecode

Image title

Hình ảnh website challenge

Ta được sourcecode như sau.

<?php

$inc="accueil.php";
if (isset($_GET["inc"])) {
    $inc=$_GET['inc'];
    if (file_exists($inc)){
    $f=basename(realpath($inc));
    if ($f == "index.php" || $f == "ch12.php"){
        $inc="accueil.php";
    }
    }
}

include("config.php");


echo '
  <html>
  <body>
    <h1>FileManager v 0.01</h1>
    <ul>
    <li><a href="?inc=accueil.php">home</a

Well, có sourcecode rồi, ta thấy rằng logic xử lí trong sourcecode cũng khá dễ hiểu, ta sẽ tiến hành xem code file config.php

Image title

Hình ảnh website challenge

Sau khi decode, ta được

1
2
3
<?php
$username="admin";
$password="DAPt9D2mky0APAF";

Yeahhh, flag cần tìm là DAPt9D2mky0APAF

Flag

DAPt9D2mky0APAF

Comments