Saturday, January 5, 2019

[RootMe] PHP register globals

pada soal ini diberikan sebuah link web yang dimana saya harus menginput password, diberikan juga sebuah clue "It seems that the developper often leaves backup files around..." itu artinya terdapat sebuah file backup dari kode login passwordnya.

saya coba dengan index.php.bak dan ternyata itu berhasil langsung mendownload backupnya, lalu saya buka file backup terdapat kode php, dikode tersebut terdapat function vuln yang bisa digunakan untuk membypass password.
foreach ($superglobals as $superglobal) {
        extract($superglobal, 0 );
    }
function extract() digunakan menggunakan sebuah parameter global seperti $_POST / $_GET menjadi variable, contoh $_GET["dekguh"] = "pingin jadi onnanimos" akan otomatis menjadi $dekguh = "pingin jadi onnanimos" :P.

fokus pada bagian code:
if (( isset ($password) && $password!="" && auth($password,$hidden_password)==1) || (is_array($_SESSION) && $_SESSION["logged"]==1 ) ){
dari kode diatas jadi saya hanya perlu membuat 1 parameter:
 /ch17/?_SESSION[logged]=1
setelah itu enter maka flag akan muncul.

referensi:
 https://davidnoren.com/post/php-extract-vulnerability.html

No comments:

Post a Comment