極客大挑戰 2019 PHP

2021-10-06 08:48:21 字數 924 閱讀 5962

開啟以後,是三個php原始碼,其中最重要的是class.php,**如下:

<?php 

include 'flag.php';

error_reporting(0);

class name

function __wakeup()

function __destruct()

if ($this->username === 'admin') else

}}?>

看了一下,這個其實是個反序列化題目。指令碼如下:

結果如下,但是那些<0x00>複製不下來,用%00代替。

o:4:"name":2:

把這個當引數上傳,無果。

為什麼呢,因為原始碼裡面有乙個__wakeup()魔術方法。繞過__wakeup()的方法為:將那串字元裡面的2換為3即可。

加上%00是因為username和password都是私有變數,變數中的類名前後會有空白符,而複製的時候會丟失。

所以最後的引數是:o:4:"name":3:

極客大挑戰 2019 PHP

剛進入 我們可以看到這樣的乙個介面 根據內容提示,有備份 的習慣 日常後台掃瞄,發現有www.zip檔案,我們進行解壓得到 看到flag.php開啟檢視,發現沒有什麼有用的資訊。我們開啟index.php看看 我們可以看到通過get方式傳入引數select,並對引數select進行反序列化。接下來,...

極客大挑戰 2019 PHP

開啟後,按照提示找備份檔案 用御劍沒掃到東西,換個工具dirsearch 找到備份檔案 解壓檔案,檢視flag,假的。審計一下這幾個的 吧 flag.php裡的 flag 給了個值syc,好像沒啥用。外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img jirqepnc 1612329...

極客大挑戰 2019 PHP

這不反手就試試www.zip?class.php class name function wakeup function destruct if this username admin else 這裡要注意的是兩個變數都是private型 private 宣告的字段為私有字段,只在所宣告的類中可見,...